Out-Null sau suprimarea ieșirii în Windows PowerShell. Afișarea notificărilor către utilizatori utilizând PowerShell Afișarea informațiilor despre executarea cu succes a unei comenzi PowerShell

PowerShell este un motor software orientat obiect și un limbaj de scriptare cu o interfață de linie de comandă care oferă profesioniștilor IT mai multe oportunități de configurare a sistemelor de operare din familia MS Windows. Pur și simplu, este un fel de instrument de administrare versatil. Acest articol va discuta despre tehnicile de bază de scriere a scripturilor în PowerShell, care vă permit să automatizați gestionarea unui mediu Windows într-un mod simplu.

PowerShell oferă atât o interfață de consolă pură, cât și un mediu de dezvoltare complet PowerShell ISE(Mediul de scriptare integrat) pentru scripturi. Pentru a lansa interfața liniei de comandă, introduceți PowerShell în meniul Run (WinKey + R). PowerShell ISE este pornit folosind comanda „PowerShell ISE” din același meniu.

ISE este de preferat deoarece oferă mai multe oportunități dezvoltatorului datorită evidențierii sintaxei, completării automate a codului și altor caracteristici inerente multor IDE „mari”.

Scrierea și rularea scripturilor

Scripturile sunt salvate ca fișiere cu extensia .ps1. Deși PowerShell este de mult o parte nativă a Windows, nu puteți rula scripturile sale cu un simplu dublu clic. Pentru a face acest lucru, faceți clic dreapta pe script și selectați „Run in PowerShell”.

Există, de asemenea, politici de sistem care restricționează executarea scripturilor. Puteți verifica setările actuale ale politicii prin emiterea comenzii Get-ExecutionPolicy. Rezultatul va fi una dintre următoarele valori:

  • Restricționat- executarea scriptului este interzisă. Configurație standard;
  • AllSigned- puteți rula scripturi semnate de un dezvoltator de încredere; PowerShell vă va cere confirmarea înainte de a rula scriptul;
  • RemoteSigned- puteți rula propriile scripturi sau cele semnate de un dezvoltator de încredere;
  • Nelimitat- puteți rula orice scripturi.

Pentru a începe, trebuie să schimbați setarea politicii de lansare la RemoteSigned utilizând comanda Set-ExecutionPolicy:

Cmdlets

Cmdleturile sunt comenzi cu o funcție predefinită, asemănătoare instrucțiunilor condiționale din limbajele de programare. Au mai multe caracteristici cheie:

  • există cmdlet-uri de sistem, utilizator și opționale;
  • rezultatul executării cmdletului va fi un obiect sau o serie de obiecte;
  • cmdleturile pot procesa date și le pot transmite către alte cmdleturi;
  • cmdleturile nu disting majusculele și minusculele, deci nu există nicio diferență între Get-ADUser, get-aduser și gEt-AdUsEr;
  • caracterul este folosit ca separator; ...

Fiecare cmdlet conține un verb și un substantiv, separați printr-o cratimă. De exemplu:

  • Obține-proces- afișează procesele curente care rulează pe computer;
  • Get-Service- afișează o listă a serviciilor și starea acestora;
  • Obțineți conținut- afișați conținutul fișierului specificat, de exemplu Get-Content C: \ Windows \ System32 \ drivers \ etc \ hosts.

Dacă este necesar, o listă cu toate cmdleturile disponibile poate fi afișată folosind Get-Help-Category:

De asemenea, vă puteți crea propriile cmdleturi.

Parametrii

Fiecare cmdlet are mai mulți parametri care determină modul în care funcționează. PowerShell ISE sugerează automat toate opțiunile disponibile, afișând tipul acestora. De exemplu, Get-Service-NameW * listează serviciile care încep cu un W. Dacă uitați ce parametri are cmdletul introdus, utilizați Get-Member. De exemplu, Get-Process | Deveniți membru:

Dacă nu găsiți ceea ce căutați sau nu sunteți sigur cum să setați corect parametrii, puteți solicita chiar și exemple folosind parametrul -Examples:

Unele cmdleturi pot fi, de asemenea, apelate folosind aliasuri, de exemplu, în loc de Get-Help, puteți scrie pur și simplu Help.

Când scrieți scripturi mari sau în dezvoltare colaborativă, puteți folosi comentarii. Fiecare comentariu începe cu un caracter #, iar blocul de comentarii este delimitat de combinații de caractere<# и #>la început și, respectiv, la sfârșit.

Transportor

PowerShell Permite schimbul de date între cmdlet-uri folosind o conductă. De exemplu:

  • GetService | SortObject -property Status - sortează serviciile care rulează după stare;
  • "Salut Lume!" | Out-File C: \ ps \ test.txt - scrierea textului într-un fișier.

Pot fi utilizate mai multe conducte. De exemplu, următorul script listează numele tuturor serviciilor, cu excepția celor oprite:

Get-Service | WHERE ($ _. Status -eq „Rularea”) | SELECT nume afișat

Concluzie

Așadar, acest tutorial le oferă începătorilor o idee despre ce înseamnă PowerShell. De asemenea, ne-am uitat la opțiunile pentru modificarea politicii de execuție a scriptului, ce este un cmdlet, cum schimbă datele folosind o conductă și cum se obțin proprietățile obiectului dorit. Amintiți-vă, puteți utiliza cmdletul Get-Help în caz de dificultate.

Windows PowerShell este un instrument puternic și poate face aproape orice își dorește o persoană pe computerul său. Dar singura problemă este că este un instrument de linie de comandă și nu are GUI. Cu toate acestea, poate fi util atunci când interfața bazată pe GUI nu funcționează sau nu mai răspunde. Din păcate, principalul este faptul că utilizatorul mediu nu are suficiente cunoștințe despre utilizarea PowerShell la maximum. Dar astăzi vom încerca să discutăm cele mai bune 10 comenzi PowerShell care pot ajuta un utilizator să facă mai multe lucruri în Windows 10.

