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タスクシーケンスの「Powershellスクリプトの実行」として追加し、その直下にコンピューターの再起動タスクを追加します。この1年で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)
申し訳ありませんが、実際のスクリプトには含まれていますが、コピーアンドペーストでは省略されている必要があります。
—
Mxゴープリー14年
タスクシーケンスを実行しています
—
エリオット研究所LLCを
CMD
かPowerShell
?あなたは試すその後、PowerShellを実行している場合cmd
:コマンドをpowershell
PowerShellのボックスはのboot.wimビルド構成画面上で確認された場合にも、私はチェックして見ること
@MxGorply次のことを確認できます。1.状態の復元段階など、OSのインストール後にWindowsが起動した後、またはWinPEまたはOSが更新される前の段階でスクリプトが実行されていること。2.このステップを実行する前に、ドメインへの参加/再参加ステップをすでに実行しておきます。
—
バーニーホワイト
@MxGorplyああ、コマンドの実行に問題はありませんか?警告は、モジュールがインポートされると、有効でない現在の資格情報を使用して自動的にバインドしようとするため、これが予想されるためです。コマンドが実行されている場合、資格情報を提供する前に警告を心配します。
—
バーニーホワイト14年
-WarningAction SilentlyContinue
import-moduleコマンドでメッセージを抑制するために使用できます。
$AdminPassword
PSCredential ArgumentListに欠けていませんか?