सक्रिय निर्देशिका उपयोगकर्ता और कंप्यूटर (ADUC) ग्राफिकल स्नैप-इन सक्रिय निर्देशिका में सुरक्षा समूहों के प्रबंधन के लिए एकमात्र उपकरण नहीं है। आप अपने सक्रिय निर्देशिका डोमेन में उपयोगकर्ता समूहों के दैनिक प्रबंधन के लिए साधारण पावरशेल कमांड का उपयोग कर सकते हैं। इस लेख में, हम देखेंगे कि AD में एक नया समूह बनाने के लिए PowerShell का उपयोग कैसे करें, इसमें उपयोगकर्ताओं को जोड़ें (या हटाएं), समूह उपयोगकर्ताओं की सूची प्रदर्शित/निर्यात करें, और अन्य उपयोगी कमांड जो अक्सर AD को प्रशासित करते समय उपयोग किए जाते हैं समूह।
AD समूहों को प्रबंधित करने के लिए, आप Windows PowerShell के लिए सक्रिय निर्देशिका मॉड्यूल का उपयोग कर सकते हैं। RSAT-AD-PowerShell मॉड्यूल Windows सर्वर के सभी संस्करणों में उपलब्ध है (Windows Server 2008R2 से शुरू होकर), और इसे Windows 10 और Windows 11 डेस्कटॉप पर RSAT सुविधा के रूप में स्थापित किया जा सकता है।
जाँच करें कि AD मॉड्यूल वर्तमान पॉवरशेल सत्र में लोड है या नहीं:
Get-Module -Listavailable
जैसा कि आप देख सकते हैं, ActiveDirectory मॉड्यूल लोड है। यदि नहीं, तो इस आदेश का उपयोग करके इसे आयात करें:
Import-Module ActiveDirectory
आइए उन PowerShell cmdlets को सूचीबद्ध करें जो आपको AD समूहों को प्रबंधित करने की अनुमति देते हैं:
Get-Command -Module ActiveDirectory -Name "*Group*"
11 cmdlets उपलब्ध हैं:
- एडी-ग्रुप सदस्य जोड़ें
- ऐड-एडीप्रिंसिपलग्रुपमेंबरशिप
- ADAखाता प्राधिकरण समूह प्राप्त करें
- गेट-एडीग्रुप
- ADGroupसदस्य प्राप्त करें
- ADPप्रिंसिपलग्रुपसदस्यता प्राप्त करें
- नया-विज्ञापन समूह
- निकालें-ADGroup
- निकालें-ADGroupसदस्य
- निकालें-ADPrincipalGroupMembership
- सेट-एडीग्रुप
नया-ADGroup:पावरशेल के साथ एक नया विज्ञापन समूह बनाना
नए-ADGroup का उपयोग करके निर्दिष्ट सक्रिय निर्देशिका कंटेनर (OU) में एक नया सुरक्षा समूह बनाएं आदेश:
New-ADGroup "TestADGroup" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupScope Global -PassThru –Verbose
आप विवरण . का उपयोग कर सकते हैं और प्रदर्शन नाम समूह विवरण और प्रदर्शन नाम निर्दिष्ट करने के लिए विशेषताएँ।
आप ग्रुपस्कोप . का उपयोग कर सकते हैं निम्न प्रकार के समूहों में से एक सेट करने के लिए पैरामीटर कर सकते हैं:
- 0 =डोमेनलोकल
- 1 =वैश्विक
- 2 =यूनिवर्सल
आप निम्न प्रकार से एक वितरण समूह बना सकते हैं:
New-ADGroup "TestADGroup-Distr" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupCategory Distribution -GroupScope Global -PassThru –Verbose
कोड>
AD समूह बनाते समय, आप कोई भी विशेषता भर सकते हैं। विभिन्न समूह विशेषताओं के मूल्यों को सेट करने का सबसे आसान तरीका हैशटेबल के माध्यम से है:
$attrs = @{"mail"="[email protected]";"displayname"="ALL Munich Admins"}
New-ADGroup -Name MUNAdmins -GroupScope Global -OtherAttributes $attrs
ऐड-AdGroupMember के माध्यम से उपयोगकर्ताओं को सक्रिय निर्देशिका में जोड़ना
आप Add-AdGroupMember . का उपयोग करके किसी सक्रिय निर्देशिका समूह में उपयोगकर्ताओं को जोड़ सकते हैं सीएमडीलेट। आइए दो उपयोगकर्ताओं को नए समूह में जोड़ें:
Add-AdGroupMember -Identity TestADGroup -Members user1, user2
यदि आपको एक समूह में बड़ी संख्या में उपयोगकर्ताओं को एक साथ जोड़ने की आवश्यकता है, तो आप उपयोगकर्ता नामों की सूची को CSV फ़ाइल में सहेज सकते हैं, फिर इस फ़ाइल को PowerShell में आयात कर सकते हैं और प्रत्येक उपयोगकर्ता को एक साधारण PowerShell स्क्रिप्ट का उपयोग करके समूह में जोड़ सकते हैं।
CSV फ़ाइल का प्रारूप इस प्रकार होना चाहिए (उपयोगकर्ताओं को उपयोगकर्ताओं के साथ एक पंक्ति में सूचीबद्ध किया जाना चाहिए कॉलम हेडर के रूप में)।
Import-CSV .\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity ‘TestADGroup’ -members $_.users}
एक समूह (ग्रुपएक्स) के सभी सदस्यों को प्राप्त करने और उन्हें दूसरे समूह (ग्रुपवाई) में जोड़ने के लिए, इस कमांड का उपयोग करें:
Get-ADGroupMember “GroupX” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “Group-Y” -Members $_}
यदि आपको सभी नेस्टेड समूहों के सदस्यों को एक नए समूह (पुनरावर्ती) में कॉपी करने की आवश्यकता है, तो यह कमांड चलाएँ:
Get-ADGroupMember -Identity “GroupX” -Recursive | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “GroupY” -Members $_}
आप Windows2016Forest स्कीमा और नए के साथ सक्रिय निर्देशिका में अस्थायी (समय-आधारित) समूह सदस्यता सुविधा का उपयोग कर सकते हैं। किसी उपयोगकर्ता को अस्थायी रूप से AD समूह में जोड़ने के लिए (उदाहरण के लिए, 1 घंटे के लिए), कमांड चलाएँ:
$ttl = New-TimeSpan -Minutes 60
Add-ADGroupMember -Identity "Domain Admins" -Members j.lennon -MemberTimeToLive $ttl
एक घंटे के बाद, इस उपयोगकर्ता को इस सुरक्षा समूह से स्वचालित रूप से हटा दिया जाएगा।
निकालें-ADGroupMember:PowerShell के साथ AD समूह से उपयोगकर्ताओं को निकालना
AD समूह से उपयोगकर्ताओं को निकालने के लिए, निकालें-ADGroupMember . का उपयोग करें सीएमडीलेट। आइए दो उपयोगकर्ताओं को समूह से हटा दें:
Remove-ADGroupMember -Identity TestADGroup -Members user1, user2
उपयोगकर्ता को हटाने की पुष्टि करें:
यदि आपको CSV फ़ाइल से उपयोगकर्ताओं की सूची के अनुसार किसी समूह से उपयोगकर्ताओं को हटाना है, तो इस आदेश का उपयोग करें:
Import-CSV .\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity ‘TestADGroup’ -members $_.users}
Add-ADGroupMember
का उपयोग करके किसी समूह से उपयोगकर्ताओं को स्वचालित रूप से जोड़ या हटा देगी। और Remove-ADGroupMember
सीएमडीलेट। पावरशेल के साथ सक्रिय निर्देशिका में गतिशील उपयोगकर्ता समूह बनाने के तरीके के बारे में और जानें। Get-ADGroup के साथ सक्रिय निर्देशिका समूह ढूंढें
गेट-एडीग्रुप cmdlet आपको AD डोमेन समूह के बारे में जानकारी प्राप्त करने में मदद करेगा:
Get-ADGroup 'TestADGroup'
यह कमांड समूह की मुख्य विशेषताओं (DN, समूह प्रकार, नाम, SID) के बारे में जानकारी प्रदर्शित करता है। सभी समूह विशेषताओं के मान प्रदर्शित करने के लिए, निम्न आदेश चलाएँ:
Get-ADGroup 'TestADGroup' -properties *
जैसा कि आप देख सकते हैं, ऐसी विशेषताएँ, जैसे समूह निर्माण और संशोधन का समय, विवरण, आदि अब प्रदर्शित होती हैं।
आप पैटर्न के आधार पर AD में समूहों को खोजने के लिए Get-ADGroup cmdlet का उपयोग कर सकते हैं। उदाहरण के लिए, निम्न आदेशों का उपयोग उन सभी विज्ञापन समूहों को खोजने के लिए किया जा सकता है जिनमें व्यवस्थापक वाक्यांश शामिल है उनके नाम पर:
Get-ADGroup -LDAPFilter “(name=*admins*)” | Format-Table
या:
Get-ADGroup -Filter {name -like "*admins*"} -Properties Description,info | Select Name,samaccountname,Description,info
Get-ADGroup का उपयोग करके, आप समूह के सदस्यों की सूची प्राप्त कर सकते हैं (सदस्यों में संग्रहीत) विशेषता):
Get-ADGroup -Identity "Domain Admins" -Properties members | Select-Object -ExpandProperty members
हालांकि, Get-ADGroupMember . का उपयोग करना कहीं अधिक सुविधाजनक है समूह सदस्यता प्राप्त करने के लिए cmdlet।
Get-ADGroupMember:सक्रिय निर्देशिका समूह के सदस्यों को कैसे प्राप्त करें और निर्यात करें?
Get-ADGroupMember cmdlet आपको AD समूह के सदस्य प्राप्त करने देता है। ये उपयोगकर्ता, कंप्यूटर, अन्य समूह या प्रबंधित सेवा खाते (MSA/gMSA) हो सकते हैं।
Get-ADGroupMember 'TestADGroup'
परिणामों में केवल उपयोगकर्ता नाम प्रदर्शित करने के लिए, दौड़ें:
Get-ADGroupMember 'TestADGroup'| ft name
यदि इस समूह में अन्य डोमेन समूह शामिल हैं, तो पुनरावर्ती . का उपयोग करें सभी नेस्टेड समूहों सहित सदस्यों की पूरी सूची प्रदर्शित करने के लिए पैरामीटर।
Get-ADGroupMember ADadmins -recursive| ft name
एक विशिष्ट समूह के सदस्य होने वाले खातों की सूची को CSV फ़ाइल (एक्सेल में आगे उपयोग के लिए) में निर्यात करने के लिए, निम्न कमांड चलाएँ:
Get-ADGroupMember 'ADadmins' -recursive| ft samaccountname| Out-File c:\PS\ADadminsList.csv
आप किसी समूह में उपयोगकर्ताओं के बारे में जानकारी को टेक्स्ट फ़ाइल में निर्यात कर सकते हैं। Get-ADUser cmdlet का उपयोग उपयोगकर्ता की विस्तारित विशेषताएँ प्राप्त करने के लिए किया जाता है। उदाहरण के लिए, खाते के नाम के अलावा, आप समूह के उपयोगकर्ताओं के UserPrincipalName, स्थिति और फ़ोन नंबर प्रदर्शित कर सकते हैं:
Get-ADGroupMember -Identity ADadmins -recursive| foreach { Get-ADUser $_ -properties title, OfficePhone|Select-Object title, OfficePhone }
आप इस तरह समूह में उपयोगकर्ताओं की संख्या गिन सकते हैं:
(Get-ADGroupMember -Identity 'domain admins').Count
किसी विशिष्ट OU में रिक्त समूहों की सूची प्राप्त करने के लिए, इस आदेश का उपयोग करें:
Get-ADGroup -Filter * -Properties Members -searchbase “OU=NY,OU-US,DC=corp,dc=woshub,DC=com” | where {-not $_.members} | select Name
Get-ADGroupMember cmdlet का उपयोग एक साधारण पावरशेल स्क्रिप्ट बनाने के लिए किया जा सकता है जो एक व्यवस्थापक को सूचित करती है कि किसी ने एक विशिष्ट विज्ञापन समूह में एक नया उपयोगकर्ता जोड़ा है।
सेट-ADGroup:सक्रिय निदेशक समूह विशेषताओं को संशोधित करना
सेट-ADGroup cmdlet आपको किसी भी सक्रिय निर्देशिका समूह के गुणों (विशेषताओं) को बदलने देता है। उदाहरण के लिए, आप किसी समूह का विवरण और नाम बदल सकते हैं:
Set-ADGroup -Identity MunAdmins -Description “Munich Admins Group”
या:
Get-ADGroup -Identity MunAdmins | Set-ADGroup -Description “Munich Admins Group”
Exchange GAL से किसी विशिष्ट समूह को छिपाएँ:
Set-ADGroup –id MunAdmins -replace @{hideDLMembership=$true}
आप एक साथ कई समूह विशेषताओं को बदल सकते हैं। हैशटेबल का उपयोग करके परिवर्तनों की सूची सेट करना सुविधाजनक है:
$attrs = @{"mail"="[email protected]";"displayname"="ALL MUN Admins"}
Set-ADGroup -Identity MunAdmins –Add $attrs
आप
get-adgroup munadmins -Properties *
के साथ AD समूह विशेषताओं की एक सूची प्राप्त कर सकते हैं या ADUC कंसोल में विशेषता संपादक टैब से। निकालें-ADGroup:PowerShell का उपयोग करके सक्रिय निर्देशिका में किसी समूह को कैसे हटाएं?
सक्रिय निर्देशिका में समूहों को निकालने के लिए, निकालें-ADGroup . का उपयोग करें सीएमडीलेट:
Remove-ADGroup -Identity MunSales
किसी समूह को हटाते समय, आपको हटाने की पुष्टि करने के लिए कहा जाता है। निष्कासन पुष्टिकरण अक्षम करने के लिए, पुष्टि करें जोड़ें स्विच करें:
Remove-ADGroup -Identity MunSales –Confirm:$false
Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*MunSales*' } –IncludeDeletedObjects| Restore-ADObject –verbose