Gimme the codes!
kekuatan, aktifkan!
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=Groups,DC=corp,DC=ourcompany,DC=Com"
Foreach($G In $Groups)
{
Write-Host $G.Name
Write-Host "-------------"
$G.Members
}
Intinya, luangkan waktu Anda dan bagikan menjadi beberapa langkah. Saya tahu bahwa menyenangkan untuk mencoba mendapatkan segalanya dan wastafel dapur agar sesuai dengan satu-liner dengan Powershell, tetapi itu sama sekali tidak diperlukan.
Beberapa catatan:
Anda tidak perlu melakukannya Get-ADGroupMember
jika Anda mengumpulkan properti Anggota di Get-ADGroup
Cmdlet awal . Hal yang baik tentang ini adalah ia membagi dua jumlah panggilan yang harus Anda buat ke AD, yang seharusnya membuat skrip Anda berjalan lebih cepat, dan itu meringankan beban pada kontroler domain.
$ G. Anggota akan menampilkan semua anggota grup $ G ... di Powershell 3. Di Powershell 2, Anda mungkin masih perlu menempatkan Foreach lain di dalam Foreach di sana untuk menghitung melalui anggota grup. ( Yo dawg, aku mendengar kamu suka loop ... )
Saya menggunakan di Write-Host
sini, yang kotor. Anda seharusnya tidak pernah benar-benar menggunakannya Write-Host
. Alih-alih, Anda seharusnya membangun dan mengeluarkan objek, bukan teks, tapi itu adalah topik lain dan saya terlalu malas untuk melakukannya untuk jawaban ini.
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
maka Anda mungkin mendapatkan apa yang Anda cari juga. Jawaban Ryan masih lebih baik, tetapi itu satu baris jika Anda menginginkannya.