2012-06-01 14 views
5

Jak uruchomić i zatrzymać usługę okna bez uprawnień administratora?Usługa Windows uruchamianie i zatrzymywanie bez uprawnień administratora

Moje uruchomienie aplikacji powinno rozpocząć moją usługę w taki sam sposób, w jaki musi się zakończyć po jej zamknięciu. Mogę to zrobić za pomocą "Kontrolera usług"

Mogę zainstalować usługę z uprawnieniami administratora, ale do uruchamiania i zatrzymywania usługi nie należy pytać o uprawnienia administratora.

Czy ktoś może mi powiedzieć, jak mogę to osiągnąć przy użyciu C#?

+4

możliwy duplikat http://stackoverflow.com/questions/4436558/start-stop-a-windows-service-from-a-nonadministratora-użytkownika – Adam

+0

jakiej usługi próbujesz uruchomić i zatrzymać. Którego używasz –

+0

Usługa Noraml WCF –

Odpowiedz

3

Odkryłem sposób na udzielenie pozwolenia na uruchamianie/zatrzymywanie usługi dla użytkowników niebędących administratorami. Możemy zapewnić politykę grupową dla naszej usługi, aby można było uruchomić/zatrzymać bez uprawnień administratora. Znalazłem dwa podejścia do osiągnięcia tego zadania.

Podejście 1:

  1. Tworzenie konsolę z „mmc.exe”
  2. stworzył szablon puste bezpieczeństwo
  3. Utworzono bazę danych zabezpieczeń do przechowywania informacji o zasadach
  4. zmienić uprawnienia do usług użytkownik, któremu chcemy udzielić pozwolenia
  5. Zastosowano nowe pozwolenie bezpieczeństwa (odesłałem to pod numer blog)

Podejście to działa doskonale, utworzyłem dwa konta użytkownika innego niż administrator w jednej maszynie wirtualnej i ustawiłem uprawnienia z konta administratora, mogłem uruchomić i zatrzymać usługę z obu kont użytkowników bez uprawnień administracyjnych. Jednak to podejście nie było kompletnym rozwiązaniem problemu, wymaga wielu ręcznych czynności. Więc zacznę szukać automatyzacji tego procesu. Wynik tego znalazłem podejście 2

Podejście 2: Przyznaj uprawnienia za pomocą "Subinacl.exe", SubInACL jest narzędziem wiersza polecenia, które umożliwia administratorom uzyskanie informacji bezpieczeństwa o plikach, kluczach rejestru i usługach oraz przenieść tę informację z użytkownika na użytkownika, z lokalnej lub globalnej grupy do grupy iz domeny na domenę.

Podążyłem za tym samym przykładem utworzenia konta użytkownika innego niż admin i wykonania polecenia SUBINACL/SERVICE \ Nazwa_domeny \ Moja_serwacja/GRANT = Nazwa_domeny \ USERS = TOP, co umożliwi użytkownikowi uruchomienie/zatrzymanie usługi.

+0

Po prostu należy pamiętać, że istnieje powód to uprawnienie nie jest domyślnie przyznawane zwykłym użytkownikom. Być może otwierasz luki w zabezpieczeniach w twojej sieci. – JDB

Powiązane problemy