Ошибка доступа запрещена при попытке перезапустить службу на удаленном компьютере
Я пытаюсь перезапустить службу на удаленном компьютере в рабочей группе и получаю сообщение об ошибке "Отказано в доступе". Я настроил DCOM и WMI, чтобы разрешить удаленное включение сервисов для пользователя, который является членом группы локальных администраторов
вот код:
servicename = "myservice";
string IP = "SERVER"; // remote IP
string username = "user"; // remote username
string password = "xytly@"; // remote password
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.EnablePrivileges = true;
connectoptions.Impersonation = ImpersonationLevel.Impersonate;
connectoptions.Username = username;
connectoptions.Password = password;
connectoptions.Authentication = AuthenticationLevel.PacketPrivacy;
ManagementPath mp = new ManagementPath();
mp.NamespacePath = @"\root\cimv2";
mp.Server = "SERVER";
ManagementScope scope = new ManagementScope(@"\\" + IP + @"\root\cimv2",
connectoptions);
scope.Options = connectoptions;
scope.Connect();
//WMI query to be executed on the remote machine
SelectQuery query = new SelectQuery("select * from Win32_Service where name =
'" + serviceName + "'");
using (ManagementObjectSearcher searcher = new
ManagementObjectSearcher(scope, query))
{
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject service in collection.OfType<ManagementObject>())
{
if (service["started"].Equals(true))
{
//Start the service
service.InvokeMethod("StopService", null);
}
else
{
//Stop the service
service.InvokeMethod("StartService", null);
}
}
}
Я получаю исключение "Отказано в доступе", когда оно попадает в цикл foreach