Mājas lapa » » Geek skola mācās izmantot maciņus PowerShell

    Geek skola mācās izmantot maciņus PowerShell

    Ja komandu uzvednē esat izmantojis ipconfig vai ping, jūs esat pusceļā, lai kļūtu par PowerShell ninja. Tātad, nāciet un pievienojieties mums, kad mēs atklājam cmdlet šajā Geek skolas instalācijā.

    Noteikti pārbaudiet mūsu pirmo rakstu, kas iepazīstina ar PowerShell, un visu nedēļu palieciet pārējo mūsu sēriju.

    Cmdlet anatomija

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

    Update-Help

    PowerShell cmdlet ir Verb-Noun sintakse, ko var redzēt iepriekš. Svarīgi atzīmēt, ka lietvārds vienmēr ir vienskaitlis, lai gan cmdlet var atgriezt vairāk nekā vienu rezultātu. Lai redzētu PowerShell juridisko verbju sarakstu, varat izmantot cmdlet Get-Verb.

    Zinot juridiskos vārdus un atceroties vienskaitļa vārdu, patiešām palīdz minēt cmdlet vārdus. Piemēram, pieņemsim, ka vēlaties gūt saraksts ar pakalpojumiem un to statuss - tas ir pareizi, tā ir tikpat vienkārša kā Get-Service. Kā jūs domājat, ka mēs to darītu gūt saraksts, kurā darbojas procesi - tas ir labi, Get-Process darīs triku.

    Get-Process

    Tas padara to ļoti viegli strādāt ar jebkuru tehnoloģiju. Piemēram, ja esat ielādējis Exchange cmdlet, mēs varētu viegli iegūt servera pastkastu sarakstu, izmantojot:

    Get-Mailbox

    Tomēr pastāv izņēmums. Pārmaiņas malā, visām citām tehnoloģijām specifiskām komandām būs nepieciešams prefikss. Piemēram, ja mēs vēlējāmies iegūt lietotājus, kas pašlaik ir pieteicušies, izmantojot Remote Desktop, mēs ierakstītu:

    Get-RDUserSession

    Kuru var redzēt zemāk redzamajā attēlā.

    Piezīme: Šis ekrānuzņēmums tika uzņemts lodziņā Server 2012, jo tas ir tas, kur jūs atradīsiet lielāko daļu tehnoloģiju specifisko moduļu.

    Pirms kāda laika es izlasīju PowerShell krusttēva Don Jones rakstu, kurā viņš paskaidroja, ka Exchange ir nosūtīts pirms šī prefiksa pievienošanas cmdlet, tāpēc tas nekad netika īstenots un nekad netiks darīts.

    Pseidonīmi

    Vēl viena iezīme PowerShell nāk ar spēju būt vairākiem veidiem, kā darbināt to pašu komandu - pseidonīmi, ja vēlaties. Varbūt par tām ir jāietver daudzas komandas, kuras jūs, iespējams, izmantojāt komandrindā, kā arī dažas Linux pseidonīmi. Piemēram, programmā PowerShell mēs varam iegūt direktoriju sarakstu, izmantojot:

    Get-ChildItem

    Vai izmanto komandu uzvedni? Neuztraucieties!.

    Vai jums ir Linux fons? Viņi arī jūs esat šeit.

    Kad esat pāris gadus skriptu, jums ir tendence kļūt slinki un sāciet izmantot pseidonīmi, taču tas nepalīdz jaunajiem, kas lasīs mūsu kodu. Lai redzētu, kādu komandu alias vada zem pārsega, varat izmantot tālāk minēto:

    Get-Alias ​​-Name ls

    No otras puses, ja jums liekas, ka ir pienācis laiks soli uz augšu, varat izmantot definīcijas parametru, lai iegūtu visus pseidonīmus cmdlet:

    Get-ChildItem-Definīcija Get-ChildItem

    Ja nāk no kāda cita fona, varat pievienot savus pseidonīmi, rīkojoties šādi:

    New-Alias ​​-Name icanhazfilez -Vērtība Get-ChildItem

    Acīmredzot „icanhazfilez” jāaizstāj ar sava jaunā vārda nosaukumu un Get-ChildItem ar cmdlet, kuru vēlaties, lai tas darbotos zem pārsega.

    Viena lieta, kas jāatzīmē, ir tas, ka jūs zaudējat visus vārdus, kurus esat definējis, aizverot apvalku. To varat iegūt, pievienojot to definīciju savam profila skriptam.

    Kopēšanas parametri

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

    Get-Service -Name 'Apple Mobile Device' - datora nosaukums localhost

    Tas pats, kas:

    Get-Service -Na 'Apple Mobile Device' -Com vietējais serveris

    Ja jūs jebkādā veidā padarīsit parametrus pārāk neskaidri, jūs saņemsiet kļūdu.

    Mantojuma komandas

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

    ping www.google.com

    Vienkārši atcerieties, ka mantojuma programmas, piemēram, ping izvadi virknē, un bieži vien ir labāks veids, kā to izdarīt, izmantojot PowerShell cmdlet.

    Tā vietā, lai izdotu garu teksta rindu, mēs tagad paliekim ar objektu, ko mēs apskatīsim rītdienas Geek skolas izdevumā..