Czy zaplanowane zadanie może działać jako USŁUGA SIECIOWA?

11

Konfigurowanie zadania jako SYSTEMU jest dość proste, ale po ustawieniu go na USŁUGĘ SIECIOWĄ wyświetla się komunikat o błędzie „Odmowa dostępu”.

Czy jest jakiś sposób, żeby to zadziałało? (Problem polega na tym, że nie chcę utworzyć nowego użytkownika domeny dla tego zadania i muszę uzyskać dostęp do udziału zdalnego z tego zadania).

Regent
źródło

Odpowiedzi:

13

Zadałem to samo pytanie . Na szczęście RyanRies był w stanie udzielić poprawnej odpowiedzi .

W systemie Windows Server 2003 nie można uruchomić zaplanowanego zadania jako NT AUTHORITY\NetworkService(inaczej konta usługi sieciowej ). Ta funkcja została dodana tylko z Harmonogramem zadań 2.0, który istnieje tylko w systemie Windows Vista / Windows Server 2008.

Bonusowa rozmowa

  • Konto LocalService to wbudowane konto z ograniczonymi uprawnieniami na komputerze lokalnym i uzyskuje dostęp do sieci jako anonimowy . Powinieneś używać tego konta do uruchamiania zaplanowanych zadań
  • Konto NetworkService to wbudowane konto z ograniczonymi uprawnieniami na komputerze lokalnym i uzyskuje dostęp do sieci jako komputer (npVADER$.). Możesz użyć tego konta do uruchamiania zaplanowanych zadań, jeśli potrzebujesz uwierzytelnionego dostępu do sieci
  • Konto LocalSystem to wbudowane konto z szerokimi uprawnieniami na komputerze lokalnym. Nigdy nie należyużywać tego konta do uruchamiania zaplanowanych zadań
Ian Boyd
źródło
6

Nie możesz Funkcjonalność została wprowadzona w Task Scheduler 2.0, co oznacza Vista / 2008 +.

Z dokumentacji Schtasks.exe:

/ RU nazwa użytkownika

Wartość określająca kontekst użytkownika, w którym uruchamiane jest zadanie. W przypadku konta systemowego prawidłowe wartości to „”, „NT AUTHORITY \ SYSTEM” lub „SYSTEM”. W przypadku zadań Harmonogramu zadań 2.0 prawidłowe są również „NT AUTHORITY \ LOCALSERVICE” i „NT AUTHORITY \ NETWORKSERVICE”.

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

Ryan Ries
źródło
Bardzo pomocne jest to, że dokument wspomina konkretnie o Harmonogramie zadań 2.0. To eliminuje zgadywanie.
Ian Boyd
2

Próbowałem to zrobić na kilka sposobów, ale teraz nie sądzę, aby było to możliwe. Byłbym zadowolony, stojak na poprawione, ale próbowałem wszystkiego mogłem pomyśleć, w tym dodawanie NETWORK SERVICEdo Administrators, szczypanie wszystkie rodzaje ustawień zasad zabezpieczeń lokalnych, etc.

Po włączeniu inspekcji otrzymuję:

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

0xC0000064dekoduje do NO_SUCH_USER. To trochę głupie, biorąc pod uwagę, że wszedłem tylko network service- skąd wiedział, że konto, które się nie powiodło, jest na koncie NT AUTHORITY?

Po wpisaniu niepoprawnej nazwy użytkownika nie widzę nawet próby uwierzytelnienia. Tak wyraźnie coś się zgadza, że NETWORK SERVICEjest to rzeczywiste konto.

Jeśli zaszufladkuję hasło do znanej nazwy użytkownika (tj. Administrator), Otrzymuję 0xC000006A( STATUS_WRONG_PASSWORD).


Spróbuj dodać Log on as a batch jobprawo do NETWORK SERVICE. Myślę, że to głupi pomysł; powinieneś po prostu ugryźć kulę i utworzyć konto domeny…

rozszczepienie
źródło
Przepraszam, że wpisałem niepoprawnie w poprzednim komentarzu do Matta, ale próbowałem dodać go do „Zaloguj się jako zadanie wsadowe” i bez powodzenia.
Regent
0

Spróbuj dodać prawo „Zaloguj się jako usługa” do konta usługi sieciowej. Szczegółowe instrukcje tutaj.

Matt
źródło
Nie. Został już wymieniony w „Logowanie jako usługa”, a dodanie do „Zaloguj się jako usługa” też nie pomogło.
Regent,
0

Po prostu chce ożywić ten wątek jako że JEST możliwe wykorzystanie sieci serwisowej dla zadań! Przynajmniej na serwerze 2016 i 2019!

Trochę dziwności po wybraniu konta w zwykły sposób. Pod

Run whether user is logged on or not

Myląco musisz wybrać:

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

Drugą część należy wziąć z łopatą pełną soli! Ponieważ oznacza to, że nie masz poświadczeń , ale jeśli uruchomisz coś, co nie wymaga konta, aby uzyskać poświadczenia, MUSI mieć dostęp do sieci!

Podczas eksportowania zadania główna część wygląda następująco

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

Używam go do wysyłania wiadomości statusowych przez smtp, i dobrze się kontaktuje z serwerem smtp

Eske Rahn
źródło
-1

Usługa sieciowa jest kontem lokalnym (komputerowym). W związku z tym nigdy nie będzie mieć uprawnień na innym komputerze (gdzie znajduje się udział).

Jeśli chcesz uzyskać dostęp do udziału sieciowego, musisz użyć konta znanego w sieci, więc użyj konta domeny. Usługa, którą chcesz uruchomić, MUSI obsługiwać adresowanie UNC. Jeśli potrzebuje dostępu do litery dysku sieciowego, potrzebujesz sesji użytkownika z mapowanymi dyskami, w przeciwnym razie to również się nie powiedzie.

(Podejrzewam, że już o tym wiesz, patrząc na datę twojego wpisu. Moja odpowiedź jest tylko dodatkiem dla osób, które znajdą ten post z podobnym problemem)

Kees

Kees Gortmaker
źródło
2
Każdy komputer przyłączony do domeny ma własne konto w usłudze Active Directory. I o ile rozumiem, NETWORK SERVICEto lokalny alias do tego konta, dlatego może potencjalnie mieć dostęp do niektórych akcji.
Regent,
1
Usługa sieciowa będzie miała prawa na innym komputerze. Z MSDN : „Ma minimalne uprawnienia na komputerze lokalnym i działa jak komputer w sieci”.
Ian Boyd
Ta odpowiedź jest niepoprawna. Jak mówi również @IanBoyd, NETWORK SERVICE jest specjalnie przeznaczony do uzyskiwania dostępu do elementów w sieci (dlatego ma w nazwie nazwę „Network”, w przeciwieństwie do konta LOCAL SERVICE), do którego będzie uzyskiwał dostęp przy użyciu tożsamości domeny komputera, DOMAIN \ COMPUTERNAME $, np. MAIN \ WEBSRV2 $.
Nick Jones
To także nie jest konto (lokalne lub inne). Jest to dobrze znana zasada bezpieczeństwa.
Falcon Momot