我有一个由 21 台计算机组成的网络,这些计算机都装有相同的软件。
我想在所有 21 台计算机上启动该软件(从第 22 台计算机开始)。
我想停止所有 21 台计算机上的该软件(从第 22 台计算机开始)。
所有计算机均运行 Windows 10 Pro(1903)
这是出于测试原因。目前,我使用 robocopy 将应用程序的新版本推送到所有机器,然后手动启动它们(并手动停止它们)。
我已经考虑过编写自己的服务,让它在每台计算机上运行,但这需要很多额外的时间,而且我认为我不是第一个这样做的人。
答案1
就像您对 21 台计算机所做的那样robocopy
,可能使用批处理脚本,您可以以相同的方式在这些计算机上执行该软件。
要使用的工具是 执行:
PsExec 是一种轻量级的 telnet 替代品,它允许您在其他系统上执行进程,并为控制台应用程序提供完整的交互性,而无需手动安装客户端软件。PsExec 最强大的用途包括在远程系统上启动交互式命令提示符和远程启用工具(如 IpConfig),否则这些工具无法显示有关远程系统的信息。
答案2
扩展答案@harrymc对于遇到同样问题的人:
要实现工具(psexec、pskill 等)来自Sysinternals 套件在Windows 10上工作:
- PsTool 参数中使用的用户必须有密码
- 设置用户密码 [CTRL] + [ALT] + [DELETE]
- 为了避免在登录启动时提示输入密码
netplwiz
,请取消选中“用户必须输入用户名和密码才能使用此计算机”
- 为这台计算机启用打印机/文件共享
停止 UAC 阻止远程执行
Access Denied
或者当你向远程机器发送命令时你会得到- 在远程机器上打开 RegEdit
- 导航
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- 添加一个名为 LocalAccountTokenFilterPolicy 的新 DWORD 值
- 将其值设置为 1