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:
- Wada oprogramowania: Niektóre instalacje (takie jak BitTorrent Sync) nie zainstalują usługi Windows - chyba że zostanie określone zwykłe konto użytkownika.
- Spodziewane zachowanie: Powinny automatycznie zapewniać poprawną tożsamość konta usługi NT lub przynajmniej zezwolić użytkownikowi.
- Zagadnienie bezpieczeństwa: Użytkownik jest zmuszony do utworzenia kolejnego zwykłego konta użytkownika, [co nie powinno być najlepszą praktyką].
- Obejście: Po określeniu odpowiedniego konta usługi to tymczasowe konto użytkownika powinno zostać usunięte.
Referencje
- 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 .
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”:
- Otwórz przystawkę Usługi lokalne „services.msc”
- Przejdź do żądanej usługi (btsync), kliknij prawym przyciskiem myszy „Właściwości”.
- Wybierz kartę „Zaloguj się”.
- Wybierz opcję, aby określić użytkownika.
Wprowadź nazwę usługi „Konwencjonalna” opisaną powyżej: (bez cudzysłowów).
NT Service\btsyncsvc
USUŃ hasła.
- Zapisz - Zastosuj
- 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!