5 ukaznih vrstic za zagon s programom PowerShell
PowerShell hitro postaja prednostni skriptni jezik in CLI za Power Users in IT profesionalce. Zaželeno je, da se naučite nekaj ukazov, da boste lahko začeli, zato imamo 5 uporabnih cmdletov, s katerimi se lahko naučite danes.
Get-Command
Get-Command je ena izmed najbolj uporabnih cmdletov v celotni PowerShell, saj vam bo pomagala, da se spopadeš z PowerShellom tako, da vam omogoči iskanje določenih cmdletov. Uporaba Get-Command sama po sebi ni zelo uporabna, saj bo samo izpljunila vsak ukaz, ki ga ima PowerShell..
Toda iz tega lahko vidimo, da je to, da imajo izhodi PowerShell tako lastnost Name kot ModuleName. Z uporabo teh podatkov lahko našo iskanje poravnamo z iskanjem cmdletov, ki vsebujejo določene izraze. Na primer, če bi želel najti vse cmdlet, ki vsebujejo besedo »IP«, lahko to storim:
Get-Command -Name * IP *
Kot lahko vidite, še vedno dobimo kar nekaj rezultatov, naša naslednja možnost je iskanje znotraj določenega modula. V našem primeru bom izbral modul NetTCPIP.
Get-Command -Module NetTCPIP-ime * IP *
Poišči pomoč
Ko najdete ukaz »cmdlet«, ki ga iščete s programom »Get-Command«, boste želeli izvedeti sintakso in kako lahko uporabite to specifično cmdlet. Tukaj pride Get-Help, če ste kdaj uporabili ukazno vrstico v sistemu Windows, ste verjetno naredili nekaj takega:
ipconfig /?
No v PowerShellu to ne deluje, ker je v PowerShell prostor uporabljen za ločevanje ukaza od njegovih parametrov. Namesto tega uporabljamo Get-Help in posredujemo ime cmdleta za Get-Help kot parameter.
Get-Help Get-Process
Get-Member
Get-Member nam omogoča, da dobimo informacije o objektih, ki jih vrne cmdlet. Ulov s programom get-member je, da se zanaša na funkcijo cevovoda PowerShell, da bi to dokazal, lahko uporabimo cmdlet Get-Process.
Kot lahko vidite, PowerShellov izhod nam pokaže nekatere lastnosti, ki jih lahko vidite na vrhu vsakega stolpca. Prva težava je v tem, da so to lastnosti, ki jih morda iščete večino časa, vendar jih je še več. Druga težava je, da ne prikazuje nobenih metod, ki jih lahko pokličemo na predmet. Če si želite ogledati metode in lastnosti, ki jih lahko preusmerimo v izhodni način, dobimo Get-Member.
Get-Process | Get-Member
Čeprav vam to trenutno ne pomeni nič, boste prej ali slej morali uporabiti Get-Member in prej se boste naučili uporabljati ga bolje. Na primer, z uporabo informacij iz izhoda lahko naredimo nekaj podobnega:
Start-Process notepad.exe
$ NotepadProc = Get-Process -Name notepad
$ NotepadProc.WaitForExit ()
Start-Process calc.exe
Ta skript bo zagnal beležko, nato dodeli izhodno datoteko "Get-Process -Name notepad" spremenljivki $ NotepadProc, potem pa pokličemo metodo WaitForExit na $ NotepadProc, ki povzroči, da se skript ustavi, dokler ne zaprete beležnice, ko zaprete beležnico nato se računalnik zažene.
$ _ (Trenutni objekt cevovoda)
Čeprav to ni ravno ukaz »cmdlet«, je ena najbolj uporabljenih posebnih spremenljivk v programu PowerShell. Uradno ime za $ _ je »trenutni objekt cevovoda«. Uporablja se v skriptnih blokih, filtrih, procesni klavzuli funkcij, kjer-objekt, foreach-objekt in stikala. Vendar je lažje pojasniti z zgledom, ki nas pripelje do naslednjega in končnega cmdleta, Kje-Predmet.
Kje-predmet
Kjer-Object naredi točno to, kar zveni, izbere predmet glede na to, ali ustreza določenim kriterijem. To bo združilo $ _ in lastnosti, ki jih lahko vidimo z uporabo Get-Member. Da bi to dokazali, bomo izhodni postopek Get-Process preusmerili v cmdlet Kje-Objekt.
Get-Process | Kje-predmet $ _. Ime -eq "iexplore"
Torej, kaj se tukaj dogaja, sprašujete? No, prva stvar, ki jo delamo, je, da dobimo seznam procesov na našem računalniku in prenesemo izhod (z uporabo znaka) na našo cmdlet Kje-Objekt, ki sprejme parameter skripta kot parameter. Blok skriptov (definiran s kodrastimi oklepaji) ukazuje cmdletom Where-Object, da izberejo samo objekte, pri katerih je njihov parameter imena enak »iexplore«, zato dobimo samo seznam primerkov IE, ki se izvajajo. To je vse, kar je, zabava!