Gimme the codes!
शक्तियां, सक्रिय करें!
$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
}
बिंदु जा रहा है, बस अपना समय लें और इसे चरणों में तोड़ दें। मुझे पता है कि सब कुछ प्राप्त करने की कोशिश करना मजेदार है और रसोई सिंक पॉवर्सशेल के साथ एक-लाइनर में फिट होने के लिए, लेकिन यह किसी भी तरह से आवश्यक है।
कुछ नोट:
Get-ADGroupMember
यदि आपको प्रारंभिक Get-ADGroup
Cmdlet में सदस्यों की संपत्ति एकत्र करने की आवश्यकता नहीं है । इसके बारे में अच्छी बात यह है कि यह आपके द्वारा AD को किए जाने वाले कॉल की मात्रा को आधा कर देता है, जिससे आपकी स्क्रिप्ट को तेज़ी से चलना चाहिए, और यह डोमेन नियंत्रक पर बोझ को कम करता है।
$ G.Members समूह के सभी सदस्यों को $ G ... Powershell 3 में प्रदर्शित करेगा। Powershell 2 में, आपको अभी भी समूह सदस्यों के माध्यम से गणना करने के लिए Foreach के अंदर एक और Foreach लगाने की आवश्यकता हो सकती है। ( यो डॉग, मैंने सुना है आपको लूप पसंद है ... )
मैं Write-Host
यहां उपयोग करता हूं , जो स्थूल है। आपको वास्तव में कभी भी उपयोग नहीं करना चाहिए Write-Host
। इसके बजाय, आपको वस्तुओं का निर्माण और आउटपुट करना चाहिए, न कि टेक्स्ट, लेकिन यह एक पूरी तरह से अन्य विषय था और मैं इस उत्तर के लिए बहुत आलसी था।
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
तो आपको वह मिल सकता है जो आप के बाद है। रयान का जवाब अब भी बेहतर है, लेकिन अगर आप चाहें तो यह एक ही लाइन है।