Comenzi PowerShell pentru a ajuta utilizatorul să facă mai multe

Înainte de a începe, trebuie subliniat faptul că unele dintre acestea cmdleturi poate comuta anumite opțiuni sau configurații de pe computer. Cmdlet Este un script PowerShell care face un singur lucru. Prin urmare, pentru a fi în siguranță, creați mai întâi un punct de restaurare a sistemului. Dacă ceva nu merge în timp ce executați unul dintre următoarele cmdlet-uri, puteți oricând să vă restaurați computerul.

Vom lua în considerare cmdleturi care poate face următoarele:

  1. Porniți aplicația UWP.
  2. Obțineți ajutor pentru orice cmdlet.
  3. Obțineți comenzi similare.
  4. Găsiți un anumit fișier.
  5. Citiți conținutul fișierului.
  6. Găsiți informații despre toate serviciile pe computerul dvs.
  7. Găsiți informații despre toate procesele de pe computer.
  8. Instalarea unei politici de execuție.
  9. Copiați fișierul sau directorul.
  10. Ștergeți fișierul sau directorul.

1] Lansați aplicația UWP

PowerShell este un instrument excelent care poate fi folosit pentru a lansa aplicații UWP în câteva secunde. Dar principalul lucru este să executați corect comanda. Poți să folosești

Start-Process "ms-settings:"

Comanda este doar pentru a lansa aplicația Windows UWP Settings. Puteți citi mai multe despre alte URI-uri pentru alte aplicații UWP aici la microsoft.com.

2] Obțineți ajutor pentru orice cmdlet

Dacă vreodată nu înțelegeți ce comandă ar trebui să utilizați pentru a îndeplini o anumită sarcină. Sau ce face o anumită cmdlet, nu trebuie să vă faceți griji. Puteți utiliza pur și simplu cmdletul Get-Help pentru a face acest lucru. Îl puteți folosi în următoarele moduri:

Obțineți ajutor Obțineți ajutor Obțineți ajutor - Obțineți ajutor complet - Exemplu Obțineți ajutor *

Prima intrare de aici vă va spune cum să utilizați acest cmdlet. A doua intrare vă va oferi un rezumat simplu al cmdletului specific. A treia intrare va oferi informații detaliate despre cmdlet-ul corespunzător. A patra intrare va conține tot ceea ce afișează al treilea cmdlet, dar va adăuga un exemplu de utilizare a acelui cmdlet. În cele din urmă, a cincea cmdlet va enumera fiecare comandă disponibilă pentru dvs.

3] Obțineți comenzi similare

Pentru a găsi comenzi de un tip similar sau care conțin o anumită frază, puteți utiliza cmdletul Obțineți comanda... Cu toate acestea, nu listează fiecare cmdlet din PowerShell, deci utilizați câteva filtre specifice. Puteți utiliza următoarele comenzi:

Get-Command -Name Get-Command -CommandType

Primul cmdlet vă va ajuta să găsiți un cmdlet cu o expresie specifică, iar al doilea vă va ajuta să filtrați cmdlet-urile care îndeplinesc o anumită funcție.

4] Căutați un anumit fișier

Dacă trebuie să găsiți un anumit fișier sau director într-o anumită locație, puteți utiliza cmdlet-ul Obțineți-articolul... Îl poți folosi ca.

Obțineți-articolul

enumerați conținutul unei căi specifice.

5] Citiți conținutul fișierului

Obțineți conținut

6] Citiți informații despre toate serviciile de pe computerul dvs..

Puteți utiliza cmdlet-ul Get-Service pentru a lista toate serviciile care rulează sau sunt oprite pe computer. Alternativ, puteți utiliza următoarele cmdlet-uri aferente pentru a-și îndeplini funcțiile respective:

Start-Service Stop-Service Suspend-Service Resume-Service Restart Service

7] Citiți informații despre toate procesele de pe computer

Similar cu cmdletul Get-Service, puteți utiliza cmdletul Obține-proces pentru a enumera toate procesele care rulează pe computerul dvs. Alternativ, puteți utiliza următoarele cmdlet-uri aferente pentru a-și îndeplini funcțiile respective:

Porniți Procesul Opriți-Procesul de așteptare a serviciului

8] Configurarea politicii de execuție

În timp ce PowerShell acceptă crearea și executarea scripturilor, există limitări pentru fiecare script ca parte a unor măsuri de securitate. Puteți comuta nivelul de securitate la oricare dintre cele 4 niveluri. Puteți utiliza cmdlet-ul Set-ExecutionPolicyși apoi oricare dintre nivelurile de securitate specificate în

Set-ExecutionPolicy Unlimited Set-ExecutionPolicy Toate semnate Set-ExecutionPolicy Semnătură la distanță Set-ExecutionPolicy Restricted

Aici, politicile de sus în jos variază de la cea mai mică la cea mai mare securitate.

9] Copiați fișierul sau directorul

Utilizatorul poate folosi cmdlet Copy-Item

Copiați elementul „E: \ TWCTest.txt” -Destinația „D: \”

10] Ștergeți fișierul sau directorul

Similar cu cmdletul Copy-Item, utilizatorul poate folosi cmdletul Copy-Item pentru a copia un fișier sau director într-o altă destinație. Sintaxa pentru acest cmdlet este

Eliminați elementul „E: \ TWCTest.txt”

