Проблема заключается в следующем:
В дисководе сервера и D имеется пакетный файл.
Я должен инициироватьтриггер, который может запускать этот пакетный файл на самом компьютере (удаленный компьютер, на котором имеется пакет)
Примечание. Пакет содержит команду, которая запускает приложение на компьютере
Таким образом, я могу запустить командный файл, используя приведенный выше код (используя WMI), но он только запускает процесс cmd.exe и не выполняет команды, приведенные в нем.
Я пробовал с помощью следующего кода.
var connOptions = new ConnectionOptions
{
Impersonation = ImpersonationLevel.Impersonate,
Authentication = AuthenticationLevel.PacketPrivacy,
EnablePrivileges = true,
Username = "abc",
Password = "xyx",
//Authority = $"ntlmdomain:{_creds.Domain}"
};
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.EnablePrivileges = true;
ManagementScope manScope = new ManagementScope
(String.Format(@"\\{0}\ROOT\CIMV2", "xx.xx.xx.xx"), 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"] = @"d:\\abc\\google.bat";
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
Console.WriteLine("Creation of the process returned: " + outParams["returnValue"]);
Console.WriteLine("Process ID: " + outParams["processId"]);