Cum se scrie și cum se execută scripturile PowerShell

Puteți gestiona evenimente avansate SQL Server utilizând furnizorul SQL Server PowerShell.   Subfolderul XEvent este localizat pe unitatea SQLSERVER.   Puteți accesa folderul într-unul din următoarele moduri.

În arborele de folder XEvent, puteți vedea sesiunile de evenimente extinse extinse și evenimentele, obiectivele și predicatele asociate acestora.   De exemplu, dacă introduceți CD sesiuni în folderul PS SQLSERVER: \\ XEvent \\ ServerName \\ InstanceName\u003e, apăsați Enter, tastați dir și apoi apăsați Enter, puteți vedea o listă de sesiuni stocate în această instanță.   Puteți verifica, de asemenea, dacă sesiunea este în curs de execuție (și dacă da, cât timp) și dacă sesiunea este setată să înceapă cu instanța în curs.

Pentru a vizualiza evenimentele, predicatele lor și obiectivele asociate cu sesiunea, puteți schimba numele directorului în numele sesiunii și apoi vizualizați dosarul evenimentelor sau folderul obiective.   De exemplu, pentru a vizualiza evenimentele și predicatele lor asociate cu sesiunea implicită de monitorizare a stării de sănătate a sistemului, în folderul PS SQLSERVER: \\ XEvent \\ ServerName \\ InstanceName \\ Sessions\u003e, tastați cd system_health \\ events, apăsați Enter, tastați dir și apoi apăsați Enter .

Furnizorul PowerShell SQL Server oferă o gamă largă de caracteristici pentru crearea, modificarea și gestionarea sesiunilor de evenimente avansate.   Următoarea secțiune oferă câteva exemple simple de utilizare a scripturilor PowerShell cu evenimente avansate.

    Scripturile trebuie să fie executate din locația PS SQLSERVER: \\\u003e (pentru a merge la ea, tastați linie de comandă  sqlps).

    Scripturile folosesc instanța implicită a SQL Server.

    Scripturile trebuie salvate cu extensia PS1.

    Politica de execuție PowerShell trebuie să permită executarea scriptului.   Utilizați cmdletul pentru a seta politica de execuție. Set-Executionpolicy.   (Pentru mai multe informații, introduceți get-help set-executivepolicy -detailed  și apăsați Enter.)

Scriptul următor creează o nouă sesiune numită „TestSession”.

#Script pentru crearea unei sesiuni. cd XEvent $ h \u003d hostname cd $ h #Utilizați instanța implicită. $ magazin \u003d dir | unde ($ _. DisplayName -ieq "implicit") $ sesiune \u003d obiect nou Microsoft.SqlServer.Management.XEvent.Session -argumentlist $ store, "TestSession" $ event \u003d $ session.AddEvent ("sqlserver.file_written") $ event.AddAction ("package0.callstack") $ session.Create ()

Scriptul următor adaugă ținta bufferului de apel la sesiunea creată în exemplul precedent.   (Acest exemplu demonstrează utilizarea metodei Alter.   Nu uitați că puteți adăuga un obiectiv numai după crearea unei sesiuni.)  #Script pentru crearea unei sesiuni. cd XEvent $ h \u003d hostname cd $ h #Utilizați instanța implicită. $ magazin \u003d dir | unde ($ _. DisplayName -ieq "implicit") $ sesiune \u003d new-object Microsoft.SqlServer.Management.XEvent.Session -argumentlist $ store, "TestSession2" $ event \u003d $ session.AddEvent ("sqlserver.file_written") # Construiți un predicat "egal_i_unicode_string (calea, N" c: \\ temp.log ")". $ column \u003d $ store.SqlServerPackage.EventInfoSet ["file_written"]. DataEventColumnInfoSet ["calea"] $ operand \u003d new-object Microsoft.SqlServer.Management.XEvent.PredOperand -argumentlist $ column $ value \u003d new-object Microsoft.SqlServer. Management.XEvent.PredValue -argumentlist "c: \\ temp.log" $ compare \u003d $ store.Package0Package.PredCompareInfoSet ["egal_i_unicode_string"] $ predicat \u003d new-object Microsoft.SqlServer.Management.XEvent.PredFunctionExpr -argumentlist evaluare operand, valoare $ eveniment $.SetPredicate ($ predicat) $ sesiune.Create ()

