Mamy na stacji zainstalowanego Apacha, Network Inspectora czy Flash Server i nie chcemy żeby chodziły one przez cały czas i bezsensownie zżerały nam zasoby. Chcemy pozwolić użytkownikowi na uruchamianie/zatrzymywanie serwisów i nie nadawać mu zbędnych uprawnień. Najprościej jest to zrobić ustawiając z poziomu domeny odpowiednią polisę która ustawi odpowiednie ACL na dany serwis (tak serwisy też mają ACL :o ).
Co jednak zrobić w momencie gdy komputer nie jest w domenie? Zawsze wydawało mi się, że wszystko da się ustawić w Local Security Policy. Windows + R wpisuję secpol.msc (albo gpedit.msc, jak kto woli ;) ) enter i nie ma serwisów :-o . Wszystko wskazuje na to, że nie da rady tego ustawić lokalnie jednak z pomocą przychodzi Security Configuraration and Analysis (dla nieświadomych start -> run -> mmc -> ctrl+m -> add -> Security Configuraration and Analysis ). Dodaję nową bazę, importuję template (dla bezpieczeństwa polecam setup security.inf), analizuję komputer, po czym kiedy już pokaże mi się drzewko wchodzę w System Services wybieram interesujący mnie serwis i ustawiam mu ACL’ki :) .
Ciekawe czemu jest to wycięte z interfejsu w secpol.msc? Po co wycieli coś co i tak da się ustawić? bez sensu…

Po tem jeszcze warto dać użytkownikom narzędzie pozwalające na wygodnie uruchamianie/zatrzymywanie serwisów. Może to być prosty batch wyglądający mniej więcej tak:
NET START "Nazwa serwisu"
albo tak:
NET STOP "Nazwa serwisu"

A gdybyśmy chcieli pisać to w Visual Basicu (np. po to żeby sprawdzać coś zanim nasz serwis wstanie, zrobić ładny interface graficzny itp. itd.) to przyda się ten kawałek kodu:

' Uruchom zatrzymaj serwis
option explicit
dim queryString
dim Service, ServiceSet

queryString = "select * from Win32_Service where Name=’Nazwa serwisu’ and State=’Stopped’"
Set ServiceSet = GetObject("winmgmts://.").ExecQuery(queryString)

if ServiceSet.Count <> 0 then
WScript.echo “Uruchamiam serwis”
for each Service in ServiceSet
Service.StartService()
next
else
WScript.echo “Jesteś kretynem, serwis już działa”
end if

Spread the love

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload CAPTCHA.