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

PowerShell are o mulțime de straturi diferite de securitate care împiedică executarea scripturilor și comenzilor rău intenționate. 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. O altă măsură de securitate vă împiedică să executați un script făcând dublu clic pe el. Nu puteți asocia scripturi PS1 cu PowerShell și singura modalitate de a rula un script este să faceți clic dreapta pe el și să selectați opțiunea de rulare. Făcând dublu clic pe acesta, îl va deschide în Notepad. Acest lucru este grozav pentru o măsură de securitate, dar enervant dacă doriți ca un script PowerShell să se execute atunci când este executată o sarcină programată. Munca este simplă. Puteți utiliza un script lot pentru a rula automat scripturile PowerShell.

Batch Script

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

Sintaxă

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

Înlocuiți „Calea către script” cu calea reală către scriptul 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 Notepad și inserați scriptul în el. Salvați fișierul cu extensia .bat.

Ceea ce face acest fișier batch este că deschide PowerShell și apoi rulează scriptul către care l-ați indicat. Tot nu puteți face dublu clic pe un script PowerShell de pe desktop și îl puteți rula automat în PowerShell. Fișierul curent va deschide o fereastră 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 se va rula scriptul PowerShell. Dacă preferați rularea scriptului fără a fi nevoie să interveniți, editați scriptul de mai sus și eliminați linia „PAUZĂ”. Ar trebui să arate așa;

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

Programator de activități și scripturi PowerShell

Presupunem că doriți să rulați automat un script PowerShell ca acțiune pentru o sarcină programată. Pentru a realiza acest lucru, mai întâi trebuie să creați un script Batch corespunzător, așa cum se arată mai sus, pentru a rula scriptul PowerShell. Apoi, 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 rula, de fapt, scriptul PowerShell.

  Cum să schimbați culoarea barei de titlu în Windows 10

Am folosit Task Scheduler ca exemplu aici, dar dacă 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 o poate direcționa către scriptul PowerShell.