Întotdeauna este loc pentru creativitate în administrare. Vrei să faci o automatizare a unei sarcini de rutină? Vă rog! Aveți nevoie să verificați periodic activitatea? Fără întrebare! Doriți să procesați un raport gigantic și să afișați doar datele actuale? Este de asemenea posibil. Toate aceste și multe alte sarcini sunt rezolvate cel mai bine folosind scripturi, iar PowerShell în cazul Windows este cea mai bună alegere.

Ce este PowerShell și ce este bun

Utilizatorii UNIX și Linux și, dintr-un moment și cu macOS, s-au obișnuit cu faptul că Bash este întotdeauna la îndemână - un instrument puțin vechi, dar universal și puternic, cu care poți face lucruri uimitoare doar cu câteva linii. Înregistrați un script nou în cron - și ați terminat, acesta rulează deja pe computer sau server și face liniștit ceva util.

Revenind la Windows (și uneori este imposibil fără el), vă dați seama că scripturile .bat sunt bune, dar nu le salvează întotdeauna: capacitățile lor sunt foarte limitate. Și dacă tot credeți că PowerShell este un lucru necunoscut, pentru care trebuie să ridicați ceva și să îl configurați, atunci nu vă grăbiți la concluzii - este, dacă arătați, complet bine.

Windows PowerShell  - Acesta este un instrument de automatizare extensibil cu surse deschise, care constă dintr-un limbaj shell (linie de comandă) și script. A fost afișat pentru prima dată în 2003 (apoi s-a numit Monad). PowerShell 2.0 a venit cu Windows 7 și Server Windows  2008 R2 și de atunci este prezent în Windows ca o componentă standard. A fost inclus chiar în Windows XP SP3. PowerShell este bazat pe și integrat cu .NET Framework. PowerShell poate accesa COM, WMI și ADSI și, de asemenea, execută comenzi ale consolei.

În general, „posik” are legături puternice cu produsele Microsoft, indiferent dacă este Active Directory sau un server de mail Exchange. Aceasta vă permite să le accesați prin consolă și să emiteți comenzi fără a vă conecta la snap-in-ul serverului.

Dacă nu te-a interesat PowerShell înainte, atunci cel mai probabil ai cea de-a doua versiune. Recomand actualizarea la cel puțin a treia - conține mult mai multe funcții și funcții utile. Dacă nu intrați în detalii, atunci PowerShell 2.0 include aproximativ o duzină de module și aproximativ 350 de comenzi, iar PowerShell 3.0 are deja aproximativ 2.300 cmdlet din mai mult de 70 de module. Hacker a mai scris despre cum este diferită cea mai nouă versiune PowerShell 5 a Windows 10.

Alegeți un mediu de dezvoltare și instrumente

Acum să ne dăm seama unde este cel mai convenabil să scriem cod. Puteți, desigur, în Notepad, Notepad ++ sau Sublime. Dar acest lucru nu este cea mai competentă alegere a editorului. Cel mai bine este să începeți cu PowerShell, înarmat cu pachetul.



Acesta nu este chiar un editor, ci un mediu de dezvoltare aproape complet. Există o funcție IntelliSense care vă permite să vizualizați o listă de cmdleturi și parametrii lor, variabilele, utilitățile și multe altele. Fișierele sunt acceptate, este posibil să extindeți setul de funcții datorită diverselor suplimente. Foarte folositoare și Comenzi ferestre. Este posibil să compuneți comenzi în el în modul vizual: selectați un modul, găsiți cmdlet-ul necesar și setați parametrii necesari pentru el. Comanda rezultată poate fi copiată în consolă sau rulată imediat. În general, un fel de constructor pentru administrator. Și, desigur, există evidențierea sintaxei, debugger și multe altele.

