Возможно ли выполнение запланированной задачи в качестве NETWORK SERVICE?

11

Настроить задачу для запуска в качестве СИСТЕМЫ довольно просто, но при установке ее на NETWORK SERVICE выдается сообщение об ошибке «Отказано в доступе».

Есть ли способ заставить это работать? (Проблема в том, что я не хочу создавать нового пользователя домена для этой задачи, и мне нужно получить доступ к удаленному общему ресурсу из этой задачи.)

Регент
источник

Ответы:

13

Я задал этот же вопрос . К счастью, RyanRies смог дать правильный ответ .

В Windows Server 2003 вы не можете запустить запланированную задачу как NT AUTHORITY\NetworkService(она же учетная запись сетевой службы ). Эта возможность была добавлена ​​только в Task Scheduler 2.0, который существует только в Windows Vista / Windows Server 2008.

Бонус Болтовня

  • Учетная запись LocalService - это встроенная учетная запись с ограниченными правами на локальном компьютере, которая обращается к сети как анонимная . Вы должны использовать эту учетную запись для запуска запланированных задач
  • Учетная запись NetworkService - это встроенная учетная запись с ограниченными правами на локальном компьютере, которая обращается к сети как к компьютеру (напримерVADER$). Вы можете использовать эту учетную запись для запуска запланированных задач, если вам требуется доступ к сети с проверкой подлинности
  • Учетная запись LocalSystem - это встроенная учетная запись с расширенными привилегиями на локальном компьютере. Вы никогда не должныиспользовать эту учетную запись для запуска запланированных задач
Ян Бойд
источник
6

Ты не можешь Функциональность была представлена ​​в Task Scheduler 2.0, что означает Vista / 2008 +.

Из документации по Schtasks.exe:

/ RU имя пользователя

Значение, которое указывает пользовательский контекст, в котором выполняется задача. Для системной учетной записи допустимыми значениями являются «», «NT AUTHORITY \ SYSTEM» или «SYSTEM». Для задач планировщика задач 2.0 значения NT AUTHORITY \ LOCALSERVICE и NT AUTHORITY \ NETWORKSERVICE также являются допустимыми значениями.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357(v=vs.85).aspx :

Райан Райс
источник
Очень полезно, что в документе конкретно упоминается Task Scheduler 2.0. Это устраняет догадки.
Ян Бойд
2

Я пытался сделать это несколькими способами, но сейчас я не думаю, что это возможно. Я был бы рад исправятся на это, но я попробовал все , что я мог думать, в том числе добавления NETWORK SERVICEк Administrators, настройками всех видов настройки локальной политики безопасности и т.д.

Когда я включаю аудит, я получаю это:

Event Type:     Failure Audit
Event Source:   Security
Event Category: Account Logon 
Event ID:       680
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
 Logon account:  NETWORK SERVICE
 Source Workstation: RESULTANT
 Error Code: 0xC0000064

Event Type:     Failure Audit
Event Source:   Security
Event Category: Logon/Logoff 
Event ID:       529
Date:           02/03/2010
Time:           8:49:53 PM
User:           NT AUTHORITY\SYSTEM
Computer:       RESULTANT
Description:
Logon Failure:
     Reason:        Unknown user name or bad password
     User Name:     NETWORK SERVICE
     Domain:        NT AUTHORITY
     Logon Type:    4
     Logon Process: Advapi  
     Authentication Package: Negotiate
     Workstation Name:       RESULTANT

0xC0000064декодирует в NO_SUCH_USER. Это немного глупо, учитывая, что я только вошел network service- как он узнал, что аккаунт, который не прошел, был в NT AUTHORITY?

Когда я ввожу неверное имя пользователя, я даже не вижу попытки аутентификации вообще. Так ясно, что-то соглашается, что NETWORK SERVICEэто реальный счет.

Если я подставлю пароль для известного имени пользователя (то есть Administrator), я получу 0xC000006A( STATUS_WRONG_PASSWORD).


Попробуйте добавить Log on as a batch jobправо на NETWORK SERVICE. Я думаю, что это глупая идея; Вы должны просто укусить пулю и создать учетную запись домена ...

расщепление
источник
Извините, что я набрал опечатку в своем предыдущем комментарии к Мэтту, но я попытался добавить его для «Вход в систему как пакетное задание», но безуспешно
Регент
0

Попробуйте добавить «Войти как службу» прямо в учетную запись сетевой службы. Подробные инструкции здесь.

Matt
источник
Нет. Он уже был указан в «Вход в систему как сервис», и добавление в «Вход в систему как сервис» тоже не помогло.
Регент
0

Просто хочу , чтобы оживить эту нить , как это IS можно использовать NETWORK SERVICE для задач! Как минимум на Сервере 2016 и 2019!

Просто небольшая странность после выбора аккаунта обычным способом. Под

Run whether user is logged on or not

Вы смущенно должны выбрать:

Do not store the password. The task will only have access to local computer resources

Вторая часть этого должна быть взята с совком, полным соли! В данном случае это означает, что у вас нет учетных данных , но если вы запускаете что-то, для чего учетная запись не требуется, она имеет доступ к сети!

Экспорт работы, основная часть выглядит следующим образом

  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-20</UserId>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>

Я использую его для отправки статусных писем через smtp, и он отлично связывается с smtp-сервером

Эске Ран
источник
-1

Сетевая служба является локальной (компьютерной) учетной записью. Поэтому у него никогда не будет прав на другом компьютере (где находится общий ресурс).

Если вы хотите получить доступ к сетевому ресурсу, вы должны использовать учетную запись, известную в сети, поэтому используйте учетную запись домена. И служба, которую вы хотите запустить, ДОЛЖНА поддерживать адресацию UNC. Если для этого требуется доступ к букве сетевого диска, вам потребуется сеанс пользователя с подключенными дисками, в противном случае это также не удастся.

(Я полагаю, что вы уже знаете это, глядя на дату вашего поста. Мой ответ просто дополнительный для людей, которые найдут этот пост с похожей проблемой)

Kees

Кис Гортмейкер
источник
2
Каждый компьютер, подключенный к домену, имеет свою собственную учетную запись в Active Directory. И, насколько я понимаю NETWORK SERVICE, это локальный псевдоним этой учетной записи, поэтому он потенциально может иметь доступ к некоторым общим ресурсам.
Регент
1
NetworkService будет иметь права на другом компьютере. Из MSDN : «Он имеет минимальные права на локальном компьютере и действует как компьютер в сети».
Ян Бойд
Этот ответ неверен. Как говорит @IanBoyd, NETWORK SERVICE специально предназначен для доступа к элементам в сети (поэтому в имени он имеет «Сеть», в отличие от учетной записи LOCAL SERVICE), к которой он будет обращаться с использованием доменного имени компьютера, DOMAIN \ COMPUTERNAME. $, например, MAIN \ WEBSRV2 $.
Ник Джонс
Это также не учетная запись (локальная или иная). Это известный руководитель безопасности.
Сокол Момот,