C#-WMI InvalidOperationException试图在远程计算机上运行脚本时
-
12-10-2019 - |
题
我试图在同一域中的远程计算机上执行脚本,并将同一用户帐户登录到两个计算机。注意该脚本还存储在另一台计算机上。
代码
string prop = propertyName
object[] cmd = { String.Format("cscript \\\\machine\\script.wsf", envId, application) };
ManagementClass mc = new ManagementClass("\\\\" + prop + "\\root\\cimv2\\Win32_Process");
mc.InvokeMethod("Create", cmd);
例外
[InvalidOperationException: Operation is not valid due to the current state of the object.]
System.Management.ManagementObject.InvokeMethod(String methodName, Object[] args) +388806
结论
我是使用WMI的新手,所以我不确定我做错了什么是显而易见的,尽管在许多情况下都使用了这种异常类型,并且很难找出实际问题是什么,所以请帮助将不胜感激。
解决方案 3
事实证明,托管该过程的Windows服务没有在有权在目标计算机上执行的帐户下运行。
我的错!
其他提示
您的“ root cimv2 win32_process”应该为“ root cimv2:win32_process”
注意结肠,这就是我使用的。祝你好运!
我遇到过同样的问题。
result.InvokeMethod("GetOwner", ownerArgs)
问题是我试图在以下WMI查询中检索到一个对象上执行该问题。
SELECT ProcessId, ExecutablePath, CommandLine FROM Win32_Process
将其更改为 SELECT * FROM Win32_Process
解决它。
我也可能特别要求用户名和域。
不隶属于 StackOverflow