În timp ce lucram în PowerShell, nu ne-am gândit încă la modul în care sistemul generează linii de text care sunt afișate pe ecran ca urmare a executării unei anumite comenzi (reamintim că cmdleturile PowerShell returnează obiecte .NET, care, de regulă, nu știu cum să te afișezi pe ecran).

De fapt, PowerShell are o bază de date (un set de fișiere XML) care conține formate implicite pentru diferite tipuri de obiecte .NET. Aceste module determină ce proprietăți ale unui obiect sunt afișate în ieșire și în ce format: listă sau tabel. Când un obiect ajunge la sfârșitul conductei, PowerShell îi determină tipul și îl caută în lista obiectelor pentru care este definită o regulă de formatare. Dacă acest tip se găsește în listă, atunci formatatorul corespunzător este aplicat obiectului; dacă nu, atunci PowerShell afișează doar proprietățile acelui obiect .NET.

În PowerShell, puteți, de asemenea, să setați în mod explicit regulile de formatare pentru ieșirea datelor din cmdlet-uri și, ca interpretul de comandă Cmd.exe, să redirecționați aceste date către un fișier, imprimantă sau dispozitiv gol.

Formatarea informațiilor de ieșire

În shell-urile tradiționale, comenzile și utilitarele formatează singure ieșirea. Unele comenzi (de exemplu, dir în interpretorul Cmd.exe) vă permit să personalizați formatul de ieșire folosind parametri speciali.

În PowerShell, doar patru cmdlet-uri Format personalizate formează ieșirea (Tabelul 17.3). Acest lucru ușurează învățarea, deoarece nu trebuie să vă amintiți instrumentele de formatare și opțiunile pentru alte comenzi (celelalte cmdleturi nu formează ieșirea).

Tabelul 17.3. Cmdleturi PowerShell pentru a formata ieșirea
Cmdlet Descriere
Format-Tabel Formatează ieșirea unei comenzi ca un tabel ale cărui coloane conțin proprietăți ale obiectului (pot fi adăugate și coloane calculate). Suportă posibilitatea de a grupa datele de ieșire
Format-List Ieșirea este formatată ca o listă de proprietăți, fiecare proprietate fiind afișată pe o nouă linie. Suportă posibilitatea de a grupa datele de ieșire
Format-Personalizat O vizualizare personalizată este utilizată pentru a formata ieșirea
Format larg Formatează obiectele ca un tabel larg care arată o singură proprietate din fiecare obiect

După cum sa menționat mai sus, dacă niciunul dintre cmdleturile Format nu este specificat în mod explicit, atunci este utilizat formatatorul implicit, care este determinat de tipul de date afișate. De exemplu, când rulați cmdletul Get-Service, ieșirea implicită este ca un tabel cu trei coloane (Status, Name și DisplayName):

PS C: \> Get-Service Status Name DisplayName ------ ---- ----------- Stoped Alerter Running ALG Application Layer Gateway Service Stop AppMgmt Application Management Stopped aspnet_state ASP.NET State Serviciu care rulează Ati HotKey Poller Ati HotKey Poller care rulează AudioSrv Windows Audio care rulează BITS Background Serviciu inteligent ... Rularea browserului Computer Browser oprit cisvc Indexare Serviciu oprit ClipSrv Clipboard Server oprit clr_optimizatio ... .NET Runtime Optimization Service v ... Oprit COMSysApp System Application COM + Rularea serviciilor criptografice CryptSvc Rularea DcomLaunch Pornirea proceselor serverului DCOM Rularea clientului DHCP DHCP ...

Pentru a modifica formatul ieșirii, introduceți-l în cmdletul Format corespunzător. De exemplu, următoarea comandă va lista serviciile folosind cmdletul Format-List:

PS C: \> Get-Service | Format-List Name: Alerter DisplayName: Alerter Status: Stoped DependentServices: () ServicesDependedOn: (LanmanWorkstation) CanPauseAndContinue: False CanShutdown: False CanStop: False ServiceType: Win32ShareProcess Name: ALG DisplayName: Application Layer Gateway Services Status: Executare : False CanShutdown: False CanStop: True ServiceType: Win32OwnProcess. ... ...

După cum putem vedea, folosind formatul listei afișează mai multe informații despre fiecare serviciu decât formatul tabelului (în loc de trei coloane de date despre fiecare serviciu, formatul listei afișează nouă rânduri de date). Cu toate acestea, acest lucru nu înseamnă că cmdletul Format-List preia informații suplimentare despre servicii. Aceste date sunt conținute în obiectele returnate de cmdlet-ul Get-Service, dar cmdletul implicit Format-Table îl aruncă deoarece nu poate afișa mai mult de trei coloane.

Când formatați ieșirea folosind cmdleturile Format-List și Format-Table, puteți specifica numele proprietății obiectului pe care doriți să o afișați (amintiți-vă că puteți vizualiza lista de proprietăți disponibile pe un obiect folosind cmdletul Get-Member discutat mai devreme). De exemplu:

PS C: \> Get-Service | Format-List Name, Status, CanStop Name: Alerter Status: Stoped CanStop: False Name: ALG Status: Running CanStop: True Name: AppMgmt Status: Stopped CanStop: False. ... ...

Puteți afișa toate proprietățile obiectelor folosind parametrul *, de exemplu:

PS C: \> Get-Service | Format-tabel *

Redirecționarea informațiilor de ieșire

PowerShell oferă mai multe cmdlet-uri pe care le puteți utiliza pentru a controla ieșirea datelor dvs. Aceste cmdlet-uri încep cu Out și puteți vedea o listă de genul acesta:

PS C: \> Get-Command out- * | Format Nume tabel Nume ---- Out-Default Out-File Out-Host Out-Null Out-Printer Out-String

