Как я могу запустить процесс как "NT Authority\NetworkService"?

Я играю с идеей для сценария, который обновил бы детали компьютера в Active Directory его информацией о марке и модели. В идеале мне бы хотелось, чтобы этот скрипт имел доступ к AD через учетную запись компьютера, а это значит, что мне нужно, чтобы скрипт запускался как "NT Authority\NetworkService". Это возможно? В качестве альтернативы, я мог выдать себя за NetworkService в сценарии / исполняемом файле?

4 ответа

Решение

Вы можете использовать devxexec: http://blog.developex.com/?p=1053

Например:

devxexec.exe / пользователь:NETWORK_SERVICE cmd

"Сценарист" уже ответил на этот вопрос здесь: http://www.microsoft.com/technet/scriptcenter/resources/qanda/apr05/hey0429.mspx

Вам просто нужно включить вызов WMI, чтобы получить номер модели машины...

Моя реализация прошла так:

Set objSysInfo  = CreateObject("ADSystemInfo")
Set objUser     = GetObject("LDAP://" & objSysInfo.UserName)
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName) 

If objComputer.operatingSystem = "Windows*Server*" Then
    Quit
Else
    strMessage = objUser.CN & " logged on to " & objComputer.CN & " " & Day(Date) & "/" & Month(Date) & "/" & Year(Date) & " " & Time & "." 

    objComputer.Description = strMessage
    objComputer.SetInfo 
End If

Вызовите вышеуказанный сценарий из объекта групповой политики, используя: Конфигурация пользователя -> Параметры Windows -> Сценарии -> Вход в систему

Затем просто обновите разрешения для OU, чтобы пользователи могли изменять описания объектов компьютера, например:ScreenCap

Я не уверен, насколько возможно сделать то, что вы хотите. Повышение разрешений может быть лучше задано в StackOverflow. Однако чего не запускается скрипт от имени локального администратора. За исключением ДЦ, учетная запись существует. На \DC вы можете запустить его как администратор домена или другую учетную запись, у которой будут ограниченные разрешения для этой задачи.

Если компьютеры уже существуют в AD, я бы подошел к этой проблеме с другой стороны - на стороне сервера итерируйте объекты компьютера и используйте PsExec, чтобы найти требуемую информацию в удаленной системе и вернуть ее.

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Затем я запускаю скрипт под учетной записью с разрешениями, необходимыми для использования планировщика заданий.

http://technet.microsoft.com/en-us/library/cc721871.aspx

Другие вопросы по тегам