If-Koubou

5 Cmdlets da započnete s PowerShellom

5 Cmdlets da započnete s PowerShellom (Kako da)

PowerShell brzo postaje preferirani skriptni jezik i CLI korisnika snage kao i IT profesionalci. Vrijedno je uÄŤiti nekoliko naredbi da biste započeli, pa imamo pet korisnih cmdleta za vas kako biste danas naučili.

Get-Command

Get-Command je jedan od najkorisnijih cmdleta u cijeloj PowerShell-u, jer će vam pomoći da se uhvatite s PowerShellom tako što ćete moći pretražiti određene cmdlete. Upotreba Get-Commanda sama po sebi nije nimalo korisna jer će samo isprazniti svaku naredbu koju PowerShell ima.

No, iz ovog možemo vidjeti da predmeti koji PowerShell izlazi imaju naziv i naziv modula. Koristeći ove informacije možemo dobro zrnati naše pretraživanje pretraživanjem cmdleta koji sadrže određene pojmove. Na primjer, ako sam želio pronaći sve cmdletove koji sadrže riječ "IP", mogao bih to učiniti:

Get-Command -Name * IP *

Kao što vidite, još uvijek imamo dosta rezultata, naša je sljedeća opcija pretraživanja unutar određenog modula. U našem slučaju odabrat ću NetTCPIP modul.

Get-Command -Module NetTCPIP -Name * IP *

Dobiti pomoć

Nakon što pronađete cmdlet koji tražite pomoću Get-Command, željet ćete znati sintaksu i kako možete koristiti taj specifičan cmdlet. Ovo je mjesto gdje Get-Help dolazi, ako ste ikada koristili naredbenog retka u sustavu Windows, vjerojatno ste učinili nešto ovako:

ipconfig /?

Pa to ne radi u PowerShellu, to je zato što se u sustavu PowerShell koristi prostor za odvajanje naredbe od njegovih parametara. Zato umjesto toga upotrebljavamo Get-Help i kao parametar prenesemo naziv cmdleta Get-Helpu.

Get-Help Get-Proces

Get-članica

Get-Member omogućava nam da dobijemo informacije o objektima koje cmdleti vraćaju. Ulov s get-članom, je da se oslanja na PowerShell cjevovod značajku, kako bi to demonstrirali, mi ćemo koristiti Get-Process cmdlet.

Kao što možete vidjeti PowerShell's output pokazuje nam neke od svojstava, koje možete vidjeti na vrhu svakog stupca. Prvi je problem što, iako su to svojstva koja možda većinu vremena tražite, još ih ima. Drugi je problem što ne pokazuje nikakve metode u kojima možemo pozvati objekt. Da bismo vidjeli metode i svojstva, možemo izlaziti izlaz na Get-Member, kao što je sljedeći:

Get-proces | Get-članica

Iako to za sada ne može značiti ništa, prije ili kasnije ćete morati koristiti Get-Member, a što prije naučite koristiti to bolje. Kao primjer, pomoću informacija iz izlaza možemo učiniti nešto slično:

Započni-proces notepad.exe
$ NotepadProc = Nabavite-Proces -Name Notepad
$ NotepadProc.WaitForExit ()
Start-Obrada calc.exe

Ta skripta će pokrenuti notepad, a zatim dodjeljuje izlaz "Get-Process-Notepad notepad" u $ NotepadProc varijablu, a zatim ćemo nazvati metodu WaitForExit na $ NotepadProc koji uzrokuje skriptu pauzirati dok ne zatvorite notepad, nakon što ste zatvorili Notepad tada će se kalkulator pokrenuti.

$ _ (Trenutačni objekt plinovoda)

Iako nije točno cmdlet, to je jedna od najčešće korištenih posebnih varijabli u sustavu PowerShell. Službeni naziv za $ _ je "trenutni objekt cjevovoda". Koristi se u blokovima skripte, filtrima, procesnoj klauzuli funkcija, gdje-objekt, foreach-objekt i preklopnici. Međutim, to je lakše objasniti uz primjer, koji nas dovodi do našeg sljedećeg i konačnog cmdleta, Where-Objecta.

Gdje-objekt

Gdje-Objekt točno čini ono što zvuči, odabire objekt na temelju toga ispunjava li određeni kriterij. To će povezati $ _ i svojstva koja možemo vidjeti pomoću Get-Membera. Da bismo to dokazali, crtat ćemo izlaz Get-Processa u cmdlet Where-Object.

Get-proces | Gdje-Objekt $ _. Ime-eq "iexplore"

Pa što se ovdje događa pitate? Pa prva stvar koju radimo je dobivanje popisa procesa na našem računalu i prosljeđivanje izlaza (pomoću znaka) na naš cm-djetinjak Where-Object, koji uzima blok skripte kao parametar. Skriptni blok (koji je definiran kovanim zagradama) upućuje cmdletima Where-Object da odaberu samo objekte u kojima je parametar naziva jednak "iexplore", pa imamo samo popis IE instanci koji se izvode. To je sve što je moguće, zabavite se!