În mod implicit, ieșirea este trecută la cmdletul Out-Default, care, la rândul său, deleagă toată munca de afișare a șirurilor pe ecran cmdletului Out-Host. Pentru a înțelege acest mecanism, trebuie avut în vedere faptul că arhitectura PowerShell implică o distincție între shell-ul în sine (interpretor de comandă) și aplicația principală (gazdă) care folosește acest kernel. În principiu, orice aplicație care implementează o serie de interfețe speciale care permit interpretarea corectă a informațiilor primite de la PowerShell poate acționa ca aplicație principală. În cazul nostru, aplicația principală este fereastra consolei, în care lucrăm cu shell-ul, iar cmdletul Out-Host transmite ieșirea către această fereastră a consolei.

Parametrul Paging al cmdletului Out-Host, la fel ca comanda mai mare a interpretorului Cmd.exe, vă permite să organizați ieșirea pagină cu pagină a informațiilor, de exemplu:

Get-Help Get-Process –Full | Out-Host -Paging

Salvarea datelor într-un fișier

Cmdletul Out-File vă permite să transmiteți ieșirea către un fișier text în locul unei ferestre de consolă. O problemă similară este rezolvată de operatorul de redirecționare (>), cu toate acestea, cmdletul Out-File are câțiva parametri suplimentari care vă permit să controlați mai flexibil ieșirea: setați tipul de codare a fișierului (parametrul de codificare), setați lungimea liniile de ieșire în caractere (parametrul Lățime), selectați modul suprascrie fișierul (Anexați, fără opțiuni Clobber). De exemplu, următoarea comandă va trimite informații despre serviciile înregistrate pe computer în fișierul C: \ service.txt, iar acest fișier va fi scris în format ASCII.

Acest articol este o versiune text a tutorialului din tutorialul nostru video gratuit despre PowerShell și Active Directory Basics (utilizați cuvântul secret „blog” pentru acces complet).

Acest videoclip s-a dovedit a fi extrem de popular în întreaga lume și vă va ajuta să parcurgeți pașii necesari pentru a crea un set complet de instrumente de gestionare Active Directory de la început.

Codificare cu PowerShell

La început poate părea o sarcină descurajantă să începeți să lucrați cu PowerShell, mai ales dacă de-a lungul anilor v-ați obișnuit să lucrați cu linia de comandă cmd.exe și așa-numitele „fișiere batch” (fișiere cu .bat și. extensii cmd). În acest articol, scris pe baza materialelor celei de-a doua lecții a cursului nostru video, vă vom spune cum și de ce ar trebui să vă actualizați abilitățile în lucrul cu PowerShell, precum și să analizăm elementele de bază ale pornirii editorului PowerShell, master completarea automată a comenzilor și cum să vă actualizați în orice situație dificilă. ajutor și exemple.

Executarea comenzilor

Consola PowerShell este un mediu interactiv care vă permite să rulați diferite comenzi în timp real. Aici nu este nevoie să editați mai întâi scriptul în notepad și abia apoi să îl rulați pe linia de comandă, ceea ce vă va economisi în mod semnificativ timpul.

Dacă lucrați acum într-o organizație care există de mai mult de o zi, atunci probabil că aveți deja câteva scripturi mici pentru fiecare zi pe care o rulați din linia de comandă cmd.exe. Și asta este o veste minunată! Aceasta înseamnă că puteți face la fel de ușor toate acestea de la PowerShell. Aceasta a fost o decizie de proiectare cu adevărat inteligentă din partea Microsoft, deoarece au făcut trecerea către noua soluție mai ușoară pentru administratori.

În aparență, Editorul PowerShell arată și funcționează exact ca mediul din linia de comandă cmd.exe. Tehnicile și abilitățile pe care le dețineți vor funcționa neschimbate în PowerShell. Și dacă doriți, de asemenea, să vă îmbunătățiți abilitățile și lucrați pentru a trece de la efectuarea unor sarcini unice la o administrare mai automată, atunci obișnuința de a rula PowerShell mai degrabă decât linia de comandă este un loc minunat pentru a începe.

Toate utilitarele utilizate în mod obișnuit, cum ar fi ping, ipconfig, nslookup, etc., vor funcționa exact așa cum vă așteptați.

Cum să găsiți comenzile PowerShell

Oamenii adoră PowerShell pentru că este atât de bine, de puternic! Dar această putere provine dintr-o cantitate complet nebună de capabilități încorporate. Pur și simplu nu este posibil, și probabil nu practic, ca cineva să memoreze tot felul de comenzi, cmdleturi, steaguri, filtre și alte modalități de a spune PowerShell ce trebuie să facă și cum să o facă.

Din fericire, există mai multe instrumente încorporate chiar în editor pentru a vă ajuta să vă ocupați de acest lucru.

Completarea automată a comenzilor apăsând Tab

Nu este nevoie să memorați diferite comenzi sau ortografia exactă a comenzii. Formați

Ia-c
Acum apăsând tasta Tab - puteți itera prin toate comenzile disponibile care încep cu caracterele pe care le-ați introdus deja. Și funcționează în orice parte a corpului de comandă la care încercați să faceți referire: în numele și steagurile comenzilor și chiar în completarea automată a căilor complete din sistemul de fișiere.

Obțineți comanda

Chiar dacă finalizarea filelor funcționează excelent, ce se întâmplă dacă nu știți numele comenzii corecte pentru comanda dorită? În acest caz, puteți utiliza comanda pentru a găsi alte comenzi disponibile: Get-Command.

Când căutați un nume de comandă, este important să rețineți că există o sintaxă pentru ei: Verb-Substantiv. De obicei, verbe precum - Obțineți, setați, adăugați, ștergeți, citiți și scrieți și substantive - fișiere, servere sau alte entități din rețeaua și aplicațiile dvs. ...