Cu toate acestea, PowerShell ISE are de asemenea concurenți demni. Unul dintre ei este.

PowerGUI este un plus vizual la PowerShell. Îți ușurează crearea propriilor scripturi înainte de a selecta cmdlet-urile necesare. Luați ce aveți nevoie pentru a rezolva problema și trageți și aruncați părți ale codului până obțineți scriptul. Una dintre principalele caracteristici ale PowerGUI sunt Power Packs, scripturi gata pregătite publicate de comunitatea de utilizatori și prevăzute pentru acces gratuit. Există, de asemenea, comenzi simple, cum ar fi adăugarea de utilizatori, și cele complexe, de exemplu, gestionarea comutatoarelor și mașinilor virtuale. Toate sunt ușor de completat și de modificat pentru a se potrivi nevoilor tale.



Firms Sapien - mediu mai avansat, care este proiectat pentru dezvoltarea în comun a unui proiect o mulțime de  participanți. Dacă v-ați ocupat vreodată de Visual Studio, atunci cred că veți observa asemănările. Funcțiile utile PowerShell Studio includ panoul Panglică, suportul de depanare la distanță și funcțiile compilatorului care vă permit să includeți scripturi în fișierele executabile. Există suport pentru diferite versiuni de PowerShell.



De menționat este browserul Script pentru Windows PowerShell ISE. Acesta nu este un mediu de dezvoltare, ci un instrument foarte interesant dezvoltat de Microsoft. Browser-ul Script oferă acces la o bază de date de scripturi gata pregătite care pot fi utilizate ca mostre pentru scrierea codului dumneavoastră. Și acest lucru știe să analizeze codul pe care îl scrieți și vă spune cum să-l îmbunătățiți.



Câteva trucuri utile

După ce v-ați dat seama de editor, puteți începe să scrieți cod. PowerShell este un limbaj simplu și cred că veți da repede seama ce anume. Comenzile de aici se numesc cmdleturi și fiecare dintre ele constă din două părți. Mai întâi vine acțiunea, de exemplu Obțineți, setați, adăugați, invocați, eliminați. Apoi indică spre ce este vizată acțiunea: Service, VM, AzureAccount, DHCPServerSetting. Fiecare parte este separată de cealaltă cu o cratime. Se dovedește, de exemplu, proces de obținere. Aceasta, apropo, este o comandă utilă care afișează o listă de procese. Spune dacă scrii

get - procesează BadTh *

vom vedea ceva de genul:

Mânere NPM (K) PM (K) WS (K) VM (M) CPU (procesoare) ID procesNume

------------------------

28 4 - 210844 - 201128 - 163 25,67 2792 BadThread

Acum puteți finaliza procesul suspendat:

O puteți vedea recursiv, deși cu o logică puțin mai complexă:

De asemenea, puteți alerga

Apropo, pentru fiecare câmp din fereastra de opțiuni cont  sau computer, puteți merge și citi datele. În acest fel puteți face felii întregi. Iată, de exemplu, o interogare bazată pe date despre numere de telefon:

Get - AdUser - Filter * - Properties OfficePhone | FT OfficePhone, UserPrincipalName

PowerShell vs. bat

Uneori, problema poate fi rezolvată atât prin metoda bunicului vechi, cât și cu ajuta PowerShell. Vă recomand să nu fiți leneși și să folosiți PS, doar pentru că îl veți învăța mai repede și veți putea să îl folosiți în situații mai dificile. În plus, veți aprecia treptat sintaxa - mai elegantă și mai consistentă. Iată câteva exemple despre cum se făceau lucrurile înainte și cum pot fi realizate cu PowerShell.

