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 futtathatja az internetről letöltött szkriptet, 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 rákattint, é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.

  Javítás: Engedje az alkalmazásoknak a háttérben futni a visszaállítást a Windows 10 rendszeren

Batch Script

A következő a kötegelt szkript, amelyre a PowerShell-szkriptek Windows 10 rendszeren való automatikus futtatásához van szüksége. Minden PowerShell-szkriptnek saját Batch Scriptre lesz szüksége.

Szintaxis

@ECHO OFF
PowerShell.exe -Command "Path to script"
PAUSE

Cseré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-ScriptsMilkBuy-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. Amikor 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 egy triggerre válaszul kell végrehajtania. Ez gyakorlatilag a PowerShell-szkriptet fogja futtatni.

  Bővítmények telepítése a Windows Store-on kívülről a Microsoft Edge-ben

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 a használt automatizálási alkalmazás képes megnyitni a PowerShellt, majd a PowerShell-szkriptre irányítani.