PowerShell har mange forskellige lag af sikkerhed, der forhindrer, at ondsindede scripts og kommandoer udføres. For eksempel kan du som standard ikke køre et script, du har downloadet fra internettet, medmindre du ændrer PowerShell-eksekveringspolitikken. En anden sikkerhedsforanstaltning forhindrer dig i at udføre et script ved at dobbeltklikke på det. Du kan ikke knytte PS1-scripts til PowerShell, og den eneste måde at køre et script på er at højreklikke på det og vælge Kør-indstillingen. Dobbeltklik på den åbner den i Notesblok. Dette er fantastisk til en sikkerhedsforanstaltning, men irriterende, hvis du vil have et PowerShell-script til at udføre, når en planlagt opgave køres. Arbejdet rundt er simpelt. Du kan bruge et batch script til automatisk at køre PowerShell scripts.
Batch Script
Følgende er det batch script, du har brug for for at kunne køre PowerShell scripts på Windows 10. Hver PowerShell script skal bruge sit eget Batch Script.
Syntaks
@ECHO OFF PowerShell.exe -Command "Path to script" PAUSE
Udskift "Sti til script" med den faktiske sti til PowerShell-scriptet, du vil udføre. Overvej følgende eksempel;
Eksempel
@ECHO OFF PowerShell.exe -Command "C: Påmindelser-Scripts Milk Buy-Milk.ps1" PAUSE
Åbn notesblok og indsæt scriptet i det. Gem filen med.bat-udvidelsen.
Hvad dette batch-filer gør er, at det åbner PowerShell og kører det script, du har peget på. Du kan stadig ikke dobbeltklikke på et PowerShell-script på skrivebordet og få det automatisk til at køre i PowerShell. Den aktuelle fil åbner et kommandoprompt vindue, og det vil vise en 'Tryk på en vilkårlig tast for at fortsætte' beskeden. Når du trykker på en tast, vil kun PowerShell-scriptet køre. Hvis du foretrækker scriptet, uden at du behøver at gribe ind, skal du redigere ovenstående script og fjerne "PAUSE" -linjen. Det skal se sådan ud;
@ECHO OFF PowerShell.exe -Command "Sti til script"
Task Scheduler & PowerShell Scripts
Vi antager, at du vil køre et PowerShell-script automatisk som en handling til en planlagt opgave. For at opnå dette skal du først oprette et tilsvarende Batch-script som vist ovenfor for at køre PowerShell-scriptet. Næste, når du opretter en planlagt opgave, skal du vælge Batch-scriptet under den handling, det skal tage som reaktion på en trigger. Dette vil i virkeligheden køre PowerShell-scriptet.
