我们需要在办公室的所有PC上更新软件。要更新您必须登录的软件,请转到服务器URL,它将自动启动安装程序并更新软件。这可以在powershell中完成吗?
下面的代码是我尝试过的。
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate("http://127.0.0.1/")
答案 0 :(得分:0)
不能测试它(在Linux下是im),但这是您想要的吗?
Invoke-Command -ComputerName server1,server2 { Start-Process -FilePath "myapp.exe" -ArgumentList "arg1", "arg2"}
答案 1 :(得分:0)
您不能在远程计算机上使用交互式代码。为了使IE可见,用户必须以交互方式登录。
那么,在每台计算机上,用户需要启动浏览器来获取更新吗? 如果是这样,则站点将启动安装程序,然后只需使用...
Start-Process -FilePath "http://127.0.0.1/"
…,它将启动默认浏览器,就像用户这样做一样。
您可以使用上面的命令来设置计划任务,并将该计划任务设置为在登录时运行用户,只要该用户具有安装权限,或者您使用正确的安装管理员权限设置任务即可。
如果您尝试远程执行此操作,则不能以交互方式执行此操作,因为您的会话永远不会以其他用户身份登录。 PowerShell不是UI管理工具,特别是远程管理。
老实说,比较明智的做法是将软件通过组策略或其他软件分发系统(例如SCCM)推出,或将软件下载到中央工作站/文件服务器,并设置计划的任务以在以下位置运行安装程序主机。