एमडीटी टास्क सीक्वेंस के दौरान इम्पोर्ट पॉवरशेल एडी मॉड्यूल


13

मैंने एक MDT कार्य अनुक्रम के भाग के रूप में एक कंप्यूटर का नाम बदलने के लिए यह लघु शक्तियाँ लिपि लिखी है:

Import-Module ActiveDirectory

$AdminUsername = 'domain.com\administrator'
$AdminPassword = 'password' | ConvertTo-SecureString -asPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $AdminUsername, $AdminPassword              

$Domain = Get-ADDomainController DomainName domain.com -Discover -NextClosestSite
$Site = $Domain.Site
$DomainComputer = Get-WmiObject Win32_BIOS 
$Serial = $DomainComputer.SerialNumber
$Computername = $Site + "-" + $Serial

Rename-Computer -NewName $Computername -DomainCredential $cred 

जब MDT इस कार्य को चलाता है, तो इसे स्थानीय व्यवस्थापक के रूप में चलाता है। AD मॉड्यूल को लोड करने का प्रयास करते समय मुझे निम्न त्रुटि मिलती है।

Warning: Error initializing default drive:  'The server has rejected the client credentials.'.

जब मैं एक डोमेन व्यवस्थापक के रूप में लॉग इन करता हूं, तो मशीन से कार्य अनुक्रम खत्म होने के बाद मैं मॉड्यूल को ठीक से आयात कर सकता हूं, लेकिन मशीन के स्थानीय व्यवस्थापक के रूप में नहीं। क्या MDT कार्य अनुक्रम को डोमेन व्यवस्थापक के रूप में चलाने या कार्य अनुक्रम के दौरान स्थानीय व्यवस्थापक के विशेषाधिकारों को बढ़ाने का कोई तरीका है?

आपकी किसी भी सहायताके लिए पहले से शुक्रिया,

mx

UPDATE: 10/13/2015

मैंने अपनी MDT स्क्रिप्ट के भीतर AD मॉड्यूल का उपयोग करने से दूर जाने का फैसला किया और इसे पोस्ट करने के तुरंत बाद इसे प्राप्त करने का एक और तरीका तैयार किया। AD मॉड्यूल के साथ मेरे परिणाम सबसे अच्छे थे। मैं इसे यहाँ पोस्टरिटी के लिए पोस्ट करना चाहता था। मैं अपने एमडीटी टास्क सीक्वेंस में "रन पॉवर्सशेल स्क्रिप्ट" के रूप में स्टेट रिस्टोर> कस्टम टास्क फोल्डर में इसे जोड़ता हूं और फिर सीधे इसके नीचे एक रिस्टार्ट कंप्यूटर टास्क जोड़ता हूं। यह पिछले साल 1600+ क्लाइंट की तैनाती पर एक आकर्षण की तरह काम कर रहा है।

$type = [System.DirectoryServices.ActiveDirectory.DirectoryContextType]"Domain"
$context = New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext($type, "yourdomain.edu", "domainadmin", "yourpasswordhere")
$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($context)
$DC = $domain.FindDomainController().Name
$Prefix = $DC.Substring(0,5)
$DomainComputer = Get-WmiObject Win32_BIOS 
$Serial = $DomainComputer.SerialNumber
$Computername = $Prefix + "-" + $Serial
$Password = "yourpasswordhere"
$Username = "yourdomain.edu\domainadmin"
$Computer = Get-WmiObject Win32_ComputerSystem
$Computer.Rename($Computername,$Password,$Username)

क्या आप $AdminPasswordPSCredential ArgumentList में गुम नहीं हैं ?
मैथियास आर जेसेन

माफी, यह वास्तविक स्क्रिप्ट में है, लेकिन कॉपी और पेस्ट में छोड़ दिया जाना चाहिए था।
एमएक्स गोरप्लेस

क्या आपके पास कार्य अनुक्रम निष्पादित है CMDया PowerShell? यदि आप शक्तियां निष्पादित कर रहे हैं, तो cmdकमांड का प्रयास करें : powershellइसके अलावा मैं जांच करूंगा कि क्या पॉवरशेल बॉक्स को बूट पर चेक किया गया है या नहीं। कॉन्फ़िगरेशन स्क्रीन का निर्माण करें
इलियट लैब्स एलएलसी

@MxGorply आप पुष्टि कर सकते हैं: 1. कि राज्य के पुनर्स्थापना चरण की तरह OS स्थापित होने के बाद विंडोज के शुरू होने पर स्क्रिप्ट निष्पादित हो रही है या यह WinPE में पहले चरण में है या OS में ताज़ा किया जा रहा है। 2. इस कदम को चलाने से पहले, क्या आपने पहले से ही एक ज्वाइन / रिजेक्ट डोमेन स्टेप को अंजाम दिया है।
बर्नी व्हाइट

4
@MxGorply आह ठीक है, इसलिए कमांड के निष्पादन में कोई समस्या नहीं है? चेतावनी इसलिए है क्योंकि जब मॉड्यूल आयात करता है तो यह स्वचालित रूप से वर्तमान क्रेडेंशियल्स का उपयोग करके बांधने की कोशिश करेगा जो मान्य नहीं हैं, यह उम्मीद की जाएगी। यदि कमांड चल रहे हैं, तो मैं आपको क्रेडेंशियल की आपूर्ति करने से पहले चेतावनी के बारे में चिंता करूंगा। आप -WarningAction SilentlyContinueआयात-मॉड्यूल आदेश पर संदेश को दबाने के लिए उपयोग कर सकते हैं ।
बर्नी व्हाइट

जवाबों:


1

जब आप एक डोमेन उपयोगकर्ता के रूप में लॉग ऑन नहीं होते हैं, तो आपको स्पष्ट रूप से एक PSDrive को तुरंत चलाने की जरूरत है और फिर वहां से * -AD * कमांड चलाएं:

Import-Module ActiveDirectory -WarningAction SilentlyContinue
New-PSDrive -Name AD -PSProvider ActiveDirectory -Server <your DC> -Root //RootDSE/ -Credential $cred
Set-Location AD:
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.