J'essaie d'exécuter une commande qui appelle un fichier de commandes sur la boîte Win 2008. (Les commandes s'exécutent correctement lorsque je me connecte à Win 2008 et cliquez sur). Mais lorsque j'appelle ce fichier de commandes via WMI en utilisant les mêmes informations d'identification de l'utilisateur, le traitement par lots ne s'exécute pas.Exécution de processus à distance C# WMI
Mon code pour se connecter est:
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.EnablePrivileges = true;
connOptions.Username = UserName;
connOptions.Password = Password;
ManagementScope manScope = new ManagementScope(
String.Format(@"\\{0}\ROOT\CIMV2", ComputerName), connOptions);
manScope.Connect();
ObjectGetOptions objectGetOptions = new ObjectGetOptions();
ManagementPath managementPath = new ManagementPath("Win32_Process");
ManagementClass processClass = new ManagementClass(
manScope, managementPath, objectGetOptions);
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = command;
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
Object returnValue = outParams["ReturnValue"];
Toute aide est appréciée ...
Quelle est la valeur ReturnValue après l'exécution de ce code? – RRUZ
La valeur de retour est 0 .. Ce qui je suppose est retourné quand il n'y a pas d'erreur. – Jimmy
Ensuite, la commande a été exécutée, mais elle n'est pas visible pour vous. car la méthode create ne peut pas être utilisée pour démarrer un processus interactif à distance. – RRUZ