Cmdlet-uri PowerShell pentru ieșire

De obicei, PowerShell generează o anumită ieșire. Pentru a ieși aceste date, există extra-cmdlet-uri speciale (cmdlets al căror nume începe cu Out-). Atunci când comanda PowerShell executată returnează date, acestea sunt conectate la intrarea cmdlet-ului Out, care le prelucrează și le trimite la dispozitivul de ieșire (la ecran, la un fișier, la o imprimantă etc.).

Pentru a vizualiza aceste cmdleturi, executați comanda:

Get-Command -Verb Out

În afara gazdă

Cmdlet-ul Out-Host afișează date pe ecran. De exemplu:

Putere de procesare Get-Process | În afara gazdă

Cu toate acestea, adăugarea Out-Host la sfârșitul comenzii este opțională. La sfârșitul conductei, cmdletul Out-Default este localizat în mod implicit, care redirecționează totul către Out-Host. Ie comanda anterioară este echivalentă cu comanda:

Putere de procesare Get-Process | Out-Implicit

care la rândul său este echivalent cu comanda:

Fișă de putere pentru procesare rapidă

De fapt, mecanismul de ieșire este și mai confuz. După cum vă amintiți, PowerShell are ca rezultat obiecte. Cmdlet-urile din exterior nu știu să funcționeze cu niciun obiect, ci doar cu un tip special de obiecte de formatare, așa că, atunci când este primit un obiect, se numește unul dintre cmdlet-urile de formatare (Format- *). Formatul cmdlet furnizează cmdlet-ul Out cu formatarea obiectelor care descriu construcția datelor de ieșire, iar cmdlet-ul Out le trimite la dispozitivul dorit. Ie la executarea comenzii:

Fișă de putere pentru procesare rapidă

îndeplinește de fapt comanda:

Putere de procesare Get-Process | Format-Table | În afara gazdă


Deși adăugarea Out-Host la sfârșitul unei comenzi este opțională, în unele cazuri este convenabil. De exemplu, el are o cheie. paginare, cu care puteți organiza paginarea:

Procesul preluat | Pagină în afara gazdei


Cmdlet-ul Out-File redirecționează ieșirea către fișierul specificat, de exemplu:

Putere de procesare Get-Process | Out-file proc.txt

În mod implicit, datele din fișier sunt suprascrise. Refuzați suprascrierea unui fișier existent, specificând o cheie noclobberși dacă trebuie să adăugați date unui fișier existent, puteți utiliza cheia appendcare adaugă date la sfârșitul fișierului:

Putere de procesare Get-Process | Out-File proc.txt -Append


Puteți utiliza sintaxa shorthand pentru ieșirea într-un fișier. De exemplu, pentru a scrie:

Get-Process powershell\u003e proc.txt

sau pentru a adăuga la sfârșitul fișierului:

Get-Process powershell \u003e\u003e proc.txt

Out-GridView

Cmdlet-ul Out-GridView afișează date sub forma unui tabel grafic în care pot fi filtrate și sortate în funcție de atributul dorit. Pentru claritate, puteți specifica o cheie titlucare va fi afișat în titlu:

Procesul preluat | Procese din Out-GridView-Title


Pornirea celei de-a treia versiuni a PowerShell Out-GridView acceptă cheia passthru, care vă permite să transferați datele primite mai departe în conductă. De exemplu, puteți afișa o listă de procese, în snap-in grafic, selectați-le pe cele necesare și treceți-le pe cmdlet-ul Stop-Process, care va opri procesele selectate:

Procesul preluat | Out-GridView -PassThru | Opriți procesul


Cmdletul Out-Null este utilizat dacă nu este necesară ieșirea. Acesta trimite datele primite către dispozitivul NULL, adică. le scoate. De exemplu, luați următoarea comandă:

$ process \u003d Get-WmiObject win32_process -Filter ″ Nume \u003d ′ Notepad.exe ′ ″
$ process.Terminate ()

