如果需要在远程机器上执行.exe,有以下几种方法:
- PowerShell
- CMD [使用 Ps Exec]
- RemoteExec - 加密软件
1) PowerShell
使用 WS-Management 协议,Windows PowerShell 远程处理允许您在一台或多台远程计算机上运行任何 Windows PowerShell 命令。您可以在远程计算机上建立持久连接、启动交互式会话和运行脚本。
要在一台或多台计算机上运行命令,请使用 Invoke-Command cmdlet。
Invoke-Command -ComputerName Server01, Server02 -ScriptBlock {Get-UICulture}
输出:
LCID Name DisplayName PSComputerName
---- ---- ----------- --------------
1033 en-US English (United States) server01.corp.fabrikam.com
1033 en-US English (United States) server02.corp.fabrikam.com
要执行脚本,运行 .exe 应用程序,在远程计算机上播放并与更多命令交互,请参阅此 Microsoft Detailed documentation of Windows PowerShell Remoting 和此 SO Thread 通过远程计算机上的 CMD 为您提供 PowerShell 执行命令概述。
示例代码:(以编程方式):
using System.Diagnostics;
// ....
Process p = new Process();
p.StartInfo.FileName = @"c:\PsTools\psexec.exe";
p.StartInfo.Arguments = @"\\ibi20-pc -u ibi20 -p 12345 -i c:\windows\system32\notepad.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.Start();
如果您需要使用发布管道Azure Devops 在远程客户端计算机上运行 .exe in PowerShell ,这个SO Thread 可以帮助你。
2) CMD [使用 Ps Exec]
PsExec 工具允许您在远程计算机上运行程序和进程,并使用控制台应用程序交互界面的所有功能。
PsExec 的主要优点是能够在远程计算机上调用交互式命令行界面、远程运行程序以及执行任何命令(在后台或交互模式下)。
PsExec 实用程序是 Sysinternals 的 PsTools 包中最受欢迎的程序之一。你可以下载它on this page。
要使用PsExec工具,只需将其复制到计算机上的文件夹中(方便的是复制到默认的可执行文件夹C:\Windows\System32),然后从命令提示符或PowerShell中运行它控制台。
要使用 PsExec 进行连接,请使用以下命令:
psexec \\RemotePCName [-u username[-p password]] command [arguments]
按照此documentation 继续执行在远程计算机上运行 .exe 的进一步步骤。
3) RemoteExec - 一个方便的加密软件:
这是一种无代理和加密的软件解决方案,可让您:
- 轻松部署 MSI 软件包、Service Pack、补丁、修补程序等,并立即获悉结果
- 远程执行程序、脚本和相关文件,或将它们安排在以后的日期或时间
- 修改注册表、更改 LocalAdmin 密码、禁用本地帐户、复制/更新/删除文件和文件夹
- 远程关机、唤醒、重启服务器和工作站、锁定或关闭用户会话等。
更多可用的方法,例如任务计划程序 > 连接到另一台计算机,使用 C# 和其他第三方软件在另一台计算机上运行 .exe。
PsExec and PowerShell 允许管理员远程执行系统命令,无需过多的预配置或开销。
新手用户的最佳选择是使用 PsExec 选项,因为它是最容易开始的,并且允许您远程运行基于 CLI 的可执行文件并利用完整的功能集。