10Aug

Geek skola: mācīšanās lietot komandas PowerShell

Ja jūs izmantojat ipconfig vai ping komandu uzvednē, jūs esat pusceļā, lai kļūtu par PowerShell ninja. Tātad, nāc un pievienojies mums, kā mēs atklājam šīs kategorijas Geek skolu instalācijas cmdletus.

Pārliecinieties, lai pārbaudītu mūsu pirmo rakstu, kurā iepazīstināja PowerShell, un visu nedēļu ilgi palieciet uz pārējo mūsu sēriju.

Cddlet

anatomija Sērijas pirmajā daļā mēs redzējām cmdlet, kas izskatījās šādi:

atjaunināšanas palīdzības komandas

PowerShell komandu kombinācijās ir verb-Noun sintakse, kas redzama iepriekš.Svarīgi atzīmēt, ka lietvārds vienmēr ir vienskaitlis, kaut arī cmdlet var atgriezties vairāk nekā vienā rezultātā.Lai redzētu tiesību jēdzienu sarakstu PowerShell, varat izmantot cmdlet Get-Verb.

Zinot juridiskos darbības vārdus un atceroties sinhrono lietvārdu normu, patiešām palīdz noklusēt cmdletvārdus. Piemēram, pieņemsim, ka vēlaties, lai saņemtu pakalpojumu sarakstu un to statusu - tas ir labi, tas ir tik vienkārši, kā Get-Service. Kā jūs domājat, ka saņems procesa sarakstu ar - tas ir pareizi, Get-Process darīs šo triku.

Get-Process

Tas padara tiešām viegli strādāt ar jebkuru tehnoloģiju. Piemēram, ja jums ir ievietotas Exchange cmdlets, mēs viegli varētu iegūt serveru sarakstu ar pastkastēm, izmantojot:

Get-Mailbox

. Tomēr pastāv izņēmums. Mainot malā, visām citām tehnoloģijām raksturīgām komandām būs jāpievieno prefikss. Piemēram, ja mēs gribētu iegūt lietotājus, kas pašlaik ir pieteicies, izmantojot attālo darbvirsmu, mēs ierakstu:

Get-RDUserSession

, kas redzams attēlā zemāk.

Piezīme. Šis ekrānuzņēmums tika ielādēts lodziņā Server 2012, jo tā ir vieta, kur jūs atradīsit lielāko daļu tehnoloģiju specifisko moduļu.

Pirms tam es izlasīju PowerShell krusttēva Don Jones rakstu, kurā viņš paskaidroja, ka apmaiņa ir nosūtīta pirms šī prefiksa pievienošanas cmdletēm, tādēļ tā nekad netika īstenota un nekad nebūs.

aizstājvārdi

Vēl viena iespēja, ar kuru nāk PowerShell, ir iespēja, ja jums ir vairākas iespējas, vadīt tās pašas komandas - aizstājvārdi. Laba lieta par viņiem ir tā, ka tie iekļāva daudzas komandas, kuras jūs, iespējams, izmantojāt komandu uzvednē, kā arī dažas Linux aliases. Piemēram, PowerShell sistēmā mēs varam iegūt direktoriju sarakstu, izmantojot:

Get-ChildItem

Izmanto komandu uzvednes lietošanai? Neuztraucieties, viņi tev ir pārklājuši.

Vai ir Linux fons? Viņi arī tevi aizturējuši.

Ja pēc dažiem gadiem esat izveidojis skriptu, jūs parasti sliecas un sākat lietot aizstājvārdus daudz, taču tas nepalīdz jaunienācējiem, kas gatavojas izlasīt mūsu kodu. Lai redzētu, kāda komanda aizstājvārds darbojas zem kapuci, jūs varat izmantot šo:

Get-Alias-Nosaukums ls

No otras puses, ja jums liekas, ka ir pienācis laiks, lai spēlētu spēli, varat izmantot definīcijas parametru, lai iegūtuvisi pseidonīmi cmdletam:

Get-ChildItem-Definīcija Get-ChildItem

Ja jūs nākat no kāda cita fona, varat pievienot savas pseidonīmi, rīkojoties šādi:

New-Alias-Nosaukums icanhazfilez -Vērtība Get-ChildItem

Acīmredzot,jums būs jāaizstāj "icanhazfilez" ar savu jauno aizstājvārdu un Get-ChildItem nosaukumu ar cmdlet, kuru vēlaties, lai tas darbotos zem kapuci.

Viena lieta, kas jāņem vērā, ir tā, ka jūs zaudējat visas pseidonīmus, kurus esat definējis, kad aizverat čaulu. Varat to apiet, pievienojot savu definīciju jūsu profila skriptam.

Atdalīšanas parametri

Windows PowerShell arī ļauj saīsināt parametru nosaukumus līdz brīdim, kad tie kļūst neskaidri, proti, līdz brīdim, kad PowerShell vairs nevar noskaidrot, uz kādu parametru jūs runājat. Piemēram:

Get-Service-nosaukums "Apple Mobile Device" -ComputerName localhost

Tas pats, kas:

Get-Service -Na "Apple Mobile Device" -Com vietējais sakaru

Ja jūs ar jebkādu iespēju parametru nosaukumi ir pārāk neskaidri, jūssaņems kļūdu.

Legacy komandas

Visbeidzot, komandas jūs zināt un mīlestība joprojām strādās PowerShell.

ping www.google.com

Vienkārši atcerieties, ka mantotās programmas, piemēram, ping, izvada virkni, un bieži vien ir labāks veids, kā to darīt, izmantojot PowerShell cmdlet.

Tā vietā, lai izvadītu garu teksta virkni, mums tagad ir palicis objekts, ko mēs apskatīsim rītdienas Geek skolu versijā.