PowerShell heeft veel verschillende lagenbeveiliging die voorkomt dat kwaadaardige scripts en commando's worden uitgevoerd. Standaard kunt u bijvoorbeeld geen script uitvoeren dat u van internet hebt gedownload, tenzij u het uitvoeringsbeleid van PowerShell wijzigt. Een andere beveiligingsmaatregel voorkomt dat u een script uitvoert door erop te dubbelklikken. U kunt PS1-scripts niet aan PowerShell koppelen en de enige manier om een script uit te voeren, is met de rechtermuisknop te klikken en de optie Uitvoeren te selecteren. Dubbelklik erop om het in Kladblok te openen. Dit is geweldig voor een beveiligingsmaatregel, maar vervelend als u wilt dat een PowerShell-script wordt uitgevoerd wanneer een geplande taak wordt uitgevoerd. Het werk is eenvoudig. U kunt een batchscript gebruiken om PowerShell-scripts automatisch uit te voeren.
Batch-script
Het volgende is het batch-script dat u nodig hebt om PowerShell-scripts op Windows 10 automatisch uit te voeren. Elk PowerShell-script heeft zijn eigen Batch-script nodig.
Syntaxis
@ECHO OFF PowerShell.exe -Command "Path to script" PAUSE
Vervang "Pad naar script" door het daadwerkelijke pad naar het PowerShell-script dat u wilt uitvoeren. Overweeg het volgende voorbeeld;
Voorbeeld
@ECHO OFF PowerShell.exe -Command "C:Reminder-ScriptsMilkBuy-Milk.ps1" PAUSE
Open Kladblok en plak het script erin. Sla het bestand op met de extensie .bat.
Wat deze batchbestanden doen, is dat het wordt geopendPowerShell en voert vervolgens het script uit waarnaar u hebt gewezen. U kunt nog steeds niet dubbelklikken op een PowerShell-script op uw bureaublad en het automatisch laten uitvoeren in PowerShell. Het huidige bestand opent een opdrachtpromptvenster en toont het bericht 'Druk op een toets om door te gaan'. Wanneer u op een toets drukt, wordt alleen het PowerShell-script uitgevoerd. Als u de uitvoering van het script verkiest zonder dat u hoeft in te grijpen, bewerkt u het bovenstaande script en verwijdert u de regel 'PAUZEREN'. Het zou er zo uit moeten zien;
@ECHO OFF PowerShell.exe -Command "Path to script"
Taakplanner & PowerShell-scripts
We gaan ervan uit dat u automatisch a wilt uitvoerenPowerShell-script als een actie voor een geplande taak. Om dit te bereiken, moet u eerst een overeenkomstig Batch-script maken, zoals hierboven weergegeven, om het PowerShell-script uit te voeren. Wanneer u vervolgens een geplande taak maakt, selecteert u het Batch-script onder de actie die moet worden uitgevoerd als reactie op een trigger. Hiermee wordt in feite het PowerShell-script uitgevoerd.
We hebben Taakplanner hier als voorbeeld gebruikt, maarals u een andere automatiserings-app gebruikt, moet u nog steeds het Batch-script aanroepen. De enige uitzondering is als de automatiseringsapp die u gebruikt PowerShell kan openen en vervolgens naar het PowerShell-script kan wijzen.
Comments