कैसे शक्तियाँ के साथ सक्रिय निर्देशिका उपयोगकर्ता खाता बनाने के लिए


19

मैं लगातार अनुसंधान और विकास वातावरण स्थापित कर रहा हूं, जिनके लिए सक्रिय निर्देशिका खातों की आवश्यकता होती है। चूंकि हम इन वातावरणों को पृथक नेटवर्क में रखते हैं, इसलिए प्रत्येक वातावरण को अपनी सक्रिय निर्देशिका की आवश्यकता होती है। मैं पॉवरशेल का उपयोग करके एक नया सक्रिय निर्देशिका खाता कैसे बना सकता हूं।

जवाबों:


19

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

New-ADUser -SamAccountName nnn2 -Name "nnn2" -UserPrincipalName nnn2@jj -AccountPassword (ConvertTo-SecureString -AsPlainText "somePassword" -Force) -Enabled $true -PasswordNeverExpires $true -Path 'CN=Users,DC=jjdomain,DC=net'

यदि आप किसी विश्वसनीय डोमेन में उपयोगकर्ता बनाना चाहते हैं, तो ऊपर दिए गए आदेश में -server dns.domain जोड़ें


1
यह v2- विशिष्ट है। रोब, क्या आप v1 या v2 का उपयोग कर रहे हैं?
डग चेस

4
"PasswordNeverExpires $ true" !!!!!! :-)
पोसका

यदि आपके पास यह नहीं है तो आपको PowerShell मॉड्यूल की आवश्यकता है:
उत्तर-

1
add-windowsfeature rsat-ad-powershell; ipmo activedirectory
नॉर्थबेन

6

मैं क्वेस्ट के AD cmdlets की जाँच करने की सलाह दूंगा:

http://www.quest.com/powershell/activeroles-server.aspx

एक नया विज्ञापन उपयोगकर्ता होगा:

new-QADUser -name 'user1' -ParentContainer 'OU=companyOU,DC=company,DC=com' -samAccountName 'user1' -UserPassword 'P@ssword'

हालाँकि, 'शुद्ध' पॉवर्सशेल के लिए, इडेरा की पटकथाओं के शाय का सुझाव आपको अतिरिक्त cmdlets का उपयोग करने से बचाएगा। आप पर ध्यान दें, यदि आप उन लिपियों को डाउनलोड करने की परेशानी से गुजर रहे हैं जिन्हें आप क्वेस्ट cmdlets भी डाउनलोड कर सकते हैं।


5

मैंने ब्रैड के उत्तर को ऊपर ले लिया और नीचे थोड़ा और विवरण जोड़ दिया (धन्यवाद इस दिशा में सोच पाने के लिए ब्रैड):

इनपुट CSV फाइल:

cn,givenname,sn,sAMAccountName,displayname,UserPrincipalName
Joe Smith,Joe,Smith,jsmith,Joe Smith,jsmith@domain.com
Susan Johnson,Susan,Johnson,sjohnson,Susan Johnson,sjohnson@domain.com

कोड:

$inputFile = Import-CSV  <insert filepath here>

foreach($line in $inputFile)
{
    ## need to add quotes around DSN        
    $dsn = "`"cn="+$line.cn+",ou=userou,dc=domain,dc=com`""
    $samid = $line.sAMAccountName
    $ln = $line.sn
    $fn = $line.givenname
    $dn = $line.displayname
    ## need to add quotes around display name
    $dn2 = "`"$dn`""
    $upn = $line.UserPrincipalName

    cmd /c "dsadd user $dsn -samid $samid -ln $ln -fn $fn -display $dn2
    -upn $upn -mustchpwd yes -pwd TempP@assw0rd"

    write-host `n
}    

सौभाग्य!


2

यदि आप एक ही उपयोगकर्ता को विभिन्न नेटवर्क / डोमेन पर सेट कर रहे हैं, तो एक पुरानी पुरानी .cmd फ़ाइल को चाल चलनी चाहिए। बस प्रत्येक उपयोगकर्ता के लिए dsadd कमांड पर कॉल जारी करें।

dsadd या dsmod के लिए एक कॉल एक पटकथा पटकथा के बीच में भी काम करेगा। आपके पास उपयोगकर्ता नाम / पासवर्ड की एक CSV फ़ाइल भी हो सकती है, जिसे आप प्रत्येक लाइन के माध्यम से dsadd या dsmod जैसी कॉल के साथ एक पॉवरशेल स्क्रिप्ट और लूप के साथ आयात कर सकते हैं:

$inputFile = Import-CSV  <insert filepath here>

foreach($line in $inputFile)
{
    dsadd user -samid $line.Username -pwd $line.Password
}

Ds कमांड (dsadd, dsmod, इत्यादि) सक्रिय निर्देशिका भूमिका के साथ स्थापित हो जाते हैं, इसलिए आपके पास विज्ञापन और चलाने के बाद वे उपलब्ध होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.