10Aug
Če ste z ukaznim pozivom uporabljali ipconfig ali ping, na pol poti postanete PowerShell ninja. Zato pridite in se nam pridružite, ko v tej namestitvi šole Geek odkrivamo cmdletov.
Bodite prepričani, da preverite naš prvi članek, ki uvaja PowerShell, in ostanejo nastavljeni za preostanek naše serije ves teden.
Anatomija Cmdlet
V prvem delu serije smo videli cmdlet, ki je izgledal takole:
Update-Help
cmdletji PowerShell imajo sintakso s pomenko na glagolu, ki je prikazana zgoraj. Pomembno je omeniti, da je samostalnik vedno edinstven, čeprav lahko cmdlet vrne več kot en rezultat.Če si želite ogledati seznam pravnih glagolov v PowerShell-u, lahko uporabite ukaz cmdlet Get-Verb.
Poznavanje pravnih glagolov in spominjanje na edinstveno pravilo o pravicah resnično pomaga uganiti imena cmdletov. Recimo, da želite, da dobite seznam storitev in njihov status - to je prav, tako preprosto kot Get-Service. Kako mislite, da bi dobili seznam tekočih procesov - to je prav, Get-Process bo naredil trik.
Get-Process
To omogoča enostavno delo s katero koli tehnologijo. Na primer, če ste imeli naložene ukaze cmdletov Exchange, lahko preprosto dobimo seznam poštnih nabiralnikov na strežniku z uporabo:
Get-Mailbox
Vendar pa obstaja izjema.Če zamenjate, bodo vsi drugi ukazi, specifični za tehnologijo, potrebovali predpono.Če želimo na primer uporabnike, ki so trenutno prijavljeni prek oddaljenega namizja, vnesli:
Get-RDUserSession
Kateri je prikazan na sliki spodaj.
Opomba: Ta posnetek zaslona je bil posnet na polju Server 2012, saj boste tam našli večino modulov, specifičnih za tehnologijo.
Pred časom sem prebral članek Don Jonesa, Godfather PowerShell, kjer je pojasnil, da je bila Exchange prenesena pred to predpono, ki je bila dodana v cmdlet, zato jih ni nikoli izvajala in nikoli ne bo.
Aliases
Še ena funkcija PowerShell je možnost, da imate več načinov za izvajanje istega ukaza - vzdevki, če jih boste. Neverjetna stvar je, da so vključevali veliko ukazov, ki ste jih morda uporabljali v ukaznem pozivu, in tudi nekatere vzdevke Linuxa. Na primer v PowerShellu lahko dobimo vnos v imeniku z uporabo:
Get-ChildItem
Ali se uporablja ukazni poziv? Ne skrbi, ti si pokrit.
Ali imate ozadje Linuxa? Tudi tam so pokrivali.
Ko ste že nekaj let skriptirali, se nagibate k leni in začnete uporabljati vzdevke veliko, vendar to ne pomaga novincem, ki bodo prebrali našo kodo.Če si želite ogledati, kateri ukaz je vzdevek pod pokrovom, lahko uporabite naslednje:
Get-Alias -Name ls
Če pa menite, da je čas, da se vaša igra premakne, lahko uporabite parameter definicije, da dobitevsi vzdevki za cmdlet:
Get-ChildItem -Definition Get-ChildItem
Če prihajate iz nekega drugega ozadja, lahko dodate svoje vzdevke tako, da naredite naslednje:
New-Alias-Ime icanhazfilez -Value Get-ChildItem
Očitno je,boste morali zamenjati »icanhazfilez« z imenom novega vzdevka in Get-ChildItem z ukazno vrstico, ki jo želite zagnati pod pokrovom.
Treba je omeniti, da izgubite vse vzdevke, ki ste jih določili, ko zaprete lupino. O tem lahko preberete, tako da dodate svojo definicijo v svoj skriptni profil.
Odrezavanje parametrov
Windows PowerShell vam omogoča tudi, da skrajšate imena parametrov do točke, ko postanejo dvoumni, torej do točke, ko PowerShell ne more več ugotoviti, kateri parameter ste govorili. Na primer:
Get-Service -Name "Apple Mobile Device" -podatki lokalnega gostitelja za računalniško nameščen
Je enak kot:
Get-Service -Na "Apple Mobile Device" -Kom localhost
Če boste v vsakem primeru imeli imena parametrov preveč dvoumnibo prišlo do napake.
Legacy Commands
Končno, ukazi, ki jih poznate in ljubite, bodo še vedno delali v programu PowerShell.
ping www.google.com
Samo zapomnite si, da starejše aplikacije, kot je ping, izdelajo niz in pogosto je boljši način, da naredite isto stvar z uporabo cmdletja PowerShell.
Namesto izdaje dolgega niza besedila smo zdaj pustili predmet, ki ga bomo videli v jutrišnji izdaji Geek šole.