我想在某些域计算机上静默安装软件。由于这些软件包不是以MSI的形式出现的,所以我想我将尝试使用Powershell来实现。
第一步,我设置了Powershell远程处理。以下命令有效:
src/main/webapp
要安装的软件包在网络共享上。不幸的是,似乎无法直接启动这些安装文件。正如凯文·马奎特(Kevin Marquette)在his article on Powershell中所解释的,这是由于某些双跳凭证问题。解决方案是先将安装文件从共享中复制到本地文件夹,然后开始安装。
在同一篇文章中,他展示了两种方法。第一种方法如下所示:
PS $ Test-WSMan -ComputerName rmtComputer
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0
这两个命令都不适合我。运行Copy-Item -Path $file -Destination "\\$computername\c$\windows\temp\installer.exe"
Invoke-Command -ComputerName $computerName -ScriptBlock {
c:\windows\temp\installer.exe /silent
}
命令将返回copy-item
。我可以确认计算机和用户都具有对相应共享的读取权限。
运行The network path was not found
命令不会返回任何错误,但是有关的计算机上没有任何反应。
Marquette继续描述使用远程会话的另一种方法:
invoke-command
另一方面,这很好用。您可以给我任何提示为什么这样做有效,但反之则不行吗?