Bună ziua! Așa cum am promis, am continuat povestea despre scriptul shell al Windows PowerShell. astăzi vom vorbi despre scenarii.
Scripturile Windows PowerShell sunt fișiere text simplu cu extensia .PS1, în care este scris codul PowerShell. Scripturile PowerShell pot fi scrise pas cu pas, direct în shell-ul însuși, apoi transferând codul terminat într-un fișier text extern.
Scripturi în Windows PowerShell 2.0
Rulați pe această mașină ca administrator al PowerShell
După ce executați comanda get-help de achiziție, să examinăm informațiile despre cmdlet-ul de primire
După cum puteți vedea, acest cmdlet primește servicii pe un computer local sau la distanță
În acest articol, vom scrie două scripturi PowerShell. Primul script după executarea acestuia va afișa lista de servicii pe computerul utilizatorului
Al doilea script, după executarea acestuia, sortează toate serviciile de pe computerul utilizatorului la rulare și oprire.
Pentru a salva scripturile, dosarul My_scripts a fost creat în prealabil
Vom scrie scripturi utilizând Windows PowerShell ISE integrat în Windows PowerShell. Rulați-o
Se deschide fereastra principală Windows PowerShell ISE
Introduceți comanda de preluare și executați-o apăsând pe Enter.
După cum puteți vedea, comanda de preluare a serviciului a funcționat cu succes și ne-a arătat lista de servicii de pe acest computer
În partea dreaptă a ferestrei Windows PowerShell ISE, scriem unul după celelalte două comenzi: clar și primiți
Comanda clară șterge fereastra de comandă PowerShell
Comanda de primire a serviciului afișează o listă de servicii pe un computer local sau la distanță
Alegeți File-Save as
Salvați scriptul în dosarul My_scripts creat anterior sub numele Serviciu. În rândul Tip fișier, selectați scripturi PowerShell
Scriptul salvat Service.ps1
Acum trebuie să sortarem serviciile de pe computer să fie difuzate și oprite
Introduceți serviciul get-service | sortare-obiect și apăsați pe Enter
După cum puteți vedea, după executarea serviciului de primire | serviciul status-object status de pe computer sunt sortate în oprire și pornită
În partea dreaptă a ferestrei Windows PowerShell ISE, scrieți două comenzi: Clear and get-service | status-object status
Primul serviciu status-object status afișează o listă de servicii de pe computer și le sortează să ruleze și să se oprească
Alegeți File-Save as
Salvăm scriptul în dosarul My_scripts sub numele Service_status
Deci avem în folderul My_scripts script-urile Service.ps1 și Service_status.ps1
Accesați folderul My_scripts tastând cd C: \ My_scripts
După cum puteți vedea, în folderul My_scripts există două script-uri Service.ps1 și Service_status.ps1
Scripturile din Windows PowerShell sunt pornite după cum urmează. /Script.ps1. \ Script.ps1, unde Script este numele scriptului
Introduceți comanda ./Service.ps1 și executați scriptul
Apare o eroare "C: \ My_scripts \ Service.ps1 nu poate fi descărcat deoarece scripturile nu sunt permise pentru acest sistem"
Această eroare apare deoarece actuala politică de execuție a scriptului din instanța PowerShell care rulează interzice executarea oricărui script.
Există patru politici de scriere în total, și anume:
Restricționat - este interzisă executarea oricărui script
AllSigned - toate scripturile pot fi executate cu o semnătură digitală de încredere (locală și la distanță)
RemoteSigned - toate localurile sunt permise, iar cele de la distanță trebuie să aibă o semnătură digitală de încredere
Fără restricții - este permisă executarea oricăror scenarii
Pentru a determina ce politică de execuție a scriptului este activată în instanța PowerShell care rulează, executați comanda get-executionpolicy
După cum puteți vedea, în instanța PowerShell care rulează, este activată politica de executare a script-urilor restricționate, adică în acest caz este interzisă executarea oricărui script
Pentru a schimba politica de execuție a scriptului, executați setul de comandă set-execuție "......" unde în loc de ghilimele trebuie să specificați una dintre cele patru politici de execuție a scriptului
Modificați politica de execuție a scriptului la RemoteSigned introducând setul de comandă set-execuțiepolicy RemoteSigned
După executarea comenzii set-executionpolicy RemoteSigned, va apărea un mesaj în care modificarea politicii de executare a scriptului poate expune computerul la risc și este solicitat
dacă utilizatorul dorește cu adevărat să modifice politica de execuție. Introduceți Y și apăsați Enter
După modificarea politicii de execuție la RemoteSigned, asigurați-vă că această politică este instalată în instanța PowerShell care rulează, tastând comanda get-executionpolicy
După cum puteți vedea, politica de execuție a scriptului a fost modificată la RemoteSigned
După modificarea politicii de executare a scriptului, rulați scriptul nostru Service.ps1 introducând ./Service.ps1
După cum puteți vedea, scriptul Service.ps1 a lucrat și ne-a afișat lista de servicii de pe acest computer
Acum, executați scriptul Service_status.ps1 introducând ./Service_status.ps1
După cum puteți vedea, scriptul Service_status.ps1 a funcționat. După ce executați acest script, puteți vedea cum sunt afișate serviciile oprite separat de serviciile care rulează