Pe lângă acțiunea principală (oprirea procesului), afișează o mulțime de informații inutile. Pentru a scăpa de ea, trimiteți ieșirea la Out-Null, de exemplu, astfel:

$ proces.Terminare () | Out-Null

$ process.Terminate ()\u003e $ null


CMdlet-ul Out-String convertește intrarea într-o serie de șiruri. În esență, Out-String transformă obiectele PowerShell în șiruri, care pot fi procesate în continuare ca în text simplu (format, căutare etc.).

De exemplu, obținem procesul, îl salvăm în variabila $ a și privim tipul de date:

$ a \u003d Putere-procesare Get-Process
  $ a.GetType ()

Apoi, alimentați conținutul șirului și salvați ieșirea la variabila $ b:

$ b \u003d $ a | Out-String
  $ b.Tipul tip Get ()

După cum puteți vedea din exemplu, tipul de date de intrare este Proces, iar tipul de ieșire este String.


Out-String este fundamental diferită de alte cmdlets. Deoarece cmdlet-urile obișnuite funcționează cu rezultatul final al comenzilor anterioare, ei înșiși nu produc nicio ieșire. De aceea, cmdlet-ul out este de obicei plasat ultimul pe linia de comandă, deoarece după el nu mai rămâne nimic în conductă cu care să funcționeze alte cmdlet-uri.

În schimb, Out-String preia obiecte, le transformă într-o serie de șiruri și le trece pe conductă. În mod implicit, datele sunt acumulate și returnate într-un singur rând, dar folosind o cheie șuvoi  puteți specifica ieșirea pe o linie separată pentru fiecare obiect.

De exemplu, enumerăm serviciile de sistem cu toate proprietățile și le formatăm sub forma unui tabel:

Obținerea serviciului | Format-Table -Property * -AutoSize

Întrucât lățimea consolei este limitată la 80 de caractere, majoritatea datelor vor fi decupate, ceea ce nu este foarte sănătos.


Pentru a nu tăia ieșirea, direcționați-o către o ieșire și creșteți lățimea:

Obținerea serviciului | Format-Table -Property * -AutoSize | În afara șirului-lățime 1024

Acum, toate datele sunt pe ecran, dar încă nu arată foarte bine.


Corectați situația trecând ieșirea din Out-String la cmdlet-ul Out-File:

Obținerea serviciului | Format-Table -Property * -AutoSize | În afara șirului-lățime 1024 | Out-file service.txt

La ieșire, obținem un fișier cu un tabel cu lățimea dorită, iar pentru vizualizare există o bară de defilare. Astfel, puteți crea și vizualiza tabele de aproape orice lățime.


Cmdletul Out-Printer redirecționează ieșirea către o imprimantă. De exemplu:

Obținerea serviciului | Format-Table -Property * -AutoSize | Out-File service.txt -Width 1024
Get-Content service.txt | Imprimantă afară

Ieșirea este trimisă imprimantei implicite din sistem. Puteți utiliza tasta pentru a specifica o imprimantă alternativă. nume.

10/10/2010 - Xaegr

Recent am dat peste acest post. Oferă câteva exemple interesante în acest sens. „Ca în Perl, una sau două linii de cod pot face mai mult de zece linii într-un alt limbaj de programare”  😉 Mi s-a părut că ar fi interesant să comparăm cum ar arăta aceste exemple pe PowerShell 😉 Și cel mai important, poate fi util celor care îl cunosc deja pe Perl, dar studiază acum PS.

După cum știți, PowerShell este o limbă foarte tânără și, desigur, a moștenit multe elemente din alte limbi și, prin urmare, în unele locuri este similară cu multe dintre ele. De multe ori aud fraze de genul „Oh, au furat PHP!” Și „Acesta este C # cu o sintaxă mai simplă” despre codul PowerShell. În opinia mea, cel mai mult, PowerShell este similar cu Perl. Acest lucru nu este surprinzător - Perl a fost una dintre limbile preferate ale autorilor PS, iar acest lucru este minunat - datorită multor caracteristici bune din PS lui Perl.