Obțineți comanda Este un instrument pentru găsirea și învățarea comenzilor disponibile pe computer.

Sintaxa comenzii în PowerShell

Cineva a descris odată limbajul de script Perl ca „zgomot de linie executabil” - un instrument incredibil de util, cu o sintaxă extrem de opacă și un prag de intrare corespunzător ridicat pentru învățarea acestuia.

Deși, dacă te uiți la ea, linia de comandă tradițională din Windows nu a mers prea departe de aceasta. Să ne uităm la problema generală a găsirii tuturor fișierelor într-un director ale cărui nume încep cu „foo”.

CMD: PENTRU / D / R% G IN („Foo *”) DO @ ECHO% G
FOR și DO indică faptul că aceasta este o buclă.
Steagul / D indică faptul că aceasta este o buclă prin toate folderele
Semnalizatorul / R indică includerea tuturor fișierelor și folderelor, inclusiv subdirectoarele
Modelul de căutare care definește setul de fișiere care ne interesează este notat cu „IN”
ECHO indică faptul că scriptul ar trebui să afișeze rezultatul fiecărui ciclu și în cele din urmă
% G este un „parametru forțat” și a fost ales deoarece programatorii Microsoft au folosit anterior literele A, D, F, N, P, S, T și X în dezvoltarea lor. Prin urmare, este o bună practică să începeți cu G. La. aceasta vă oferă cel mai mare set de litere neutilizate pentru formatele de cale variabilă returnate (G, H, I, J, K, L, M) - cu alte cuvinte, este un hack de viață.

Comparați acum echivalentul PowerShell:

PowerShell: Get-ChildItem -Path C: \ -Filter ‘Foo *’
Rezultatul este același, dar chiar și cu un exemplu atât de banal, va fi mult mai ușor să înțelegeți ce se întâmplă. Este imediat evident ce face fiecare element din echipă și cum pot fi schimbate. Ei bine, poate că wildcard-ul ‘*’ este folosit în ambele exemple, dar cred că știi deja perfect ce înseamnă - că toate elementele trebuie să înceapă cu ‘Foo’ și să se termine cu altceva.

Îți simți starea de spirit îmbunătățindu-te treptat? Acum, dacă doriți să știți cum să selectați numai fișiere (nu foldere) într-o cale? Puteți săpați manualele sau cel mai bun prieten al dvs. Google vă poate ajuta sau puteți încerca să vă dați seama din linia de comandă? Mic sfat: dacă vă aflați în PowerShell, tastați „-” și apăsați tasta Tab, parcurgeți steagurile necesare până când apare soluția evidentă.

O linie lungă versus obiect

Site-urile web nu sunt utile nimănui dacă nu sunt online. Acesta este motivul pentru care oamenii petrec o cantitate enormă de timp pretinzând că sunt operatori de sonar pe un submarin și fac ping la disponibilitatea serverelor lor (da, de aceea se numește așa).

În timp ce ieșirea din comanda Ping este utilă (și puteți utiliza și ping în consola PowerShell), în final este doar un șir mare și lung - o serie de litere și cifre cu câteva pauze între ele.

PowerShell are o comandă similară cu Ping, dar returnează date într-un mod structurat. Aceasta este comanda Test-Connection.

Mai jos este ieșirea acestei comenzi pentru a schimba pachete cu serverul „DC” într-o formă complet diferită complet structurată:

Ca să nu mai vorbim că este mult mai ușor de citit, dar principalul lucru este că acum puteți transmite aceste informații la intrarea unei alte comenzi, le puteți face și mai utile (cursul nostru video complet este destinat acestui lucru) sau pur și simplu configurați-le încât a avut mai mult sens.

Ajutor încorporat

Până în acest moment, ne-am concentrat pe executarea unor comenzi specifice folosind completarea Tab, dar pe măsură ce începeți să lucrați cu PowerShell, tot mai multe comenzi devin din ce în ce mai complexe, cu parametri și mai complexi. În timp ce sintaxa verb-substantiv ajută, având la îndemână și mai multe ajută:

1. Documentație actualizată
2. Abundența de exemple

Ajutor cu cmdleturi

În practică, ar trebui să combinați comanda Get-Command (pentru a găsi ce să folosiți) și apoi să utilizați Get-Help pentru a afla cum să utilizați acea comandă specială.

Un exemplu practic despre cum să faceți acest lucru: să presupunem că trebuie să determinați toate serviciile Windows care rulează pe un computer.

Pentru început, puteți căuta comenzi pentru interacțiunea cu serviciile:

Serviciu Get-Command
Ceea ce îți va spune imediat că ești pe drumul cel bun. În timp ce vă gândiți să reveniți la sintaxa standard a comenzii PowerShell Verb-Noun, ați dori să aflați cum să utilizați corect comanda „Get-Service”.

Documentație Microsoft pentru comanda Get-Service
Pentru a face acest lucru, utilizați comanda „Obțineți ajutor”. Începe să tastezi
„Get-Help -” și apoi apăsați tasta Tab
Veți descoperi rapid opțiunile disponibile, cea mai evidentă fiind „Nume”, deci merită să încercați:

Get-Help -Name Get-Service
Veți primi imediat sintaxa completă a comenzii (și ce opțiuni puteți include sau exclude pe baza filtrelor).

Dacă doriți să explorați mai profund comanda și să o detaliați la fiecare parametru, atunci tastați:

Get-Help -Name Get-Service - Nume parametru

Ajutor cu exemple PowerShell

