Jak utworzyć lokalne konta usługi pulpitu Windows?


2

Pytanie:

W systemie Windows Home / Professional (Windows 10) jaki jest zalecany sposób utworzenia konta usługi lokalnej?

Czy jest na to jakaś dokumentacja? (Powershell, GUI itp.).

Wyjaśnienie: To nie jest pytanie dotyczące usługi Active Directory - ani problem z kontem zarządzanym przez usługę Windows - tylko komputer stacjonarny.

Kontekst:

Instalacja BTSorec Bittorent prosi o opcję uruchomienia jako lokalnej usługi Windows.

Podczas instalacji wyświetla monit o podanie nazwy użytkownika i hasła do lokalnego konta usługi.

Tak jak w Linuksie ...:

W systemie Linux normalnie używałbym useradd i kojarzyłbym konto z odpowiednimi grupami:

useradd -M btsync
usermod -L btsync

Uwaga: -r służy do tworzenia kont usług w systemie Linux, ale to, czy wyłącza logowanie, czy nie, wydaje się niespójne - i nieudokumentowane, (link man).

Nie zostanie utworzony katalog domowy, logowanie zostanie wyłączone,

Odpowiedzi:


1

Dotyczy:

Windows 7, 8 / 8.1, Windows 10 - Home i Professional.

Programy (takie jak BTSync), które instalują usługi - ale nie stosują się do konwencji usług systemu Windows, jak inne programy (IIS, MySQL, SQL Server itp.).

Zagadnienia:

  1. Wada oprogramowania: Niektóre instalacje (takie jak BitTorrent Sync) nie zainstalują usługi Windows - chyba że zostanie określone zwykłe konto użytkownika.
  2. Spodziewane zachowanie: Powinny automatycznie zapewniać poprawną tożsamość konta usługi NT lub przynajmniej zezwolić użytkownikowi.
  3. Zagadnienie bezpieczeństwa: Użytkownik jest zmuszony do utworzenia kolejnego zwykłego konta użytkownika, [co nie powinno być najlepszą praktyką].
  4. Obejście: Po określeniu odpowiedniego konta usługi to tymczasowe konto użytkownika powinno zostać usunięte.

Referencje

  1. System Windows nie korzysta z „kont usług” - w sensie Linuksa, ale raczej „ Konta wirtualne " i " Konta usług zarządzanych (dla komputerów uczestniczących w środowisku LDAP .
  2. Konwencja nazewnictwa kont usług: Poprzez Konwencję nazewnictwa wydaje się, że konta wirtualne powinny być zgodne z formularzem „Nazwa polecenia” - [Rozszerzenie] + „svc”

    "btsync.exe" becomes "NT Service\btsyncsvc"

Tworzenie wirtualnego konta „Usługa NT”:

  1. Otwórz przystawkę Usługi lokalne „services.msc”
  2. Przejdź do żądanej usługi (btsync), kliknij prawym przyciskiem myszy „Właściwości”.
  3. Wybierz kartę „Zaloguj się”.
  4. Wybierz opcję, aby określić użytkownika.
  5. Wprowadź nazwę usługi „Konwencjonalna” opisaną powyżej: (bez cudzysłowów).

    NT Service\btsyncsvc

  6. USUŃ hasła.

  7. Zapisz - Zastosuj
  8. Uruchom ponownie usługę.

Ustawianie uprawnień do folderu:

Ustaw uprawnienia do folderu - używając pełnej nazwy konta: „Usługa NT btsyncsvc” (użycie cudzysłowu może być wymagane lub nie, w zależności od kontekstu ...) ...

Nie jest konieczne, aby btsyncsvc posiadał uprawnienia do wykonywania, więc usuń, jeśli chcesz - w przeciwnym razie pełna kontrola.

Błąd - usługa nie może się uruchomić z powodu „Brak mapowania między nazwami kont i identyfikatorami zabezpieczeń”:

Na przykład ten błąd wystąpi, jeśli określisz „NT Service btsync” zamiast „NT Service btsyncsvc” ...

Następujące polecenie zwróci listę bieżących nazw kont usług.

Używając PowerShell, (PS), zweryfikuj listę względem tej, którą określiłeś do użycia w „Zaloguj się”:

PS > get-service | foreach {Write-Host NT Service\$($_.Name)}

Błąd - usługa nie może się uruchomić, ponieważ konto nie zostało przyznane Zaloguj się jako usługa Uprawnienia:

Ten błąd może wystąpić, jeśli określiłeś niepoprawną „nazwę konwencjonalną” lub jeśli naprawdę nie ma uprawnień - zostaną one jednak automatycznie przypisane, jeśli zostanie zastosowana prawidłowa konwencja.

W systemie Windows 10 Home użytkownik nie będzie mógł użyć przystawki lokalnej polityki bezpieczeństwa do jej skonfigurowania (secpol.msc) - i musi być wykonana ręcznie, za pomocą PowerShell lub innego narzędzia.

Skrypty PowerShell:

Aby to naprawić, można użyć PowerShell. „Skrypt Grant-Log-on-as-a-service PowerShell, z Technet Gallery” :

Jeśli PowerShell zgłasza błąd „ExecutionPolicy”, może być konieczna zmiana ExecutionPolicy:

PS > Set-ExecutionPolicy RemoteSigned

... Może spowodować błąd podpisania - a następnie zmieniony na:

PS > Set-ExecutionPolicy Unrestricted

Następnie użyj skryptu, aby przypisać uprawnienie:

PS > .".\Add Account To LogonAsService.ps1" "NT Service\btsyncsvc"

W razie potrzeby zresetuj ExecutionPolicy:

PS > Set-ExecutionPolicy Restricted

Mam nadzieję że to pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.