Valószínűleg Ön is találkozott már azzal a helyzettel, amikor egy bizonyos programnak feltétlenül el kell indulnia a számítógép bekapcsolásakor, vagy egy felhasználó bejelentkezésekor – legyen szó akár egy céges alkalmazásról, egy biztonsági mentésről, egy vírusirtóról, vagy egy gyerekeinek szánt oktatóprogramról. A dolog azonban gyakran megakad, ha a programot nem a rendszergazdai jogosultságokkal rendelkező felhasználónak kell indítania, hanem egy korlátozott felhasználó számára kell automatizálni a folyamatot. Sőt, mi van, ha a programnak akkor is futnia kell, ha senki sincs bejelentkezve? Ne aggódjon, van megoldás! Ez a cikk részletesen bemutatja, hogyan érheti el ezt a Windows beépített eszközeivel, elsősorban a Feladatütemező (Task Scheduler) segítségével.
Bevezetés: Amikor a „csak úgy fut” nem elég
Manapság egyre gyakoribb, hogy egy számítógép több felhasználóval is rendelkezik, és nem mindegyikük bír rendszergazdai jogosultságokkal. Ez egy rendkívül fontos biztonsági szempont, hiszen a korlátozott jogosultságok megakadályozzák a véletlen vagy szándékos rendszerkárosítást. Ugyanakkor felmerülhet a probléma, amikor egy bizonyos alkalmazásnak automatikusan el kell indulnia, függetlenül a felhasználói profiloktól vagy a bejelentkezés állapotától. Ilyen forgatókönyvek lehetnek például:
- Egy „kioszk üzemmódú” számítógép, ahol egyetlen alkalmazásnak kell futnia indítás után.
- Szülői felügyelet alatt álló gyermekek számítógépe, ahol bizonyos programoknak (pl. időkorlátos szoftverek) automatikusan futniuk kell.
- Vállalati környezetben, ahol egy háttérfolyamatnak, adatgyűjtő alkalmazásnak, vagy egy hálózati szinkronizációnak mindig aktívnak kell lennie.
- Biztonsági szoftverek, amelyeknek már a Windows indításakor ébernek kell lenniük.
A hagyományos megoldások sokszor kudarcot vallanak ebben a környezetben, mivel vagy kizárólag a bejelentkezett felhasználóra vonatkoznak, vagy adminisztrátori jogokat igényelnek a beállításhoz és a futtatáshoz. Nézzük meg, miért.
A Hagyományos Megoldások Kudarca (vagy miért nem elegendőek)
Mielőtt rátérnénk a valódi megoldásra, érdemes megérteni, miért nem elegendőek a leggyakrabban emlegetett módszerek, különösen ha korlátozott felhasználóként akarjuk az automata indítást beállítani, vagy ha a programnak bejelentkezés nélkül is futnia kell.
1. Az Indítópult (Startup mappa)
A Windowsnak van egy úgynevezett „Indítópult” mappája, ahová ha programok parancsikonjait vagy végrehajtható fájlokat helyezünk, azok automatikusan elindulnak a felhasználó bejelentkezése után.
- Felhasználóspecifikus mappa:
%APPDATA%MicrosoftWindowsStart MenuProgramsStartup
Ez a mappa az aktuálisan bejelentkezett felhasználó profiljához tartozik. Ha ide helyezünk egy programot, az csak akkor indul el, amikor az adott felhasználó bejelentkezik. Egy korlátozott felhasználó általában írhat ebbe a mappába, így ez egy lehetséges (bár korlátozott) megoldás lehet, ha csak az adott felhasználó számára kell az indítás, és csak bejelentkezés után. - Minden felhasználóra vonatkozó mappa:
%PROGRAMDATA%MicrosoftWindowsStart MenuProgramsStartup
Ez a mappa a rendszer szintű Indítópult. Az ide helyezett programok minden felhasználó bejelentkezésekor elindulnak. A probléma az, hogy egy korlátozott felhasználó általában nem rendelkezik írási joggal ebbe a mappába, így csak rendszergazdai jogosultsággal lehet ide fájlokat másolni. Ezenkívül ez a módszer sem oldja meg azt a problémát, ha a programnak már a bejelentkezés előtt, vagy bejelentkezett felhasználó nélkül kell futnia.
2. Registry Run kulcsok
A Windows rendszerleíró adatbázisa (Registry) is tartalmaz olyan kulcsokat, amelyek segítségével programok automatikusan elindulhatnak.
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
Ez a kulcs a jelenlegi felhasználó számára vonatkozik. Az ide bejegyzett programok a felhasználó bejelentkezése után indulnak el. Hasonlóan az Indítópult felhasználóspecifikus mappájához, csak az adott felhasználónál és csak bejelentkezés után működik.HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
Ez a kulcs a rendszer szintű, azaz minden felhasználó számára érvényes. Az ide bejegyzett programok minden felhasználó bejelentkezésekor elindulnak. Azonban az ide történő bejegyzéshez rendszergazdai jogosultságok szükségesek, és ez sem teszi lehetővé a program futtatását bejelentkezés nélkül.
Látható, hogy ezek a módszerek korlátozottak, ha a célunk egy program futtatása bejelentkezés nélkül, vagy egy korlátozott felhasználó számára úgy, hogy ne kelljen minden alkalommal rendszergazdai beavatkozás. Itt jön képbe a Feladatütemező.
A Megoldás Kulcsa: A Windows Feladatütemező (Task Scheduler)
A Windows Feladatütemező az operációs rendszer egyik legerősebb és legrugalmasabb beépített eszköze az automatizálásra. Lehetővé teszi, hogy bizonyos programokat vagy parancsfájlokat automatikusan futtassunk meghatározott időpontokban, eseményekre (pl. rendszerindítás, felhasználói bejelentkezés), vagy akár feltételekhez (pl. hálózati kapcsolat elérhetősége) kötve. A kulcsfontosságú előnye, ami a fent említett módszerekkel szemben kiemeli, hogy a feladatot konfigurálhatjuk úgy, hogy az egy adott felhasználói fiók (akár egy korlátozott felhasználó) jogköreivel fusson, akár bejelentkezés nélkül is, és akár a legmagasabb jogosultságokkal (ha a feladat létrehozásához volt admin jogunk).
Lépésről lépésre: Feladat Beállítása a Feladatütemezőben
Ez a rész részletes útmutatót ad egy új feladat létrehozásához a Feladatütemezőben. A feladat létrehozásához általában rendszergazdai jogosultságokra lesz szüksége, de a feladat futhat egy korlátozott felhasználó nevében is.
1. A Feladatütemező Megnyitása
- Kattintson a Start gombra, és írja be a keresőmezőbe:
Feladatütemező
(vagy angol Windows eseténTask Scheduler
). - Válassza ki a megjelenő „Feladatütemező” alkalmazást.
(Alternatívaként futtathatja ataskschd.msc
parancsot a Futtatás (Win+R) párbeszédpanelen.)
Megnyílik a Feladatütemező felhasználói felülete, amelyen bal oldalon a könyvtárstruktúrát, középen az aktuális feladatokat, jobb oldalon pedig a műveleteket láthatja.
2. Új Feladat Létrehozása
A jobb oldali „Műveletek” panelen válassza a Feladat létrehozása...
opciót. (Ne az „Alapfeladat létrehozása…”-t válassza, mert az egy egyszerűbb varázsló, ami nem ad teljes kontrollt az összes beállítás felett.)
3. Általános Beállítások (General tab)
Ez az egyik legfontosabb lap, itt állítjuk be a feladat alapvető tulajdonságait és a futtatás módját.
- Név (Name): Adjon egy egyértelmű nevet a feladatnak, pl. „Program_XY_Automata_Inditasa”.
- Leírás (Description): Írjon egy rövid leírást, ami segít emlékezni, mire szolgál a feladat.
- Biztonsági beállítások (Security options): EZ A KULCS!
- Felhasználó vagy csoport módosítása… (Change User or Group…): Kattintson erre a gombra, és válassza ki azt a felhasználói fiókot, akinek a jogköreivel a program futni fog.
- Ha a program egy konkrét korlátozott felhasználó számára készül, válassza ki azt a felhasználói fiókot.
- Ha a programnak a legmagasabb rendszerjogokkal kell futnia, függetlenül a felhasználótól, és nincs szüksége felhasználói felületre (GUI), válassza a
SYSTEM
fiókot. (Figyelem: A SYSTEM fiók rendkívül magas jogosultságokkal rendelkezik, óvatosan használja!) - Ha a program egy standard, nem admin felhasználóként fog futni, válassza azt a felhasználót.
- Futtatás attól függetlenül, hogy be van-e jelentkezve a felhasználó, vagy sem (Run whether user is logged on or not): PIPÁLJA BE EZT AZ OPCIÓT! Ez kulcsfontosságú, ha a programnak akkor is futnia kell, amikor senki sincs bejelentkezve, vagy ha csak a háttérben kell futnia, anélkül, hogy felhasználói felületet (GUI) mutatna. Ha ez be van pipálva, a program láthatatlanul futhat a háttérben. Ha felhasználói felülettel rendelkező programot futtat, és azt szeretné, hogy a felhasználó lássa, akkor hagyja bepipálatlanul, és válassza a „Futtatás csak akkor, ha a felhasználó be van jelentkezve” opciót.
- A legmagasabb szintű jogosultságokkal való futtatás (Run with highest privileges): Ezt is pipálja be, ha a programnak adminisztrátori jogokra van szüksége a futáshoz. Ha a feladatot rendszergazdai fiókkal vagy a SYSTEM fiókkal hozza létre, ez az opció biztosítja, hogy a program a legmagasabb lehetséges privilégiumokkal fusson, még akkor is, ha a feladatot egy nem admin felhasználó nevében adjuk meg. Fontos: ha a feladatot SYSTEM-ként futtatja, ez az opció automatikusan érvényesül.
- Rejtett (Hidden): Opcionális, ha nem akarja, hogy a feladat megjelenjen a Feladatütemező felhasználói felületén (bár admin jogokkal továbbra is látható lesz).
- Felhasználó vagy csoport módosítása… (Change User or Group…): Kattintson erre a gombra, és válassza ki azt a felhasználói fiókot, akinek a jogköreivel a program futni fog.
4. Indítóeszközök (Triggers tab)
Ez a lap határozza meg, hogy mikor és milyen esemény hatására induljon el a feladat.
- Kattintson az
Új...
(New…) gombra. - Feladat indítása (Begin the task): Itt válassza ki a megfelelő eseményt:
- Rendszerindításkor (At startup): Ez a legmegbízhatóbb opció, ha a programnak már a Windows indulásakor futnia kell, még mielőtt bármely felhasználó bejelentkezne. Ideális háttérszolgáltatásokhoz.
- Bejelentkezéskor (At logon): A program akkor indul el, amikor egy felhasználó bejelentkezik. Kiválaszthatja, hogy bármely felhasználó (Any user) bejelentkezésekor, vagy egy adott felhasználó (Specific user) bejelentkezésekor induljon. Ez utóbbi hasznos, ha egy korlátozott felhasználó számára szeretné beállítani az automatikus indítást, és a programnak felhasználói felületet kell megjelenítenie.
- Időponthoz kötve (On a schedule): Ha a programnak nem azonnal, hanem például minden nap reggel 8-kor kell indulnia.
- Egyéb események (pl. Eseménynapló eseménye alapján, tétlenség esetén stb.).
- Késleltetés (Delay task for): Ha a rendszernek szüksége van egy kis időre az induláshoz, mielőtt a program elindulhatna (pl. hálózati meghajtók csatlakozása, egyéb szolgáltatások indulása). Itt megadhatja a késleltetés idejét (pl. 30 másodperc).
- További beállítások, mint ismétlődés, lejárati dátum stb.
- Kattintson az
OK
gombra.
5. Műveletek (Actions tab)
Ez a lap határozza meg, hogy mi történjen, amikor az indítóeszköz aktiválódik.
- Kattintson az
Új...
(New…) gombra. - Művelet (Action): Válassza a
Program indítása
(Start a program) lehetőséget. - Program/parancsfájl (Program/script): Ide írja be a futtatni kívánt program teljes elérési útját. Például:
C:Program FilesSajatProgramSajatProgram.exe
. Fontos: Ha az elérési út szóközöket tartalmaz, tegye idézőjelbe, pl."C:Program Files (x86)Microsoft OfficeOffice16WINWORD.EXE"
. - Argumentumok hozzáadása (Add arguments): Ha a programnak parancssori argumentumokra van szüksége az induláshoz, itt adhatja meg őket.
- Indítás helye (Start in): Opcionális, de hasznos lehet. Ide írja be a program munkakönyvtárának elérési útját (pl.
C:Program FilesSajatProgram
). Ez a mappa lesz az aktuális könyvtár, amikor a program elindul. Szükséges lehet, ha a program relatív útvonalakat használ a saját fájljainak eléréséhez. - Kattintson az
OK
gombra.
6. Feltételek (Conditions tab)
Ez a lap lehetővé teszi, hogy további feltételeket szabjon a feladat futtatásának.
- Tápellátás (Power): Laptopoknál nagyon fontos!
Csak akkor induljon, ha a számítógép AC táplálás alatt van
(Start only if the computer is on AC power): Pipálja be, ha nem szeretné, hogy a program lemerítse a laptop akkumulátorát.Futtatás megszakítása, ha a számítógép akkumulátorra vált
(Stop if the computer switches to battery power).
- Hálózat (Network):
Futtatás csak akkor, ha a következő hálózati kapcsolat elérhető
(Start only if the following network connection is available): Ha a programnak internetre vagy helyi hálózatra van szüksége az induláshoz. Kiválaszthatja a specifikus hálózati profilt.
7. Beállítások (Settings tab)
Ez a lap a feladat futtatásának és kezelésének viselkedését szabályozza.
A feladat igény szerint futtatható
(Allow task to be run on demand): Hagyja bepipálva, ha manuálisan is szeretné elindítani a feladatot a Feladatütemezőből.A feladat futtatása, ha azt a kért futtatás elmulasztotta
(Run task as soon as possible after a scheduled start is missed): Pipálja be, ha a rendszer ki volt kapcsolva a tervezett indulás időpontjában, és szeretné, hogy a program a bekapcsolás után azonnal elinduljon.A feladat leállítása, ha X ideig fut
(Stop task if it runs longer than): Védelem a lefagyott programok ellen. Megadhatja, mennyi ideig futhat a feladat, mielőtt a rendszer automatikusan leállítaná.Ha a feladat már fut, a következő szabály vonatkozik:
(If the task is already running, then the following rule applies): Hogyan kezelje a rendszer, ha az ütemezés szerint a feladatnak ismét el kellene indulnia, de az előző példány még mindig fut. A „Ne indítson új példányt” (Do not start a new instance) gyakori választás.
Miután minden beállítást elvégzett, kattintson az OK
gombra. A rendszer kérheti a felhasználói fiók jelszavát, amelyet a „Biztonsági beállításoknál” választott ki.
Tesztelés: A legfontosabb lépés. A feladat létrehozása után a Feladatütemező könyvtárban válassza ki a feladatot, és a jobb oldali panelen kattintson a Futtatás
(Run) gombra. Figyelje meg, hogy a program elindul-e és megfelelően működik-e. Ezután indítsa újra a számítógépet, és ellenőrizze, hogy a program automatikusan elindul-e a kívánt módon (akár bejelentkezés előtt, akár egy korlátozott felhasználó bejelentkezése után).
Haladó Tippek és Alternatívák (Adminisztrátoroknak)
Bár a Feladatütemező a leggyakoribb és legrugalmasabb megoldás, léteznek más módszerek is, különösen nagyobb hálózati környezetekben vagy speciális igények esetén. Ezek azonban általában rendszergazdai jogosultságokat igényelnek a beállításhoz.
1. Csoportházirend (Group Policy – GPO)
Vállalati hálózatokon, ahol Active Directory tartományi környezet van, a Csoportházirend a legprofesszionálisabb eszköz az automatizálásra. Rendszerindítási/leállítási parancsfájlokat, illetve bejelentkezési/kijelentkezési parancsfájlokat (Startup/Shutdown Scripts, Logon/Logoff Scripts) konfigurálhatunk. Ez rendkívül erőteljes, de komplexebb beállítást igényel, és nem alkalmazható otthoni vagy egyszerűbb hálózati környezetekben.
2. Szolgáltatásként Futtatás (Run as a Service)
Ha a program úgy van megírva, hogy szolgáltatásként is futtatható legyen, vagy olyan segédprogramot használunk, mint az NSSM (Non-Sucking Service Manager), akkor a programot Windows szolgáltatásként telepíthetjük.
- Előny: A szolgáltatások a háttérben futnak, teljesen függetlenül a felhasználói bejelentkezéstől, már a Windows indulásakor, és újraindulhatnak a rendszerrel. Ideális szerveralkalmazásokhoz, háttérfolyamatokhoz.
- Hátrány: A legtöbb felhasználói felülettel (GUI) rendelkező program nem erre készült, és a szolgáltatásként futtatás bonyolultabb lehet. Telepítéséhez mindig admin jogok szükségesek.
3. HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun (Rendszerleíró adatbázis)
Ezt a Registry kulcsot fentebb már említettük. Ha egy adminisztrátor ide bejegyez egy programot, az minden felhasználó bejelentkezésekor elindul. Mivel az írási jogok ehhez a kulcshoz adminisztrátoriak, ez egy centralizált módja a minden felhasználóra kiterjedő automata indítás beállításának, de továbbra is csak bejelentkezés után érvényesül.
Gyakori Hibák és Hibaelhárítás
Még a Feladatütemezővel is adódhatnak problémák. Íme néhány gyakori hiba és tipp a hibaelhárításhoz:
- Elérési út hibák: Győződjön meg róla, hogy a program teljes elérési útja (pl.
C:Program FilesProgramNeveProgram.exe
) pontosan van megadva a Műveletek lapon. Ha az elérési út szóközöket tartalmaz, tegye azt idézőjelbe (pl."C:Program Files (x86)Kovacs Es TarsaApp.exe"
). - Jogosultsági problémák: Ellenőrizze, hogy a Feladatütemezőben kiválasztott felhasználói fiók (aki alatt a program fut) rendelkezik-e a szükséges jogosultságokkal (olvasás, írás) a program fájljaihoz, a program által használt mappákhoz, vagy bármilyen hálózati erőforráshoz. Ha egy program konfigurációs fájlt akar írni valahová, ahová a korlátozott felhasználónak nincs joga, a program nem fog működni.
- Függőségek: A programnak szüksége van más szolgáltatásokra (pl. adatbázis, hálózati meghajtó, internetkapcsolat)? Lehet, hogy ezeknek el kell indulniuk a program előtt. Próbáljon meg késleltetést beállítani az Indítóeszközök lapon, hogy adjon időt a rendszernek a szolgáltatások elindítására.
- Konzolos vs. GUI programok: Ha egy parancssori (konzolos) programot futtat, és az automatikusan bezáródik, lehet, hogy a programnak van egy opciója az ablak nyitva tartására (pl.
/k
acmd.exe
esetén). Ha egy grafikus felhasználói felülettel (GUI) rendelkező programot szeretne futtatni, de a „Futtatás attól függetlenül, hogy be van-e jelentkezve a felhasználó” opciót választotta, a program a háttérben futhat anélkül, hogy megjelenne a felhasználó számára. Ha meg kell jelennie, akkor ne válassza ezt az opciót, hanem a „Futtatás csak akkor, ha a felhasználó be van jelentkezve” és „Bejelentkezéskor” indítóeszközre konfigurálja a feladatot a megfelelő felhasználó kiválasztásával. - Naplózás (Logging): A Feladatütemező a Windows eseménynaplójába (Start -> Vezérlőpult -> Felügyeleti eszközök -> Eseménynapló -> Alkalmazások és szolgáltatások naplója -> Microsoft -> Windows -> TaskScheduler -> Operational) rögzíti a feladatok futásával kapcsolatos eseményeket. Ez kiváló forrás a hibakereséshez. Nézze meg az itt található üzeneteket, ha a feladat nem indul el vagy hibával áll le.
- Munkakönyvtár: Ha a programnak szüksége van bizonyos fájlokra a saját könyvtárában, de az
Indítás helye
(Start in) mező nincs beállítva, akkor lehet, hogy a program nem találja ezeket a fájlokat. Mindig adja meg a program telepítési könyvtárát azIndítás helye
mezőben.
Összefoglalás: A Szabad Kezek Ereje
Ahogy láthatja, a Windows Feladatütemező egy rendkívül sokoldalú és hatékony eszköz a programok automata indításának beállítására. Különösen a korlátozott felhasználói környezetben nyújt olyan rugalmasságot, amit a hagyományos módszerek nem tudnak biztosítani. Függetlenül attól, hogy egy programnak már a rendszerindításkor, bejelentkezés előtt, vagy egy adott felhasználó bejelentkezésekor kell elindulnia, a Feladatütemezővel teljes kontrollt szerezhet a folyamat felett.
A megfelelő konfigurációval biztosíthatja, hogy kritikus alkalmazásai mindig futásképesek legyenek, növelve a rendszer stabilitását és az automatizálás mértékét. Ne hagyja, hogy a jogosultsági korlátok megakadályozzák a hatékony munkavégzést – a Feladatütemezővel a kezében Ön dönti el, mikor és hogyan induljanak el a programjai.