PowerShell har mange forskellige lag afsikkerhed, der forhindrer, at ondsindede scripts og kommandoer udføres. For eksempel kan du som standard ikke køre et script, som 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ørselsindstillingen. Dobbeltklik på den åbnes i Notepad. Dette er fantastisk til en sikkerhedsforanstaltning, men irriterende, hvis du vil have et PowerShell-script til at udføres, når en planlagt opgave køres. Arbejdet omkring er enkelt. 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 automatisk at køre PowerShell-scripts 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 PowerShell-scriptet, du vil udføre. Overvej følgende eksempel;
Eksempel
@ECHO OFF PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1" PAUSE
Åbn Notepad, og indsæt scriptet i det. Gem filen med .bat-udvidelsen.
Hvad denne batchfiler gør, er at den åbnesPowerShell og kører derefter det script, som du har peget på det. Du kan stadig ikke dobbeltklikke på et PowerShell-script på dit skrivebord og få det automatisk til at køre i PowerShell. Den aktuelle fil åbner et kommandopromptvindue, og det viser en 'Tryk på en vilkårlig tast for at fortsætte'. Når du trykker på en tast, kører PowerShell-scriptet først. Hvis du foretrækker scriptkørsel, uden at du behøver at gribe ind, skal du redigere ovenstående script og fjerne linjen 'PAUSE'. Det skal se sådan ud;
@ECHO OFF PowerShell.exe -Command "Path to script"
Task Scheduler & PowerShell-scripts
Vi antager, at du automatisk vil køre enPowerShell-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. Når du opretter en planlagt opgave, skal du vælge batch-scriptet under den handling, den skal tage som svar på en trigger. Dette vil faktisk køre PowerShell-scriptet.
Vi har brugt Task Scheduler som et eksempel her, menHvis du bruger en anden automatiseringsapp, bliver du stadig nødt til at ringe til batch-scriptet. Den eneste undtagelse er, hvis den automatiseringsapp, du bruger, kan åbne PowerShell og derefter pege den til PowerShell-scriptet.
Kommentarer