MDT Görev Dizisi sırasında Powershell AD Modülünü İçe Aktar


13

Bir bilgisayarı MDT görev dizisinin bir parçası olarak yeniden adlandırmak için bu kısa powershell komut dosyasını yazdım:

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 bu görevi çalıştırdığında, yerel yönetici olarak çalıştırır. AD Modülünü yüklemeye çalışırken aşağıdaki hatayı alıyorum.

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

Bir etki alanı yöneticisi olarak oturum açıldığında görev sırası bittikten sonra modülü makinenin yerel yöneticisi olarak alamadım. MDT görev dizisini etki alanı yöneticisi olarak çalıştırmanın veya görev dizisi sırasında yerel yöneticinin ayrıcalıklarını yükseltmenin bir yolu var mı?

Sağlayabileceğiniz herhangi bir yardım için şimdiden teşekkürler,

mx

GÜNCELLEME: 13/10/2015

MD modülüm içinde AD modülünü kullanmaktan uzaklaşmaya karar verdim ve kısa bir süre sonra bunu gönderdikten sonra bunu yapmanın başka bir yolunu tasarladım. AD modülüyle elde ettiğim sonuçlar en iyi ihtimalle tahmin edilemezdi. Bunu gelecek nesiller için buraya göndermek istedim. Bunu, MDT görev dizimde Durum Geri Yükleme> Özel Görevler klasörüne "Powershell Komut Dosyasını Çalıştır" olarak ekledim ve hemen altına Bilgisayarı Yeniden Başlat görevi ekledim. Geçtiğimiz yıl 1600'den fazla müşteri dağıtımında cazibe gibi çalışıyor.

$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'te eksik değil misiniz ?
Mathias R. Jessen

Özür dileriz, asıl komut dosyasındadır, ancak kopyala ve yapıştır işleminde atlanmış olmalıdır.
Mx Gorply

Görev dizisini yürütüyor musunuz CMDveya PowerShell? Powershell yürütüyorsanız, o zaman cmdkomutu deneyin : powershell Ayrıca powershell kutusunun boot.wim yapı yapılandırma ekranında kontrol edilip edilmediğini kontrol edip görürdüm
Elliot Labs LLC

@MxGorply Onaylayabilir misiniz: 1. Komut dosyası, Windows geri yüklendikten sonra bir Devlet Geri Yükleme aşamasında olduğu gibi Windows yüklendikten sonra veya WinPE'de daha önceki bir aşamada mı yoksa yenilenen bir işletim sisteminde mi yürütülüyor. 2. Bu adım yürütülmeden önce bir birleştirme / yeniden katılma etki alanı adımı yürüttünüz mü?
Bernie White

4
@MxGorply Ah tamam, yani komutların yürütülmesiyle ilgili bir sorun yok mu? Uyarı, modül içe aktarıldığında, geçerli olmayan geçerli kimlik bilgilerini kullanarak otomatik olarak bağlanmaya çalışacağından, bunun beklenmesi nedeniyledir. Komutlar çalışıyorsa, kimlik bilgilerini vermeden önce uyarı hakkında endişelenirim. -WarningAction SilentlyContinueImport-module komutundaki mesajı bastırmak için kullanabilirsiniz .
Bernie White

Yanıtlar:


1

Etki alanı kullanıcısı olarak oturum açmadığınızda, PSDrive'ı açıkça başlatmanız ve oradan * -AD * komutlarını çalıştırmanız gerekir:

Import-Module ActiveDirectory -WarningAction SilentlyContinue
New-PSDrive -Name AD -PSProvider ActiveDirectory -Server <your DC> -Root //RootDSE/ -Credential $cred
Set-Location AD:
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.