Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल के साथ सक्रिय निर्देशिका समूहों का प्रबंधन

सक्रिय निर्देशिका उपयोगकर्ता और कंप्यूटर (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"="mundmins@woshub.com";"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 $_}

पिछले लेख में, हमने एक पावरशेल स्क्रिप्ट दिखाई थी जो आपको एक उपयोगकर्ता से AD समूह सदस्यता की प्रतिलिपि बनाने और समूहों की समान सूची में दूसरे को जोड़ने की अनुमति देती है।

आप 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}

आप ऑन-प्रिमाइसेस सक्रिय निर्देशिका (Azure AD के विपरीत) में गतिशील उपयोगकर्ता समूहों का उपयोग नहीं कर सकते। हालांकि, आप एक शेड्यूल्ड पावरशेल स्क्रिप्ट बना सकते हैं जो 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"="munadmins@woshub.com";"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

हटाए गए समूहों (और अन्य AD ऑब्जेक्ट) को सक्रिय निर्देशिका रीसायकल बिन से पुनर्स्थापित किया जा सकता है:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*MunSales*' } –IncludeDeletedObjects| Restore-ADObject –verbose


  1. सक्रिय निर्देशिका डोमेन नाम का नाम कैसे बदलें?

    इस संक्षिप्त लेख में, हम आपको दिखाएंगे कि test.com से किसी Active Directory डोमेन नाम को ठीक से कैसे बदला जाए करने के लिए resource.loc . वास्तव में, सक्रिय निर्देशिका डोमेन का नाम बदलना सबसे अच्छा विचार नहीं है। बड़े और जटिल AD इन्फ्रास्ट्रक्चर में, उपयोगकर्ताओं, कंप्यूटरों और सर्वरों को एक नए डोमेन

  1. आरएसएटी स्थापित किए बिना पावरशेल सक्रिय निर्देशिका मॉड्यूल तैनात करें

    पिछले लेखों में से एक में हमने दिखाया था कि प्रत्येक एडी कंप्यूटर ऑब्जेक्ट के गुणों में वर्तमान लॉग इन उपयोगकर्ता जानकारी को सहेजने के लिए जीपीओ लॉगऑन स्क्रिप्ट में सेट-एडीकंप्यूटर सीएमडीलेट का उपयोग कैसे करें। टिप्पणीकारों में से एक ने यथोचित रूप से नोट किया कि ऐसा करने के लिए, आपको उन सभी उपयोगकर्

  1. पावरशेल के साथ एक्सेल फाइल में डेटा पढ़ें और लिखें

    इस लेख में हम दिखाएंगे कि एक्सेल वर्कशीट से सीधे पावरशेल स्क्रिप्ट से डेटा कैसे पढ़ना और लिखना है। आप एक्सेल का उपयोग पावरशेल के साथ कंप्यूटर, सर्वर, इंफ्रास्ट्रक्चर, एक्टिव डायरेक्ट्री आदि पर विभिन्न रिपोर्ट्स को इन्वेंटरी बनाने और जेनरेट करने के लिए कर सकते हैं। आप एक अलग COM ऑब्जेक्ट (घटक ऑब