Urcă pentru superstarul Larry Wall și Perl, foarte puține persoane și tehnologii care au avut un impact (pozitiv 🙂) pe care aceste 2 au avut-o în industrie. Lumea este un loc mai bun pentru că s-a născut acel tip!

A fost o scuză 😉 Acum să trecem la codul 🙂

Trebuie să spun imediat - mi se pare că aceasta este doar o selecție bună, am reușit să înregistrez multe exemple pe PS mult mai scurte și, cel mai important - mai înțeles (subiectiv, desigur 🙂). În atâtea domenii, Perl va oferi cu ușurință PowerShell un început de cap în ceea ce privește codul compact, poate chiar și unele dintre aceste exemple de Perl pot fi scrise mult mai frumos, așa că m-aș bucura dacă oamenii care cunosc Perl își lasă comentariile constructive 🙂

Citez doar descrieri, codul Perl poate fi găsit în postarea inițială.

1. Verificați dacă elementul (primul argument al funcției, trecut cu valoare) există în tablou (al doilea argument al funcției, trecut prin referință).

# Instrucțiune încorporată-conține  $ array -conține $ element

2. Eliminați din tabloul @arr elementele care se află în tabloul @skip.

# Semn de întrebare - alias pentru unde  $ arr | ? ($ skip - nu conține $ _)

