Я написал приложение wmi, которое запускает пакетный файл на удаленной машине.
Этот пакетный файл записывает выходные данные в строку каталога, переданную ему в качестве аргумента.
Когда я запускаю свое приложение и выбираю диск C в качестве выходного каталога, все работает. Но когда я выбираю сетевой диск, он почему-то не работает.
(Этот сетевой диск является диском пользователей компании и сопоставлен для каждого пользователя в сети).
Если я запускаю ту же самую команду (с сетевым диском) вручную с удаленной машины, она также работает...
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);
}
Пример строк работы:
Рабочий скрипт: C:\Scripts\BatchScript -p C:\Test C:\OutputDir
Ошибка сценария: C:\Scripts\BatchScript -p C:\Test U:\OutputDir
Любые идеи?