Jestem nowy w PowerShell, ale czytałem instrukcje i trochę ćwiczyłem. Moim celem jest wyświetlenie listy wszystkich użytkowników we wszystkich grupach zabezpieczeń pod określoną ścieżką. Znalazłem sposób, aby to zrobić:
get-adgroup -Filter * -SearchBase "OU=Groups,DC=corp,DC=ourcompany,DC=Com" | %{Get-ADGroupMember $_.name} | ft name
Problem w tym, że nie widzę nazwy grupy. Dostaję tylko grupę użytkowników. Byłoby miło, gdyby ktoś mógł mi powiedzieć, jak wyświetlić nazwę grupy, zanim wszyscy członkowie tej grupy znajdą się na liście. Dzięki.
active-directory
powershell
groups
Alec T.
źródło
źródło
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
możesz również uzyskać to, czego szukasz. Odpowiedź Ryana jest wciąż lepsza, ale to jedna linia, jeśli chcesz.Odpowiedzi:
Gimme the codes!
uprawnienia, aktywuj!Chodzi o to, że nie spiesz się i podziel go na etapy. Wiem, że fajnie jest postarać się, aby wszystko i zlew kuchenny pasowały do jednej wyściółki z Powershell, ale w żadnym wypadku nie jest to wymagane.
Kilka uwag:
Nie musisz tego robić,
Get-ADGroupMember
jeśli zbierzesz właściwość Members w początkowym poleceniuGet-ADGroup
cmdlet. Dobrą rzeczą jest to, że zmniejsza o połowę liczbę połączeń, które należy wykonać w AD, co powinno przyspieszyć działanie skryptu i zmniejsza obciążenie kontrolera domeny.$ G.Members wyświetli wszystkich członków grupy $ G ... w Powershell 3. W Powershell 2 nadal może być konieczne umieszczenie innego Foreach w Foreach, aby wyliczyć członków grupy. ( Yo dawg, słyszałem, że lubisz pętle ... )
Używam
Write-Host
tutaj, co jest obrzydliwe. Nigdy nie powinieneś używaćWrite-Host
. Zamiast tego powinieneś budować i generować obiekty, a nie tekst, ale to był zupełnie inny temat i byłem zbyt leniwy, aby to zrobić w przypadku tej odpowiedzi.źródło
Oto o wiele lepsze rozwiązanie. Spowoduje to umieszczenie wszystkiego w 3-kolumnowym pliku CSV z nazwą grupy, nazwą użytkownika i nazwą konta Sam. O wiele łatwiej jest dowiedzieć się, w której grupie jest ktoś, gdy w grupie jest 400 użytkowników, ponieważ nie trzeba przewijać.
źródło
Musiałem dodać
.name
po,$group
aby ta praca dla mnie działała.źródło
Jeśli kiedykolwiek napotkasz
Size Limit
problem z grupami zawierającymi więcej niż 5000 członków, możesz zmienić jeden wiersz w następujący sposób:źródło
Oto skrypty, które eksportują wszystkie grupy w jednostce organizacyjnej do osobnego pliku dla każdej grupy z nazwą i opisem grupy. Jeśli ktoś tego chce ...
źródło