我正试图让应用程序使用PowerShell安装在远程服务器上。 这是我正在使用的脚本:
$ cred = Get-Credential
$ s = New-PSSession -ComputerName $ ServerName -Credential $ credInvoke-Command -Session $ s -ScriptBlock {Start-Process -FilePath“c:\ windows \ system32 \ msiexec.exe”-ArgumentList“/ i \\ computer \ e $ \ installer.msi / qn”-Wait}
Remove-PSSession -ComputerName $ ServerName
如果我直接在远程计算机上运行下面的命令,它会很好地执行:
Start-Process -FilePath“c:\ windows \ system32 \ msiexec.exe”-ArgumentList“/ i \\ computer \ e $ \ installer.msi / qn”-Wait
但是,当我作为Invoke-Command的一部分远程运行它时,PS会话打开,脚本运行,msiexec在远程计算机上启动,然后PS会话closures,但应用程序从不安装,msiexec从不closures。
任何帮助,将不胜感激。
谢谢,
扎克
您需要首先在本地复制软件包。 一旦你开始远程处理,你不能再UNC。
目标可以在服务器/计算机上的任何位置。 我使用温度,但它是任何你喜欢的。
另外我喜欢使用$ env:windir \ temp,以防万一。
Copy-item "\\servershare\File.msi" -conatiner -recurse ` \\$Computer\c$\windows\temp\ Invoke-Command -Computername $Computer -credential $cred -ScriptBlock { Start-Process -FilePath ` "c:\windows\system32\msiexec.exe" ` -ArgumentList "/i ` \\computer\e$\installer.msi /qn" -Wait }
我希望它有帮助。