Scripting în Windows

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ă

Articole similare