J'ai écrit une application wmi qui exécute un fichier batch sur une machine distante.Exécution de commandes sur une machine distante
Ce fichier de commandes écrit la sortie dans la chaîne de répertoire qui lui est transmise en tant qu'argument. Lorsque je lance mon application et que je choisis le lecteur C comme répertoire de sortie, tout fonctionne. Mais, quand je choisis un lecteur réseau, cela ne fonctionne pas, pour une raison quelconque.
(Ce lecteur réseau est le lecteur de l'entreprise et mappé pour chaque utilisateur sur le réseau).
Si je lance exactement la même commande (avec le lecteur réseau) manuellement à partir de la machine distante, il fonctionne aussi ...
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.Username = sUsername;
connOptions.Password = sPassword;
connOptions.Authority = "NTLMDomain:" + sDomain;
connOptions.EnablePrivileges = true;
ManagementScope manScope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", sHost), connOptions);
manScope.Connect();
ManagementPath managementPath = new ManagementPath("Win32_Process");
ManagementClass processClass = new ManagementClass(manScope, managementPath, objectGetOptions);
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
for (int i = 0; i < listOfJobs.Items.Count; i++)
{
listOfJobs.SetSelected(i, true);
inParams["CommandLine"] = listOfJobs.SelectedItem.ToString();
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
}
Exemple pour les chaînes d'emploi:
scénario de travail : C: \ scripts \ BatchScript -p C: \ test C: \ OutputDir
défaut de script: C: \ scripts \ BatchScript -p C: \ test U: \ OutputDir
Des idées?
Vous devriez publier le code utilisé afin d'aider les gens à répondre à votre question. –
Voyons voir du code s'il vous plaît. – Derek
a ajouté le code ... – Idanis