Доступ к WMI запрещен - PullRequest
0 голосов
/ 07 марта 2019

Я создал небольшое приложение, у которого есть только одна миссия. Это чтобы получить информацию об удаленном компьютере. Он отлично работает в режимах выпуска и отладки. Когда я использую его внутри проекта «.net core», приложение выдает ошибку «Доступ запрещен».

То, что я нашел до сих пор. Если cmd.exe запускается как SYSTEM, приложение выдает ошибку «Отказано в доступе», но в пользовательском режиме это работает.

Как использовать WMI в режиме SYSTEM? Что я делаю не так?

ConnectionOptions options = new ConnectionOptions
{
   Impersonation = ImpersonationLevel.Impersonate,
   Authentication = AuthenticationLevel.PacketIntegrity,
   EnablePrivileges = true,
   SecurePassword = the_secure_password_of_remote_computer,
   Username = the_username_of_remote_computer
};

var scope = new ManagementScope(@"\\" + the_ip_address_of_remote_computer + 
                                        @"\root\cimv2", options);
try
{
   scope.Connect();
   if (scope.IsConnected)
   {
      return true;
   }
   else
   {
      false;
   }
} catch(Exception exception)
{
   // I got the exception here.
   Console.WriteLine("Exception|{0}", exception.Message);
   return false;
}

1 Ответ

0 голосов
/ 26 марта 2019

Я использовал Marshalling, чтобы решить эту проблему.

Здесь: http://rzander.azurewebsites.net/create-a-process-as-loggedon-user/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...