Я пытаюсь запустить bat-файл удаленно (с XP на 2003) и столкнуться с проблемой подключения к любому пространству имен WMI, отличному от cimv2. В приведенном ниже коде исключается исключение «Not Found» в вызове «GetMethodParameters». Но если я заменил «каталог» на «cimv2», все будет подливать.WMI Namespace "Not Found"
ConnectionOptions theConnection = new ConnectionOptions();
theConnection.Username = conDet.User;
theConnection.Password = conDet.Pwd;
theConnection.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope theScope = new ManagementScope(String.Format(@"\\{0}\root\directory", conDet.Server), theConnection);
theScope.Connect();
ManagementClass processClass = new ManagementClass(theScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
enter code here
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = filename;
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
Я проверил безопасность на своем компьютере, а сервер и два пространства имен имеют одинаковые параметры безопасности. Любые идеи, что происходит?
Спасибо.
Так вы говорите, что только пространство имен, я могу подключиться, cimv2? Остальные лишены ограничений? – mpeterb
Нет, я не говорю, что каждый раз, когда вы устанавливаете соединение WMI, вы должны указать конкретное пространство имен (область). Таким образом, вы можете подключиться к любому существующему пространству имен, но с использованием разных соединений WMI. – RRUZ
Я вижу, большое спасибо. – mpeterb