- - Cum să executați automat scripturile PowerShell pe Windows 10

Cum să executați automat scripturile PowerShell pe Windows 10

PowerShell are o mulțime de straturi diferitesecuritate care împiedică executarea scripturilor și comenzilor dăunătoare. De exemplu, în mod implicit, nu puteți rula un script pe care l-ați descărcat de pe internet decât dacă modificați politica de execuție PowerShell. Alte măsuri de securitate vă împiedică să executați un script făcând dublu clic pe acesta. Nu puteți asocia scripturi PS1 cu PowerShell și singura modalitate de a rula un script este să faceți clic dreapta pe acesta și să selectați opțiunea de rulare. Făcând dublu clic pe acesta îl va deschide în blocul de notițe. Acest lucru este excelent pentru o măsură de securitate, dar enervant dacă doriți să se execute un script PowerShell atunci când este executată o sarcină programată. Munca din jur este simplă. Puteți utiliza un script de lot pentru a rula automat scripturi PowerShell.

Script Batch

Următorul este scriptul de care aveți nevoie pentru a rula automat scripturile PowerShell pe Windows 10. Fiecare script PowerShell va avea nevoie de propriul script Batch.

Sintaxă

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

Înlocuiți „Calea către script” cu calea reală a scriptului PowerShell pe care doriți să îl executați. Luați în considerare următorul exemplu;

Exemplu

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

Deschideți Blocul de notă și lipiți scriptul în el. Salvați fișierul cu extensia .bat.

Ce face aceste fișiere de lot este că se deschidePowerShell și apoi executați scriptul la care l-ați indicat. Încă nu puteți face dublu clic pe un script PowerShell pe desktop și îl puteți rula automat în PowerShell. Fișierul curent va deschide o fereastră de prompt de comandă și va afișa un mesaj „Apăsați orice tastă pentru a continua”. Când apăsați o tastă, numai atunci scriptul PowerShell va rula. Dacă preferați scriptul rulat fără a fi necesar să interveniți, editați scriptul de mai sus și eliminați linia „PAUSE”. Ar trebui să arate așa;

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

Scripturi Scheduler și PowerShell

Presupunem că doriți să rulați automat oScriptul PowerShell ca acțiune la o sarcină programată. Pentru a realiza acest lucru, trebuie să creați mai întâi un script de lot corespunzător, așa cum este arătat mai sus, pentru a rula scriptul PowerShell. Apoi, atunci când creați o sarcină programată, selectați scriptul Batch sub Acțiunea pe care ar trebui să o ia ca răspuns la un declanșator. Acest lucru va efectua, de fapt, scriptul PowerShell.

Am utilizat Task Scheduler ca exemplu aici, dardacă utilizați orice altă aplicație de automatizare, va trebui totuși să apelați scriptul Batch. Singura excepție este dacă aplicația de automatizare pe care o utilizați poate deschide PowerShell și apoi indicați-o către scriptul PowerShell.

Comentarii