Я создал приложение MVC. Это интранет-сайт. пользователи входят в систему с аутентификацией Windows. После определенного прогресса мне нужно подключиться с веб-сервера к клиентскому компьютеру, чтобы вызвать некоторую функцию wmi. Все работает, я могу подключить их wmi и инициировать действия с моей учетной записью службы (которая является администратором на клиентском компьютере)
Моя проблема - это контекст wmi, к которому я подключаюсь, всегда контекст моей учетной записи администратора. Это не то, что я хочу, потому что мне нужно запустить это как текущий пользователь на удаленной машине.
Итак. Мне нужно войти на удаленный компьютер с моей учетной записью администратора и запустить функцию в качестве текущей учетной записи пользователя. Является ли это возможным ? или это невозможно из-за безопасности окон.
Вот так я подключаюсь к удаленному компьютеру
ManagementScope wmiScope = new ManagementScope(@"\\" + remoteHost + wmiNameSpace);
wmiScope.Options.EnablePrivileges = true;
wmiScope.Options.Impersonation = ImpersonationLevel.Impersonate;
ManagementPath wmiClass = new ManagementPath(wmiClassName);
ManagementClass wmiObject = new ManagementClass(wmiScope, wmiClass, null);
return wmiObject;
и вот как я запускаю функцию
ManagementClass wmiConnection = clientConnection.ConnectRemoteWMI(remote, @"\ROOT\ccm\ClientSDK", "CCM_ClientUtilities");
ManagementBaseObject parameters = wmiConnection.GetMethodParameters(policyType);
ManagementBaseObject result = wmiConnection.InvokeMethod(policyType, parameters, null);