Sådan køres PowerShell-scripts automatisk på Windows 10

PowerShell har mange forskellige sikkerhedslag, der forhindrer ondsindede scripts og kommandoer i at blive udført. For eksempel kan du som standard ikke køre et script, som du har downloadet fra internettet, medmindre du ændrer PowerShell-udførelsespolitikken. 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ørselsindstillingen. Dobbeltklik på den åbner den i Notesblok. Dette er fantastisk til en sikkerhedsforanstaltning, men irriterende, hvis du vil have et PowerShell-script til at køre, når en planlagt opgave køres. Arbejdet omkring er enkelt. Du kan bruge et batchscript til automatisk at køre PowerShell-scripts.

  Sådan rettes 0x80240fff-fejl på Windows 10-opdatering

Batch script

Det følgende er det batchscript, du skal bruge for at køre PowerShell-scripts automatisk på Windows 10. Hvert PowerShell-script skal bruge sit eget Batch-script.

Syntaks

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

Erstat “Sti til script” med den faktiske sti til det PowerShell-script, du vil udføre. Overvej følgende eksempel;

Eksempel

@ECHO OFF
PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1"
PAUSE

Åbn Notesblok og indsæt scriptet i det. Gem filen med filtypenavnet .bat.

Hvad denne batch-filer gør, er, at den åbner PowerShell og derefter kører det script, du har peget på det. Du kan stadig ikke dobbeltklikke på et PowerShell-script på dit skrivebord og få det til at køre automatisk i PowerShell. Den aktuelle fil åbner et kommandopromptvindue, og den vil vise meddelelsen ‘Tryk på en vilkårlig tast for at fortsætte’. Når du trykker på en tast, vil PowerShell-scriptet kun køre. Hvis du foretrækker at køre scriptet uden at du behøver at gribe ind, skal du redigere ovenstående script og fjerne ‘PAUSE’-linjen. Det skulle se sådan ud;

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

Opgaveplanlægning og PowerShell-scripts

Vi antager, at du automatisk vil køre et PowerShell-script 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. Dernæst, når du opretter en planlagt opgave, skal du vælge Batch-scriptet under den handling, det skal udføre som svar på en trigger. Dette vil i realiteten køre PowerShell-scriptet.

  Sådan ændres højden eller bredden af ​​proceslinjen på Windows 10

Vi har brugt Task Scheduler som et eksempel her, men hvis du bruger en anden automatiseringsapp, skal du stadig kalde Batch-scriptet. Den eneste undtagelse er, hvis den automatiseringsapp, du bruger, kan åbne PowerShell og derefter pege den til PowerShell-scriptet.