Windows 10 无人参与的 PowerShell 脚本无法运行

Windows 10 无人参与的 PowerShell 脚本无法运行

我目前正在尝试改进我们为所有从事系统管理工作的学校所使用的 Windows 10 的当前 WDS 安装。

安装需要包含一些应用程序和一些基本更改。我还需要它加入域并重命名计算机,无论域名是什么,也无需输入凭据。我为此使用 PowerShell 脚本,我曾经为此使用一个脚本,它将使用 add-computer PowerShell 命令并使用 -NewName 重命名计算机,然后重新启动它。这很好用,只是偶尔它会抛出错误,所以解决方案是将重命名和加入分开。

现在我遇到的问题是,它要么可以正常加入域(或者根据顺序更改名称),但重启后不会运行重命名脚本。

它没有抛出错误,日志中也看不到任何内容,只是没有运行脚本......

我已经研究这个问题有一段时间了,现在我真的不知道该去哪里找或者尝试什么......

我正在运行 Windows 10 企业版 LTSB x64

<SynchronousCommand wcm:action="
<CommandLine>Powershell.exe -ExecutionPolicy unrestricted -File c:\System\RenameComputer.ps1 </CommandLine>
<Description>Change computername</Description>
<Order>10</Order>
<RequiresUserInput>true</RequiresUserInput>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>Powershell.exe -ExecutionPolicy unrestricted -File c:\System\JoinDomain.ps1 </CommandLine>
<Description>Join computer into domain</Description>
<Order>9</Order>
<RequiresUserInput>true</RequiresUserInput>
</SynchronousCommand>
</FirstLogonCommands>

我正在运行的脚本

Get-WmiObject Win32_NetworkAdapterConfiguration | ForEach-Object { IF($_.IPEnabled -eq "True" -and $_.DNSDomain.Length  -gt  1)  { 
 $Domain = $_.DNSDomain } }
$DomainPass = ConvertTo-SecureString “nope” -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ("$Domain\nope" , $DomainPass) 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$name = [Microsoft.VisualBasic.Interaction]::InputBox("Enter Desired Computer Name ")
$name = $name.ToUpper()
Write-Output $name $Domain $Cred
Rename-Computer -NewName $name -DomainCredential $Cred
Read-Host  "press enter to continue"
Restart-Computer -Force


Get-WmiObject Win32_NetworkAdapterConfiguration | ForEach-Object { IF($_.IPEnabled -eq "True" -and $_.DNSDomain.Length  -gt  1)  { 
$Domain = $_.DNSDomain } }
$DomainPass = ConvertTo-SecureString “nope” -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ("$Domain\nope" , $DomainPass) 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') |  Out-Null
Add-Computer -DomainName $Domain -Credential $Cred 
Read-Host  "press enter to continue"
Restart-Computer -Force

相关内容