我正在使用安装介质上的默认 boot.wim 文件为Windows Server 2012无人值守部署设置Windows 部署服务(WDS) 。我有一个 PowerShell 脚本,可以为我们的站点执行自动自定义。我希望这个脚本在 specialize 阶段运行,所以我不必搞乱自动登录,并且能够在配置期间保存自己重新启动。脚本似乎没有运行,日志只给出了无用的错误代码。
这是我的无人值守文件的相关部分:
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Credentials>
<Domain>WDSSERVER</Domain>
<Password>APASSWORD</Password>
<Username>AUSERNAME</Username>
</Credentials>
<Path>"c:\windows\system32\windowspowershell\v1.0\powershell.exe" -executionpolicy unrestricted -command "\\<REMOTESERVER>\reminst\customize\specialize.ps1"</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
Run Code Online (Sandbox Code Playgroud)
响应来自 kce 的请求。这是脚本本身:
write-host "Executing customisation script."
write-host "enabling powershell script execution"
Set-ExecutionPolicy Unrestricted
write-host "Bringing non-system disks online..."
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False
Set-Disk -Number 1 -IsReadOnly $False
Set-Disk -Number …
Run Code Online (Sandbox Code Playgroud) 我正在使用 powershell 脚本自动无人值守地检索和安装指定的 .msi 包,但如果调用命令时出现语法错误,尽管存在 /quiet 和/或 /passive,msiexec 将无限期地等待对其帮助显示的确定单击.
目前我正在调用它:
(start-process -FilePath "msiexec" -ArgumentList "/i <path_to_package> /quiet /passive" -PassThru -Wait).ExitCode
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用 msiexec 帮助显示?