Gimme the codes!
güçler, etkinleştirin!
$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
}
Mesele şu ki, sadece zaman ayırın ve adımlara ayırın. Her şeyi ve mutfak lavabosunu Powershell ile bir astar içine sığdırmaya çalışmanın eğlenceli olduğunu biliyorum, ama kesinlikle gerekli değil.
Birkaç not:
Get-ADGroupMember
İlk Get-ADGroup
Cmdlet'te Members özelliğini toplarsanız bunu yapmanız gerekmez . Bununla ilgili iyi bir şey, AD'ye yapmanız gereken çağrıların sayısını yarıya indirir, bu da komut dosyanızın daha hızlı çalışmasını sağlar ve etki alanı denetleyicisindeki yükü kolaylaştırır.
$ G.Üyeler Powershell 3'te $ G ... grubunun tüm üyelerini görüntüler. Powershell 2'de, yine de grup üyeleri arasında numaralandırmak için Foreach'ın içine başka bir Foreach koymanız gerekebilir. ( Hey, seni döngüler gibi duydum ... )
Kullandığım Write-Host
brüt olan burada. Asla gerçekten kullanmamalısınız Write-Host
. Bunun yerine, metin değil, nesneler inşa etmeli ve çıktı almalısınız, ama bu başka bir konuydu ve bu cevap için bunu yapmak için çok tembeltim.
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
o zaman peşinde olduğunuz şeyi de alabilirsiniz. Ryan'ın cevabı hala daha iyi, ama isterseniz tek bir satır.