【发布时间】:2021-07-05 13:16:55
【问题描述】:
下午好,我在通过 PowerShell Remoting 将 Microsoft Edge .msi 安装到 Windows Server 2012R2 上时遇到了一些麻烦。该代码在我的本地计算机上运行,但是当我尝试通过远程处理它来解析它时,它只是挂在那里并且没有任何反应。我已经等了一个小时试图解决这个问题,所以只是寻求一些帮助。 \
.msi 文件位于服务器本地。我确实知道 PS Remoting 连接到服务器,因为我可以传递命令来创建文件夹作为示例。
Invoke-Command $Server -Scriptblock {
Write-Host "Installing Microsoft Edge"
Start-Process C:\Source\BuildSource\Laptop\21-MicrosoftEdge\MicrosoftEdgeEnterpriseX64.msi /quiet -wait
Write-Host "Microsoft Edge Installed"
}
【问题讨论】:
-
我认为它是由于特定路径
Start-Process C:\Source\BuildSource\Laptop\21-MicrosoftEdge\MicrosoftEdgeEnterpriseX64.msi /quiet -wait但如果那是正确的路径/quiet无论如何都放错了位置。这是 msi 本身的一个参数,因此您应该添加-Args "/quiet"或尝试使用 msiexec 而不是Start-Process -
这是文件所在的具体路径。但我可以尝试摆脱
Start-Process并使用msiexec。我不明白的是,我可以采用同一行代码,并在我的本地机器上运行它,它会正确安装。仅当我尝试通过服务器上的 PS-Remoting 解析它时才会出现此问题 -
主体访问$Server的权限是什么?就我个人而言,我更喜欢更明确并指定 msiexec。运行 msi ie 时是否尝试过输出日志信息。 /L*V "C:\Source\BuildSource\Laptop\21-MicrosoftEdge\example.log" ?
-
我没有对此进行测试,但我怀疑在无人看管的情况下不接受“/quiet”开关。 MSI 应该接受“/qn”或“/qb!”反而。以此作为参考:silentinstallhq.com/…
标签: powershell windows-installer powershell-remoting