Szolgáltatások kezelése a grafikus felületről
Grafikus felületről a Vezérlőpult > Felügyeleti eszközök > Szolgáltatások (Control Panel > Administrative Tools > Services) MMC konzol segítségével kezelhetjük a szolgáltatásokat. Nyissuk meg a konzolt, mert az alábbiakban szükségünk lesz rá.
Szolgáltatások a regisztrációs adatbázisban
Mitől lesz egy szolgáltatás szolgáltatás? A programok forráskódját eleve úgy kell készíteni és úgy kell fordítani, hogy az operációs rendszer szolgáltatásként tudja kezelni. A fejlesztőkörnyezetek (C#, Delphi, stb.) nagy része képes ezt a feladatot ellátni. A fent említett felügyeleti konzolban található a telepített szolgáltatások listája, maga a lista fizikailag a regisztrációs adatbázisban tárolódik a következő kulcs alatt:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]
Indítsuk el a REGEDIT.EXE segédprogramot és tallózzunk el a kulcshoz, mely felfogható a szolgáltatások gyökérkulcsának is és innen kiindulva további alkulcsokat találunk. Minden alkulcs egy-egy szolgáltatásnak felel meg.
Általános tulajdonságok
Egy példán keresztül bemutatva könnyen megérthető a kulcsok felépítése:
Található a felügyeleti konzolban egy "Windows Installer" nevű szolgáltatás. Kattintsunk rá a jobboldali egérgombbal és lépjünk a "Tulajdonságok" ("Properties") menüre. A megjelenő tulajdonságablak "Általános" ("General") oldalán, legfelül szerepel a szolgáltatás neve a "Szolgáltatásnév" ("Service Name") címke mellett. A "Windows Installer" esetében ez "MSIServer".
Térjünk vissza a regisztrációs adatbázishoz és keressük meg az "MSIServer" nevű alkulcsot. Az első lényegi dolog tehát: a szolgáltatásnév megegyezik az alkulcs nevével.
Most nézzük meg az alkulcs tartalmát: a "DisplayName" karakterlánc (REG_SZ) egyenlő a tulajdonságlap "Megjelenítendő név" ("Display Name") mezőjének értékével.
A "Description" karakterlánc egyenlő a "Leírás" ("Description)" mező értékével.
Az "ImagePath" bővíthető karakterlánc (REG_EXPAND_SZ) egyenlő a "Futtatható fájl elérési útja" ("Path to executable") mezővel.
A "Start" duplaszó (REG_DWORD) az "Indítás típusa" ("Startup type") legördülő menü értékét veszi fel a következőképpen:
- Automatikus (Automatic) = 2
- Kézi (Manual) = 3
- Letiltva (Disabled) = 4
Amennyiben tehát a "Start" bejegyzésnek 2-es értéket írunk be, a szolgáltatás automatikusan indul és fordítva, ha a konzolban automatikus indítást állítunk be a "Start" bejegyzés értéke 2 lesz.
Függőségek
Lépjünk a tulajdonságlap "Függőségek" ("Dependencies") oldalára, itt láthatjuk, hogy az adott szolgáltatástól, mely más szolgáltatások függnek és "Ő" mely szolgáltatásoktól függ.
Az "Ez a szolgáltatás ezektől a rendszerösszetevőktől függ" ("This service depends on the following system components") lista tartalma a regisztrációs adatbázisban a "DependOnService" karakterlánc-soros érték (REG_MULTI_SZ) bejegyzésben található.
Míg "A következő rendszerösszetevők ettől a szolgáltatástól függenek" ("The following system components depend on this service") lista tartalma megegyezik a "DependOnGroup" bejegyzés értékével.
A különbség csupán annyi, hogy a felügyeleti konzolon a szolgáltatás "DisplayName" tulajdonsága jelenik meg, míg a regisztrációs adatbázisban az alkulcsok nevei szerepelnek.
Indítás, leállítás, felfüggesztés
Visszatérve az "Általános" ("General") oldalra, négy nyomógombbal lehet vezérelni a szolgáltatás futását. Ezeknek nincs megfelelőjük a regisztrációs adatbázisban, de elérhetők parancssorból:
"Indítás" ("Start"):
net start szolgáltatásnév
"Leállítás" ("Stop"):
"Felfüggesztés" ("Pause"):
net pause szolgáltatásnév
"Folytatás" ("Resume"):
net continue szolgáltatásnév
Fenti példánknál maradva a "Windows Installer" szolgáltatás elindítása:
Leállítása:
stb...
Bejelentkezés
Lépjünk a tulajdonságlap "Bejelentkezés" ("Log On") oldalára, itt állítható, hogy melyik felhasználói fiók jogosultságaival történjen a futtatása. Az eredmény a regisztrációs adatbázisban az "ObjectName" karakterláncban szerepel. Amennyiben nem felhasználóival, hanem rendszerfiókkal futtatjuk a "LocalSystem" értéket veszi fel a bejegyzés.
További bejegyzések
Ha a tulajdonságlapon az alapértelmezettől eltérő értékeket állítunk be új, addig hiányzó bejegyzések is megjelenhetnek a regisztrációs adatbázisban. Például a "Helyreállítás" ("Recovery") oldal legördülő menüinek módosítása a "FailureActions" nevű bináris bejegyzés létrehozását vonja maga után.
Egy szolgáltatás eltávolítása a hozzá tartozó alkulcs és teljes tartalmának törlését jelenti.