În locul punctului 3, am scris un filtru frumos (subiectiv, desigur:):

   filter Replace-Words (foreach ($ arg în $ args) (pereche $ \u003d $ arg. split ("\u003d", 2) # Tăiați argumentul în 2 părți prin semn   $ _ \u003d $ _ -premieră $ pereche [0], $ pereche [1] # Înlocuiți aparițiile într-un șir } $_ # Producem șirul rezultat }

Folosește de exemplu așa:

   $ text \u003d Get-Content. \\ test1.txt $ text | Înlocuiți-Cuvinte rău \u003d mere bune \u003d pere  | Set-Conținut. \\ Test1.txt

4. Enumerați numele fișierelor și directoarelor din directorul dat, sortate după data ultimului acces. Globurile de obicei sortează lista după fișier și nume de director. Pentru a sorta data ultimei modificări, înlocuiți numărul 8 cu 9.

Probabil că toată lumea a auzit despre PowerShell, dar probabil că nu toată lumea a avut șansa de a lucra cu acesta. Pentru cei care abia încep să-și croiască drum în jungla PowerShell, oferim o traducere a unei postări publicate pe 4sysops.com. Vorbește despre 7 comenzi care îi vor ajuta pe cei care tocmai au început să lucreze cu PowerShell. Pentru detalii - Bine ați venit la pisică.

GET-HELP

Primul și cel mai important cmdlet PowerShell este apelul de ajutor. Folosind cmdlet-ul Get-Help, puteți verifica sintaxa, consultați exemple de utilizare și o descriere detaliată a parametrilor oricărui cmdlet PowerShell. Acest cmdlet este remarcabil pentru faptul că puteți pur și simplu să tastați Serviciile Get-Help pentru a obține o listă cu toate cmdlet-urile potrivite pentru lucrul cu serviciile.
  Un exemplu:
  PS C: \\\u003e Serviciu de Ajutor Get

Puteți selecta orice cmdlet din lista afișată prin cererea de mai sus pentru a obține ajutor în acest sens. De exemplu
  PS C: \\\u003e Get-Help -Nume Get-Service
  Obțineți toate informațiile despre cmdlet-ul Get-Service (discutat mai târziu).


GET-CONȚINUT

  Citirea conținutului fișierelor este cea mai comună cerință pentru începători care încearcă să învețe PowerShell. Procesul de citire a fișierelor cu PowerShell este simplificat. Chiar și un profan poate citi conținutul unui fișier pur și simplu trecând-l pe cmdlet-ul Get-Content.
  Un exemplu.
  PS C: \\\u003e Get-Content C: \\ scripts \\ Computers.txt mytestpc1 techibee.com dummynotresolvinghost.com PS C: \\\u003e

Aveți nevoie de mai multe informații despre cmdlet? Utilizați Get-Help:
  PS C: \\\u003e Get-Help Get-Content -Detiled

GET-SERVICE

  Acest cmdlet listează toate serviciile instalate pe computer. Îl puteți utiliza pentru a obține informații despre un anumit serviciu, un set de servicii sau aproape toate serviciile de pe un computer.
  Un exemplu:
  PS C: \\\u003e Get-Service wwansvc, spooler Stare Nume Afișaj Nume ------ -------------- Rularea spoolerului Print Spooler Stop wwansvc WWAN AutoConfig PS C: \\\u003e



  Aici am solicitat informații despre cele două servicii wwansvc și spooler
  Un tabel este afișat cu starea serviciului, numele acestuia și numele afișat.
  Putem vedea că serviciul de spooler funcționează și wwansvc este oprit

STOP-SERVICE ȘI START-SERVICE

  Pornirea și oprirea serviciilor este un punct destul de important în lucrare administrator Windows. PowerShell are cmdlet-uri încorporate care simplifică activitatea administratorului fără a fi necesar să deschideți MMC. Folosind aceste cmdleturi, puteți opri / porni serviciile atât pe computere locale, cât și la distanță.
  exemple:
Pornirea / oprirea serviciului pe computerul local (folosind ca exemplu serviciul spooler):
  PS C: \\\u003e Stop-Service-Nume Spooler PS C: \\\u003e Start-Service -Name Spooler

Pornire / oprire service computer de la distanță  (Spooler):
  PS C: \\\u003e $ ServiceObj \u003d Get-Service -ComputerName MyPC1 -Nume spooler PS C: \\\u003e Stop-Service -InputObj $ ServiceObj PS C: \\\u003e Start-Service -InputObj $ ServiceObj

GET-PROCES

  Acest cmdlet vă permite să știți ce procese se execută pe computere locale sau la distanță. Sunt afișate numele și ID-ul procesului, precum și calea către fișierul executabil, numele companiei, versiunea fișierului executabil și memoria utilizată de proces.
  exemple:
Obținerea informațiilor despre procesele care rulează pe computerul local:

PS C: \\\u003e Proces de obținere


Introduceți următorul cmdlet pentru a obține informații detaliate despre procesele de rulare
  PS C: \\\u003e Proces de obținere | Format-List * -Force

Obținerea informațiilor despre procesele care rulează pe un computer la distanță:
  PS C: \\\u003e Get-Process -ComputerName MYPC1 | Format-List * -Force

MYPC1 trebuie înlocuit cu numele computerului de pe care doriți să obțineți informații despre procesele de rulare.

STOP-PROCES

  Acest cmdlet oprește procesul pe un computer local sau la distanță. Acesta ia numele sau ID-ul procesului și încheie procesul. Acest lucru este util atunci când aplicația nu răspunde.
  Un exemplu:
Opriți procesul cu ID 22608 pe computerul local:
  PS C: \\\u003e Stop-Process -Id 22608
Opriți toate procesele Excel de pe computerul local:
  PS C: \\\u003e Stop-Process -name excel

consiliu: Deși cmdletul Stop-Process nu are parametrul -ComputerName, îl puteți folosi în continuare pentru a încheia procesele la distanță folosind sugestia de mai jos:
  PS C: \\\u003e $ Obj \u003d Get-Process -Name excel -ComputerName MYPC1 PS C: \\\u003e Stop-Process -InputObject $ Obj

UPD:
  Postarea oferă o traducere a articolului din portal