Så här kör du PowerShell-skript automatiskt i Windows 10

click fraud protection

PowerShell har många olika säkerhetslager som förhindrar att skadliga skript och kommandon körs. Till exempel kan du som standard inte köra ett skript som du har laddat ner från internet om du inte ändrar PowerShell-körningspolicy. Andra säkerhetsåtgärder förhindrar att du kör ett skript genom att dubbelklicka på det. Du kan inte koppla PS1-skript till PowerShell och det enda sättet att köra ett skript är att högerklicka på det och välja köralternativet. Genom att dubbelklicka på den öppnas den i Anteckningar. Detta är bra för en säkerhetsåtgärd men irriterande om du vill att ett PowerShell-skript ska köras när en schemalagd uppgift körs. Arbetet är enkelt. Du kan använda ett batchskript för att automatiskt köra PowerShell-skript.

Batchmanus

Följande är det batchskript du behöver för att automatiskt köra PowerShell-skript på Windows 10. Varje PowerShell-skript behöver sitt eget Batch-script.

Syntax

@ECHO AV. PowerShell.exe -Kommando "Sökväg till skript" PAUS

Byt ut "Sökväg till skript" med den faktiska sökvägen till PowerShell-skriptet som du vill köra. Tänk på följande exempel;

instagram viewer

Exempel

@ECHO AV. PowerShell.exe -Command "C: \ Reminder-Scripts \ Milk \ Buy-Milk.ps1" PAUS

Öppna Anteckningar och klistra in skriptet i det. Spara filen med .bat-förlängningen.

Vad den här batchfilen gör är att den öppnar PowerShell och kör sedan skriptet som du har pekat på det. Du kan fortfarande inte dubbelklicka på ett PowerShell-skript på skrivbordet och låta det automatiskt köras i PowerShell. Den aktuella filen öppnar ett kommandotolk-fönster och det visar ett 'Tryck på valfri knapp för att fortsätta'. När du trycker på en knapp körs bara PowerShell-skriptet. Om du föredrar skriptkörningen utan att du behöver ingripa, redigera ovanstående skript och ta bort raden 'PAUSE'. Det ska se ut så här;

@ECHO AV. PowerShell.exe -Kommando "Sökväg till skript"

Task Scheduler & PowerShell-skript

Vi antar att du automatiskt vill köra ett PowerShell-skript som en åtgärd för en schemalagd uppgift. För att åstadkomma detta måste du först skapa ett motsvarande Batch-skript, som visas ovan, för att köra PowerShell-skriptet. När du skapar en schemalagd uppgift väljer du sedan Batch-skriptet under den åtgärd som den ska vidta som svar på en trigger. Detta kommer faktiskt att köra PowerShell-skriptet.

Vi har använt Task Scheduler som ett exempel här, men om du använder någon annan automatiseringsapp måste du fortfarande ringa Batch-skriptet. Det enda undantaget är om automatiseringsappen som du använder kan öppna PowerShell och sedan peka på PowerShell-skriptet.

watch instagram story