簡體   English   中英

C#-嘗試在遠程計算機上運行腳本時出現WMI InvalidOperationException

[英]C# - WMI InvalidOperationException when trying to run a script on a remote machine

我正在嘗試在同一域中的遠程計算機上執行腳本,並使用相同的用戶帳戶登錄到兩台計算機上。 請注意,腳本也存儲在另一台計算機上。

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的新手,所以我不確定自己做錯的事情是否很明顯,盡管在很多情況下都使用這種異常類型,並且很難找出實際的問題,所以請幫忙將不勝感激。

您的“ \\ root \\ cimv2 \\ Win32_Process”應為“ \\ root \\ cimv2:Win32_Process”

注意冒號,這就是我用的。 祝好運!

我遇到過同樣的問題。

result.InvokeMethod("GetOwner", ownerArgs)

問題是我試圖在使用以下WMI查詢檢索到的對象上執行該操作。

SELECT ProcessId, ExecutablePath, CommandLine FROM Win32_Process

將其更改為SELECT * FROM Win32_Process修復了它。

我可能也可以明確要求用戶名和域。

事實證明,承載該進程的Windows服務未在具有在目標計算機上執行權限的帳戶下運行。

我的錯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM