Я пытаюсь выполнить сценарий на удаленном компьютере в том же домене, при этом одна и та же учетная запись пользователя входит в систему на обеих машинах. Обратите внимание, что скрипт также хранится на еще одном компьютере.C# - WMI InvalidOperationException при попытке запустить скрипт на удаленном компьютере
Код
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, так что я не уверен, что я делать что-то неправильно, хотя оглядеться вокруг этого типа исключения - это мы во многих ситуациях, и у меня возникли проблемы с выяснением, какова актуальная проблема, поэтому помощь будет принята с большой благодарностью.
Работает ли он при его локальном запуске? Если нет, вам не повезло. Многие вещи в WMI просто не реализованы ... Remoting или WCF могут быть лучшим вариантом. – leppie
Вы имеете в виду, что скрипт работает при запуске локально или работает, когда я устанавливаю целевую машину как себя? Я предполагаю, что я имею в виду, вы спрашиваете меня, работает ли код WMI или работает скрипт? – damienc88
Я никогда не использую синтаксис «ultra-cool-short», потому что у вас, вероятно, не будет правильного уровня контроля над свойствами процесса. Я знаю, что удаленный процесс будет работать [хотя мой опыт связан только с w2k3]. Как уже упоминалось, «leppie» обычно не работает, если вы пытаетесь отключить сетевые ресурсы [местоположение вашего сценария для excute], потому что для этого потребуется другой шаг аутентификации на ваш «\\\\ machine \\ ...» , Минимальным требованием для этого stept было бы использование kerberos auth! Я никогда этого не делал. Какова ваша аутентификация и сетевой пейзаж? – mabra