web-dev-qa-db-ja.com

MDTタスクシーケンス中にPowershell ADモジュールをインポートする

MDTタスクシーケンスの一部としてコンピューターの名前を変更する次の短いPowerShellスクリプトを記述しました。

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

更新:2015年10月13日

私はMDTスクリプト内でADモジュールの使用をやめることに決め、これを投稿した直後に、これを実行する別の方法を考案しました。 ADモジュールでの私の結果は、よくても予測できませんでした。後世のためにここに投稿したかった。これをMDTタスクシーケンスの「Run Powershell Script」としてState Restore> Custom Tasksフォルダーに追加し、そのすぐ下にコンピューターの再起動タスクを追加します。昨年は、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)
13
Mx Gorply

ドメインユーザーとしてログオンしていない場合は、PSDriveを明示的にインスタンス化して、そこから* -AD *コマンドを実行する必要があります。

Import-Module ActiveDirectory -WarningAction SilentlyContinue
New-PSDrive -Name AD -PSProvider ActiveDirectory -Server <your DC> -Root //RootDSE/ -Credential $cred
Set-Location AD:
1
Nicolas Melay