PowerShell-szkriptek automatikus futtatása Windows 10 rendszeren
A PowerShell számos különböző biztonsági réteggel rendelkezik, amelyek megakadályozzák a rosszindulatú szkriptek és parancsok végrehajtását. Például alapértelmezés szerint nem futtathat egy szkriptet, amelyet letöltött az internetről, hacsak nem módosítja a PowerShell végrehajtási szabályzatát. Egy másik biztonsági intézkedés megakadályozza, hogy dupla kattintással végrehajtson egy parancsfájlt. A PS1-szkriptek nem társíthatók a PowerShell-hez, és a szkript futtatásának egyetlen módja, ha jobb gombbal kattint rá, és kiválasztja a futtatási lehetőséget. Dupla kattintással megnyílik a Jegyzettömbben. Ez nagyszerű biztonsági intézkedésként, de bosszantó, ha azt szeretné, hogy egy PowerShell-szkript fusson egy ütemezett feladat futtatásakor. A munkavégzés egyszerű. A PowerShell-szkriptek automatikus futtatásához kötegelt parancsfájlt is használhat.
Batch Script
A következő a kötegelt szkript, amelyre szüksége van a PowerShell-szkriptek automatikus futtatásához Windows 10 rendszeren. Minden PowerShell-szkriptnek saját Batch Scriptre lesz szüksége.
Szintaxis
@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSECserélje ki a „Path to script” szót a végrehajtani kívánt PowerShell-szkript tényleges elérési útjára. Tekintsük a következő példát;
Példa
@ECHO OFF
PowerShell.exe -Command "C:\Reminder-Scripts\Milk\Buy-Milk.ps1"
PAUSE
Nyissa meg a Jegyzettömböt, és illessze be a szkriptet. Mentse el a fájlt .bat kiterjesztéssel.
Ezek a kötegfájlok az, hogy megnyitják a PowerShellt, majd lefuttatják azt a szkriptet, amelyre rámutattál. Továbbra sem tud duplán kattintani egy PowerShell-szkriptre az asztalon, és nem tudja automatikusan futtatni a PowerShellben. Az aktuális fájl megnyílik egy Parancssor ablak, és megjelenik a „Nyomja meg bármelyik billentyűt a folytatáshoz” üzenet. Ha megnyom egy billentyűt, csak akkor fut le a PowerShell-szkript. Ha azt szeretné, hogy a szkript beavatkozás nélkül fusson, szerkessze a fenti szkriptet, és távolítsa el a „SZÜNET” sort. Így kell kinéznie;
@ECHO OFF
PowerShell.exe -Command "Path to script"Feladatütemező és PowerShell-szkriptek
Feltételezzük, hogy egy PowerShell-szkriptet szeretne automatikusan futtatni egy ütemezett feladat műveleteként. Ennek eléréséhez először létre kell hoznia egy megfelelő Batch-szkriptet a fent látható módon a PowerShell-szkript futtatásához. Ezután, amikor ütemezett feladatot hoz létre, válassza ki a Batch szkriptet a Művelet alatt, amelyet az eseményindító hatására végre kell hajtania. Ez gyakorlatilag a PowerShell-szkriptet fogja futtatni.
Itt példaként a Feladatütemezőt használtuk, de ha bármilyen más automatizálási alkalmazást használ, akkor is meg kell hívnia a Batch szkriptet. Az egyetlen kivétel az, ha az Ön által használt automatizálási alkalmazás meg tudja nyitni a PowerShellt, majd rámutat a PowerShell-szkriptre.