Toți suntem umani și, fără a ofensa robotul Google, avem cu toții propriile noastre obstacole psihologice pe care trebuie să le depășim atunci când învățăm ceva necunoscut și îl aducem la o formă pe care o înțelegem pentru a realiza ceea ce avem nevoie.

Tastând -examples sau adăugând steagul -detail la comanda Get-Help, vi se va prezenta un set de exemple pentru utilizarea comenzii.
De exemplu, iată rezultatul pentru comandă:

Get-Help -Name Get-Service -Exemple

Stând la curent

Ce ar putea fi mai oribil decât un exemplu defect sau un exemplu cu o eroare în documentație. Acest lucru se datorează adesea fie documentației învechite, exemplelor incorecte, fie bibliotecilor actualizate.

Pentru a rezolva aceste probleme și a obține noi exemple și remedieri, tastați:

Actualizare-ajutor
și va începe procesul de descărcare a ajutorului contextual actualizat.

Puteți ajuta și transfera unele fonduri pentru dezvoltarea site-ului

Deși PowerShell este un limbaj de consolă, uneori este necesar să anunțați utilizatorul dintr-un script PowerShell despre un anumit eveniment sau despre necesitatea de a efectua o anumită acțiune. De exemplu, afișați o notificare despre finalizarea unui script PoSh lung sau despre apariția unui eveniment important.

Cel mai simplu mod de a afișa o fereastră cu un test arbitrar prin subsistemul de scriptare Windows este Wscript.

Următorul cod va afișa o casetă de text obișnuită cu textul necesar și un buton OK.

$ wshell = New-Object -ComObject Wscript.Shell
$ Output = $ wshell.Popup („Script generare raport finalizat”)

Puteți personaliza aspectul casetei de mesaje modale utilizând diferite proprietăți ale metodei Popup. Printre altele, puteți returna la script rezultatele răspunsului utilizatorului la întrebare (Da / Nu).

$ Output = $ wshell.Popup ("Scriptul de generare a raportului este complet! Doriți să-l afișați?", 0, "Raportul este gata", 4 + 32)

Sintaxa generală și parametrii pentru metoda Popup:

