If-Koubou

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

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

Ja jūs izmantojat ipconfig vai ping caur komandu uzvedni, 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īstina PowerShell, un visu nedēļu ilgi turiet visu mūsu sēriju.

Kombīnas anatomija

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

Update-Palīdzība

PowerShell cmdlet ir verb-Noun sintakse, kuru var redzēt 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 īpašo lietvārdu noteikumu, tas patiesībā palīdz noklusēt cmdletvārdus. Piemēram, pieņemsim, ka vēlaties gūt sarakstu ar pakalpojumi un viņu statuss - tas ir pareizi, tas ir tik vienkārši, kā Get-Service. Kā jūs domājat, ka mēs gūt braukšanas saraksts procesi - 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 varētu ērti iegūt pastkastes sarakstu serverī, izmantojot:

Get-pastkastīte

Tomēr ir 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 vēlētos 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īsiet lielāko daļu tehnoloģiju specifisko moduļu.

Pirms tam es izlasīju PowerShell kristuļa dēla Don Jones rakstīto 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 funkcija PowerShell ir tā, ka var būt vairāki veidi, kā darboties tajā pašā komandā - pseidonīmi, ja vēlaties. 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

Vai izmantojat komandu uzvedni? Neuztraucieties, viņi tev ir pārklājuši.

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

Ja jums ir bijis skriptu uz pāris gadiem, jums ir tendence kļūt slinks un sākt lietot pseidonīmi daudz, bet tas nepalīdz jaunienācējiem, kas gatavojas izlasīt mūsu kodu. Lai redzētu, kāda komanda izmanto pseidonīmu zem pārsega, varat izmantot šo:

Get-Alias-Nosaukums ls

No otras puses, ja jums liekas, ka ir pienācis laiks palaist spēli, varat izmantot definīcijas parametru, lai saņemtu visas cipolītes aliases:

Get-ChildItem-Definīcija Get-ChildItem

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

New-Alias-Nosaukums icanhazfilez -Value Get-ChildItem

Protams, jums būs jāaizstāj "icanhazfilez" ar jūsu jaunā aizstājvārda un Get-ChildItem nosaukumu ar cmdlet, kuru vēlaties palaist zem kapuci.

Viena lieta, kas jāņem vērā, ir tas, ka jūs zaudējat visas pseidonīmi, ko 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

Vai tas pats, kas:

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

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

Legacy komandas

Visbeidzot, komandas, kuras jūs pazīstat un mīlu, joprojām darbosies PowerShell.

ping www.google.com

Vienkārši atcerieties, ka mantotās lietojumprogrammas, 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, tagad mums paliek objekts, kuru mēs aplūkosim rītdienas Geek skolu izdevumā.