我在服务器中有一个共享文件夹,我需要对某些文件远程执行命令。我怎么做?
服务器上需要运行哪些服务才能正常工作?
一些细节: 只能使用 C#。服务器上不能安装任何东西。
另一种解决方案是使用WMI.NET 或 Windows 管理规范.
使用 .NET Framework 命名空间 System.Management,您可以使用 Windows Management Instrumentation (WMI) 自动执行管理任务。
代码示例
using System.Management;
...
var processToRun = new[] { "notepad.exe" };
var connection = new ConnectionOptions();
connection.Username = "username";
connection.Password = "password";
var wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\cimv2", REMOTE_COMPUTER_NAME), connection);
var wmiProcess = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
wmiProcess.InvokeMethod("Create", processToRun);
如果您在身份验证方面遇到问题,请检查 DCOM 配置。
- 在目标机器上,运行
dcomcnfg
从命令提示符。
- Expand
Component Services\Computers\My Computer\DCOM Config
- 查找 Windows 管理指令,以 GUID 标识
8BC3F05E-D86B-11D0-A075-00C04FB68820
(您可以在详细信息视图中看到这一点)。
- 编辑属性,然后在权限选项卡下添加您尝试登录的用户名。
- 您可能需要重新启动服务或整个计算机。
NOTE:用于远程进程的所有路径都需要位于目标计算机的本地路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)