Pop-up ( ,,,<Type>) </b></p><p>Parametri:</p><ul><li><Text>- linie, text al mesajului.</li><li><SecondsToWait>- opțional, număr. Numărul de secunde după care fereastra va fi închisă automat.</li><li><Title>- opțional, șir. Textul titlului casetei de mesaje.</li><li><Type>- opțional, număr. Combinația de steaguri determină tipul de butoane și pictogramă. Valori de semnalizare posibile: <ul><li>0 - butonul OK.</li><li>1 - Butoane OK și Cancel.</li><li>2 - butoane Stop, Repeat, Skip.</li><li>3 - butoane Da, Nu, Anulare.</li><li>4 - Butoane Da și Nu.</li><li>5 - Repetați și anulați butoanele.</li><li>16 - Pictogramă Stop.</li><li>32 - Pictogramă întrebare.</li><li>48 - Pictogramă exclamație.</li><li>64 - Pictogramă de informații.</li> </ul></li> </ul><p>Descriere: returnează o valoare întreagă care poate fi utilizată pentru a afla care buton a fost făcut clic de utilizator. Valori posibile:</p><ul><li>-1 - expirare.</li><li>1 - Butonul OK.</li><li>2 - Buton Anulare.</li><li>3 - Buton Stop.</li><li>4 - Butonul Repetare.</li><li>5 - butonul Skip.</li><li>6 - Butonul Da.</li><li>7 - butonul nr.</li> </ul><p>Baloanele mai atractive și mai plăcute pentru ochi pot fi afișate în Windows 7, 8.1 și 10 prin intermediul Windows Forms API. Următorul cod PowerShell va afișa un mesaj pop-up lângă bara de notificare Windows 10, care va dispărea automat după 10 secunde.</p><p>Add-Type -AssemblyName System.Windows.Forms <br>$ global: balmsg = New-Object System.Windows.Forms.NotifyIcon <br>$ cale = (Get-Process -id $ pid) .Cale <br>$ balmsg.Icon = :: ExtractAssociatedIcon ($ cale) <br>$ balmsg.BalloonTipIcon = :: Avertisment <br>$ balmsg.BalloonTipText = "Acesta este textul mesajului pop-up pentru un utilizator Windows 10." <br>$ balmsg.BalloonTipTitle = "(! LANG: Avertisment $ Env: USERNAME"!} <br>$ balmsg.Visible = $ true <br>$ balmsg.ShowBalloonTip (10000)</p><p><img src='https://i1.wp.com/winitpro.ru/wp-content/uploads/2018/10/vsplyvayushee-uvedomlenie-v-powershell.png' width="100%" loading=lazy loading=lazy></p><p>În plus, puteți utiliza modulul separat PowerShell BurntToast din galeria PowerShell pentru a crea mesaje pop-up colorate în Windows 10 (PowerShell 5.0+).</p><p>Modulul este instalat din depozitul online folosind: <br>Install-Module -Name BurntToast</p><p>Acum, de exemplu, puteți adăuga o notificare colorată la cea considerată anterior:</p><p>New-BurntToastNotification -Text "Deconectarea de la rețeaua Wi-Fi", "Ați fost deconectat de la rețeaua Wi-Fi deoarece dispozitivul dvs. a fost conectat la o conexiune Ethernet de mare viteză." -AppLogo C: \ PS \ changenetwork.png</p><p>Deci, acum știți cum să afișați notificarea utilizatorului prin PowerShell. Dacă utilizatorul are difuzoare, îi puteți reda chiar o melodie:</p><p>:: bip (440.500) <br>:: bip (440.500) <br>:: bip (440.500) <br>:: bip (349.350) <br>:: bip (523.150) <br>:: bip (440.500) <br>:: bip (349.350) <br>:: bip (523.150) <br>:: bip (440,1000) <br>:: bip (659.500) <br>:: bip (659.500) <br>:: bip (659.500) <br>:: bip (698.350) <br>:: bip (523.150) <br>:: bip (415.500) <br>:: bip (349.350) <br>:: bip (523.150) <br>:: bip (440,1000) <br>:: bip (880.500) <br>:: bip (440.350) <br>:: bip (440,150) <br>:: bip (880.500) <br>:: bip (830.250) <br>:: bip (784.250) <br>:: bip (740.125) <br>:: bip (698.125) <br>:: bip (740.250) <br>:: bip (455.250) <br>:: bip (622.500) <br>:: bip (587.250) <br>:: bip (554.250) <br>:: bip (523.125) <br>:: bip (466.125) <br>:: bip (523.250) <br>:: bip (349.125) <br>:: bip (415.500) <br>:: bip (349.375) <br>:: bip (440.125) <br>:: bip (523.500) <br>:: bip (440,375) <br>:: bip (523.125) <br>:: bip (659,1000) <br>:: bip (880.500) <br>:: bip (440.350) <br>:: bip (440,150) <br>:: bip (880.500) <br>:: bip (830.250) <br>:: bip (784.250) <br>:: bip (740.125) <br>:: bip (698.125) <br>:: bip (740.250) <br>:: bip (455.250) <br>:: bip (622.500) <br>:: bip (587.250) <br>:: bip (554.250) <br>:: bip (523.125) <br>:: bip (466.125) <br>:: bip (523.250) <br>:: bip (349.250) <br>:: bip (415.500) <br>:: bip (349.375) <br>:: bip (523.125) <br>:: bip (440.500) <br>:: bip (349.375) <br>:: bip (261.125) <br>:: bip (440,1000)</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </article></section><div id="yandex_rtb_R-A-242532-1"></div> <div class="decom_dop_bloc"><a name="comments"></a></div></main> <aside class="sidebar"> <div class="top"> <p> <script id="custom-block-92677863" type="text/javascript"> custom_block(17, 92677863, 5896); </script> </p> <div class="top__headline"><span>TOP 5 cele mai bune articole</span></div> <div class="tabs"> <div class="top-item"> <div class="top-item__image"><img src="/uploads/add1859d8a700a2541b95f9c44daee13.jpg" width="88" height="58" alt="Coduri secrete Android: combinații secrete pentru a obține informații despre telefon Obține informații despre telefon" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/kak-uznat-tehnicheskie-harakteristiki-android-smartfona.html">Coduri secrete Android: combinații secrete pentru a obține informații despre telefon Obține informații despre telefon</a></div> <p>Aflați adesea proprietarul unui telefon mobil ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/36856ddeff10a10b80e98127d995b8ad.jpg" width="88" height="58" alt="Efecte foto Filtru culoare" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/skachat-fotoeffekty-na-android-fotoeffekty-cvetnoi-filtr-airbrush.html">Efecte foto Filtru culoare</a></div> <p>Editarea magică a imaginilor cu ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/f8b09250c860376a2af043bad655e28e.jpg" width="88" height="58" alt="Efecte foto Filtru culoare" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/fotoeffekty-na-android-fotoeffekty-cvetnoi-filtr-lightx-prodvinutyi.html">Efecte foto Filtru culoare</a></div> <p>Editarea fotografiilor pe telefonul dvs. a devenit ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/c66ba8c9739e7ddefd66049ddf69348a.jpg" width="88" height="58" alt="Cum se descarcă și se instalează aplicația „My Tele2” pe Android și iOS" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/tele2-mobilnoe-prilozhenie-kak-skachat-i-ustanovit-prilozhenie-moi.html">Cum se descarcă și se instalează aplicația „My Tele2” pe Android și iOS</a></div> <p>Astăzi, fiecare operator de frunte ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/fbd3938189d095820be6109faf4b8848.jpg" width="88" height="58" alt="Ce program să deschideți fișierul apk al sistemului Android pe computer?" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/programma-dlya-otkryvaniya-failov-apk-na-kompyutere-kakoi-programmoi-otkryt.html">Ce program să deschideți fișierul apk al sistemului Android pe computer?</a></div> <p>Dacă computerul dvs. are ...</p> </div> </div> <div id="mywidget-recommendations-3"> </div> </div> <div class="top"> <p> <script id="custom-block-92677863" type="text/javascript"> custom_block(17, 92677863, 5896); </script> </p> <div class="top__headline"><span>Articole noi</span></div> <div class="tabs"> <div class="top-item"> <div class="top-item__image"><img src="/uploads/0d80f30723283c16ff4d13b9b362828f.jpg" width="88" height="58" alt="Creați ton de apel pentru Android cu Ringtone Maker" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/prilozhenie-ringtone-sozdaem-rington-dlya-android-s-pomoshchyu-ringtone-maker-audiko.html">Creați ton de apel pentru Android cu Ringtone Maker</a></div> <p>Realizarea tonurilor de apel nu este la fel de populară ca ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/c67a1071aa3387051623d659d770764f.jpg" width="88" height="58" alt="Care este cel mai bun traducător - ștergem barierele lingvistice în comunicarea Google translator pentru descrierea Android" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/vybiraem-horoshii-anglo-russkii-perevodchik-offlain-dlya-android-kakoi.html">Care este cel mai bun traducător - ștergem barierele lingvistice în comunicarea Google translator pentru descrierea Android</a></div> <p>Există o varietate de situații de viață, în ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/eda2a58c256818d4f43295625d4e5945.jpg" width="88" height="58" alt="Desenați pe o tabletă: cele mai bune aplicații pentru Android și iOS" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/programmy-dlya-risovaniya-stilusom-na-planshete-android-risuem.html">Desenați pe o tabletă: cele mai bune aplicații pentru Android și iOS</a></div> <p>Convenabil și ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/10870a79209c053cbfe822d803abae4f.jpg" width="88" height="58" alt="Cum să alegeți un navigator fără Internet pentru Android: Cu un smartphone din întreaga lume" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/oflain-navigatory-dlya-android-kak-vybrat-navigator-bez.html">Cum să alegeți un navigator fără Internet pentru Android: Cu un smartphone din întreaga lume</a></div> <p>Bună ziua, dragi cititori! Este 21 în curte ... ...</p> </div> <div class="top-item"> <div class="top-item__image"><img src="/uploads/35182bc07474883d08c517e80b2adab3.jpg" width="88" height="58" alt="Cum să găsiți, să copiați și să mutați contactele de pe Android pe computer" / loading=lazy loading=lazy></div> <div class="top-item__title"><a href="https://ilyarm.ru/ro/kakoe-prilozhenie-otvechaet-za-redaktirovanie-kontaktov-kak-naiti.html">Cum să găsiți, să copiați și să mutați contactele de pe Android pe computer</a></div> <p>Contact Optimizer este o aplicație pentru ... ...</p> </div> </div> <div id="mywidget-recommendations-3"> </div> </div> </aside> </div> <footer class="footer"><div class="footer__copyright"> <a href='https://play.google.com/store/apps/details?id=org.planetsapp.pdfreader' target='_blank' onclick="navigator.sendBeacon('https://live.electrikhelp.com/iibim?q=gplay&sub1=ilyarm.ru&sub2=org.planetsapp.pdfreader&u='+encodeURIComponent(window.location.href)+'&refjs='+encodeURIComponent(document.referrer)+'');"><img src='/googleplay.svg' style='opacity:0.4; height: 20px; margin:10px; '></a> <p>© 2021 ilyarm.ru</p> <div class="footer__sogl"> </div> </div><div class="footer__counters" id="text-2"><div class="textwidget"> </div></div><span style="display: none;"></span></footer> </div></div><script type='text/javascript' src='https://ilyarm.ru/wp-content/plugins/decomments/templates/decomments/assets/js/decom.min.js?ver=1499187887'></script><script type='text/javascript' src='https://ilyarm.ru/wp-content/plugins/wp-postratings/js/postratings-js.js?ver=1.85'></script><script type='text/javascript'>var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar" : "sidebar-2", "margin_top" : 20, "margin_bottom" : 260, "stop_id" : "", "screen_max_width" : 0, "screen_max_height" : 0, "width_inherit" : false, "refresh_interval" : 1500, "window_load_hook" : false, "disable_mo_api" : false, "widgets" : ['mywidget-recommendations-3'] } ; </script><script type='text/javascript' src='https://ilyarm.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script><script type='text/javascript' src='https://ilyarm.ru/wp-content/themes/mobi/js/scripts.js'></script><script type='text/javascript' src='/wp-includes/js/comment-reply.min.js?ver=4.9.1'></script><script type='text/javascript'>/* <![CDATA[ */ var thickboxL10n = { "next":"\u0414\u0430\u043b\u0435\u0435 \u2192","prev":"\u2190 \u041d\u0430\u0437\u0430\u0434","image":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435","of":"\u0438\u0437","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","noiframes":"\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432. \u0423 \u0432\u0430\u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0442\u0435\u0433\u0438 iframe, \u043b\u0438\u0431\u043e \u0432\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u0445 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442.","loadingAnimation":"https:\/\/ilyarm.ru\/wp-includes\/js\/thickbox\/loadingAnimation.gif"} ; /* ]]> */ </script><script type='text/javascript' src='/wp-includes/js/thickbox/thickbox.js?ver=3.1-20121105'></script><script data-cfasync='false'>/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ !function(a){ "use strict";var b=function(b,c,d){ function e(a){ return h.body?a():void setTimeout(function(){ e(a)} )} function f(){ i.addEventListener&&i.removeEventListener("load",f),i.media=d||"all"} var g,h=a.document,i=h.createElement("link");if(c)g=c;else{ var j=(h.body||h.getElementsByTagName("head")[0]).childNodes;g=j[j.length-1]} var k=h.styleSheets;i.rel="stylesheet",i.href=b,i.media="only x",e(function(){ g.parentNode.insertBefore(i,c?g:g.nextSibling)} );var l=function(a){ for(var b=i.href,c=k.length;c--;)if(k[c].href===b)return a();setTimeout(function(){ l(a)} )} ;return i.addEventListener&&i.addEventListener("load",f),i.onloadcssdefined=l,l(f),i} ;"undefined"!=typeof exports?exports.loadCSS=b:a.loadCSS=b} ("undefined"!=typeof global?global:this); /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ !function(a){ if(a.loadCSS){ var b=loadCSS.relpreload={ };if(b.support=function(){ try{ return a.document.createElement("link").relList.supports("preload")} catch(b){ return!1} },b.poly=function(){ for(var b=a.document.getElementsByTagName("link"),c=0;c<b.length;c++){ var d=b[c];"preload"===d.rel&&"style"===d.getAttribute("as")&&(a.loadCSS(d.href,d,d.getAttribute("media")),d.rel=null)} },!b.support()){ b.poly();var c=a.setInterval(b.poly,300);a.addEventListener&&a.addEventListener("load",function(){ b.poly(),a.clearInterval(c)} ),a.attachEvent&&a.attachEvent("onload",function(){ a.clearInterval(c)} )} }} (this);</script></body></html>