He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

I nga wa o mua, he pai ake te whakawhanaketanga o nga taputapu raina whakahau i runga i nga punaha Unix i a Windows, engari i te taenga mai o tetahi otinga hou, kua rereke te ahuatanga.

Ka taea e Windows PowerShell nga kaiwhakahaere punaha ki te whakaaunoa i te nuinga o nga mahi o ia ra. Ma te reira, ka taea e koe te whakarereke i nga tautuhinga, te whakamutu me te tiimata i nga ratonga, me te mahi tiaki i te nuinga o nga tono kua whakauruhia. He he ki te kite i te matapihi kikorangi hei kaiwhakamaori whakahau. Ko tenei huarahi karekau e whakaata i te mauri o nga mahi hou i whakaarohia e Microsoft. Inaa, he whanui ake nga mea ka taea e Windows PowerShell: i roto i nga raupapa tuhinga poto, ka ngana taatau ki te whakaaro he pehea te rereke o te otinga Microsoft mai i nga taputapu e mohio ana matou.

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Nga waahanga matua 

Ae ra, ko Windows PowerShell te tuatahi he anga tuhi, i hanga tuatahi ki runga i te .NET Framework me muri mai i runga i te .NET Core. Kaore i rite ki nga anga ka whakaae me te whakahoki i nga raraunga kuputuhi, ka mahi tahi a Windows PowerShell me nga karaehe .NET kei a raatau nga ahuatanga me nga tikanga. Ka taea e PowerShell koe ki te whakahaere i nga whakahau noa me te whai waahi ki a koe ki nga taonga COM, WMI, me ADSI. Ka whakamahia e ia nga momo rokiroki, penei i te punaha konae, te rehitatanga Windows ranei, mo te uru atu ki enei e kiia nei. kaiwhakarato. He mea tika kia mohiohia te kaha ki te whakauru i nga waahanga whakahaere PowerShell ki etahi atu tono hei whakatinana i nga momo mahi, tae atu ki. mā te atanga kauwhata. He pono ano te whakamuri: he maha nga tono Windows e uru ana ki o raatau atanga whakahaere ma te PowerShell. 

Ka taea e Windows PowerShell koe ki te:

  • Hurihia nga tautuhinga punaha whakahaere;
  • Whakahaere ratonga me nga tukanga;
  • Whirihorahia nga mahi a te tūmau me nga waahanga;
  • Tāuta pūmanawa;
  • Whakahaerehia nga rorohiko kua whakauruhia ma nga atanga motuhake;
  • Whakamaua nga waahanga whakahaere ki nga kaupapa-tuatoru;
  • Waihanga tuhinga hei whakaaunoa i nga mahi whakahaere;
  • Mahi me te punaha konae, rehita Windows, toa tiwhikete, aha atu.

Te anga me te taiao whanaketanga

E rua nga momo Windows PowerShell: i tua atu i te emulator papatohu me te anga whakahau, he Taiao Tuhituhi Whakauru (ISE). Hei uru atu ki te atanga raina whakahau, tohua noa te pokatata tika mai i te tahua Windows ka whakahaere ranei i te powershell.exe mai i te tahua Run. Ka puta he matapihi kikorangi ki runga i te mata, he rereke te kaha mai i te cmd.exe antediluvian. He whakaoti aunoa me etahi atu ahuatanga e mohio ana ki nga kaiwhakamahi o nga anga whakahau mo nga punaha Unix.

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Hei mahi me te anga, me mahara koe ki etahi pokatata papapātuhi:

  • Ko nga pere ki runga me raro ka panuku i roto i te hitori ki te whakahoki i nga whakahau i patohia i mua;
  • Ko te pere matau i te pito o te raina ka pato ano i te ahua whakahau o mua ma te ahua;
  • Ka whakakorehia e Ctrl+Home te kuputuhi kua patohia mai i te tuunga pehu ki te timatanga o te raina;
  • Ka whakakorehia e Ctrl+End te kuputuhi mai i te pehu ki te pito o te raina.

Ko te F7 e whakaatu ana i tetahi matapihi me nga tono kua patohia ka taea e koe te kowhiri i tetahi o enei. Ka mahi ano te papatohu me te kowhiringa kuputuhi me te kiore, te kape-whakapiri, te tuunga pehu, te muku, te mokowhiti whakamuri - nga mea katoa e pai ana matou.

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Ko te Windows PowerShell ISE he taiao whakawhanaketanga katoa me te etita waehere kua tohua me te wetereo, te kaihanga whakahau, te patuiro-i roto, me etahi atu mea ngahau. Mena ka tuhi koe i te tohuhono i muri i te ingoa whakahau i roto i te ētita taiao whanaketanga, ka whiwhi koe i nga whiringa katoa e waatea ana i te rarangi taka-iho me te tohu o te momo. Ka taea e koe te whakarewa i te PowerShell ISE ma te pokatata mai i te tahua punaha, ma te whakamahi ranei i te konae whakahaere powershell_ise.exe.

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Cmdlets 

I roto i te Windows PowerShell, ko te mea e kiia nei. cmdlets. He akomanga .NET motuhake enei e whakarato ana i nga momo mahi. Ka whakaingoatia he Ahanoa Mahi (mehemea e pai ana koe), he rite te hononga kua wehea-honohono ki te tohu me te kaupapa i roto i nga rerenga reo maori. Hei tauira, ko te tikanga Tiki-Awhina ko "Tikina-Awhina", kei roto ranei i te horopaki PowerShell: "Whakaatu-Awhina". Inaa, he ahua tenei o te whakahau tangata i roto i nga punaha Unix, me penei te tono pukapuka i roto i te PowerShell, kaua ma te waea cmdlet me te --help, /? ranei. Kaua e wareware ki nga tuhinga PowerShell ipurangi: He tino taipitopito a Microsoft.

I tua atu i te Tiki, ka whakamahia e nga cmdlet etahi atu kupumahi hei tohu i nga mahi (kaore ko nga kupumahi anake, tino korero). I roto i te rarangi i raro nei ka hoatu e matou etahi tauira:

Add - tāpiri;
Clear - maamaa;
Enable - whakakā;
Disable - whakaweto;
New - hanga;
Remove - muku;
Set - patai;
Start - rere;
Stop - mutu;
Export - kaweake;
Import - kawemai.

He punaha, he kaiwhakamahi me nga cmdlet whiriwhiri: na te mahi, ka whakahokia katoatia he ahanoa, he huinga taonga ranei. Ehara i te mea he take tairongo, i.e. mai i te tirohanga a te kaiwhakamaori whakahau, kaore he rereketanga i waenga i te Tiki-Awhina me te tiki-awhina. Ko te ahua ';' ka whakamahia mo te wehewehenga, engari me waiho noa mena ka mahia etahi cmdlet ki te raina kotahi. 

Kua whakarōpūhia nga cmdlet Windows PowerShell ki nga waahanga (NetTCPIP, Hyper-V, me etahi atu), a he cmdlet Tiki-Whakahau hei rapu ma te ahanoa me te mahi. Ka taea e koe te whakaatu awhina mo tena penei:

Get-Help Get-Command

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Ma te taunoa, ka whakaatu te whakahau i te awhina poto, engari ka tukuna nga tawhā (tohenga) ki nga cmdlet ina hiahiatia. Ma ta raatau awhina, ka taea e koe, hei tauira, te tiki taipitopito (taawhā -Taipitopito) ranei ki tonu (tawhā -Katoa) awhina, me te whakaatu tauira (tawhā -Taiira):

Get-Help Get-Command -Examples

Ko te awhina i roto i te Windows PowerShell e whakahōuhia ana e te cmdlet Whakahou-Awhina. Mena ka puta he roa rawa te rarangi whakahau, ka taea te nukuhia nga tautohetohe cmdlet ki tetahi atu ma te tuhi i te tohu ratonga '' me te pehi i te Enter - ka mutu noa te tuhi i te whakahau ki tetahi raina me te haere tonu ki tetahi atu kaore e mahi.

Anei etahi tauira o nga cmdlet noa: 

Get-Process - whakaatu i nga tukanga whakahaere i roto i te punaha;
Get-Service — whakaatu ratonga me o raatau mana;
Get-Content - whakaatu i nga ihirangi o te konae.

Mo nga cmdlet me nga taputapu o waho e whakamahia ana, he kupu taurite a Windows PowerShell - ingoa ingoa (mai i te reo Ingarihi. Alias). Hei tauira, he ingoa ingoa a dir mo Get-ChildItem. Kei roto hoki i te rarangi o nga kupu taurite nga whakahau mai i nga punaha Unix (ls, ps, me etahi atu), a ko te cmdlet Tiki-Awhina e kiia ana e te whakahau awhina. Ka taea te tiro he rarangi katoa o nga kupu taurite ma te whakamahi i te Get-Alias ​​​​cmdlet:

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Nga Tuhituhi, Nga Mahi, Nga Kowae, me te Reo PowerShell

Kei te rongoa nga tuhinga Windows PowerShell hei konae kuputuhi noa me te toronga .ps1. Kaore e taea e koe te whakarewa ma te pa-rua: me paato-matau koe ki te karanga i te tahua horopaki ka kowhiri i te mea "Rere i roto i te PowerShell". Mai i te papatohu, me tohu e koe te huarahi katoa ki te tuhinga, ka haere ranei ki te raarangi e tika ana ka tuhi i te ingoa konae. Kei te whakawhäitihia nga tuhinga whakahaere e te kaupapa here a te punaha, a hei tirotiro i nga tautuhinga o naianei, ka taea e koe te whakamahi i te cmdlet Get-ExecutionPolicy, ka whakahoki mai i tetahi o nga uara e whai ake nei:

Restricted — kua monokia te whakarewatanga o nga tuhinga (ma te taunoa);
AllSigned - ko te whakarewatanga o nga tuhinga kua hainatia e tetahi kaiwhakawhanake pono ka whakaaetia;
RemoteSigned - whakaaetia ki te whakahaere i hainatia me te ake tuhinga;
Unrestricted - whakaaetia ki te whakahaere i tetahi tuhinga.

E rua nga whiringa a te kaiwhakahaere. Ko te mea tino haumaru ko te hainatanga o nga tuhinga, engari he makutu tino kino tenei - ka mahia e maatau i nga tuhinga a muri ake nei. Inaianei me haere tatou ki te ara o te aukati me te whakarereke i te kaupapa here:

Set-ExecutionPolicy RemoteSigned

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Me whakahaere a PowerShell hei kaiwhakahaere ki te mahi i tenei, ahakoa ka taea e koe te whakarereke i te kaupapa here mo te kaiwhakamahi o naianei me tetahi tautuhinga motuhake.

Ka tuhia nga tuhinga ki roto i te reo hootaka ahanoa, ka whakaingoatia nga whakahau i runga i te kaupapa rite ki nga cmdlet kua korerohia i mua ake nei: "Action-Object" ("Verb-Noun"). Ko tana kaupapa matua ko te whakaaunoa i nga mahi whakahaere, engari he reo whakamaori katoa kei a ia nga hanganga e tika ana: te peke here, nga koropiko, nga taurangi, nga raupapa, nga taonga, te whakahaere hapa, aha atu. He pai te ētita tuhinga mo te tuhi, engari he pai ki te whakahaere Windows PowerShell ISE.

Ka taea e koe te tuku i nga tawhā ki te hōtuhi, kia hiahiatia, ka tautuhi i nga uara taunoa. I tua atu, ka taea e Windows PowerShell koe ki te hanga me te karanga i nga taumahi kia rite ki nga cmdlet, ma te whakamahi i te Hanga Taumahi me nga taiapa mingimingi. Ko te tuhinga me nga mahi ka kiia he kōwae me te toronga .psm1. Me penapena nga waahanga ki roto i nga raarangi kua tautuhia ki nga taurangi taiao PowerShell. Ka taea e koe te tiro ki a raatau ma te whakahau e whai ake nei:

Get-ChildItem Env:PSModulePath | Format-Table -AutoSize

Kaituku

I te tauira whakamutunga, kua whakamahia e matou he hanga e waia ana ki nga kaiwhakamahi anga Unix. I roto i te Windows PowerShell, ko te pae poutū ka taea e koe te tuku i te putanga o tetahi whakahau ki te whakaurunga o tetahi atu, engari he rereketanga nui kei roto i te whakatinanatanga o te paipa: kua kore matou e korero mo te huinga o nga tohu me etahi momo momo. kuputuhi. Ko nga cmdlet-i roto, ko nga mahi kua tautuhia e te kaiwhakamahi ka whakahoki i nga taonga, i nga huinga taonga ranei, ka taea hoki te tango hei whakaurunga. Pērā i te anga Bourne me te maha o ana kaiwhakakapi, ka whakangwarihia e PowerShell nga mahi uaua ma te paipa.

Ko te tauira paipa ngawari te ahua penei:

Get-Service | Sort-Object -property Status

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Tuatahi, ka mahia te cmdlet Tiki-Ratonga, katahi ka tukuna nga ratonga katoa ka tukuna atu ki te cmdlet Kōmaka-Anoa mo te kōmaka ma te taonga Tūnga. Ko tehea tohenga ka tukuna te hua o te waahanga o mua o te paipa ki runga i tona momo - ko te InputObject te tikanga. Ka matapakihia tenei take i roto i te tuhinga i whakatapua ki te reo papatono PowerShell. 

Ki te hiahia koe, ka taea e koe te haere tonu i te mekameka me te tuku i te hua o te mahi Sort-Object ki tetahi atu cmdlet (ka mahia mai i te maui ki te taha matau). Ma te ara, ka whai waahi ano nga kaiwhakamahi Windows ki te hanga mo te whakaingoatanga e mohio ana ki nga Unixoids katoa: 

Get-Service | Sort-Object -property Status | more

Te whakahaere i nga mahi kei muri 

I te nuinga o nga wa, he mea tika ki te whakahaere i tetahi whakahau i muri, kia kore ai e tatari mo te hua o tana mahi i roto i te huihuinga anga. He maha nga cmdlet a Windows PowerShell mo tenei keehi:

Start-Job - te whakarewa i tetahi mahi papamuri;
Stop-Job — whakamutua te mahi papamuri;
Get-Job — tirohia te rarangi o nga mahi papamuri;
Receive-Job — te tiro i te hua o te mahi mahi papamuri;
Remove-Job — te whakakore i tetahi mahi papamuri;
Wait-Job - te whakawhiti i te mahi papamuri ki te papatohu.

Hei timata i tetahi mahi papamuri, ka whakamahia e matou te cmdlet Tīmata-Job ka tohua he tono, he huinga whakahau ranei i roto i nga taiapa mingimingi:

Start-Job {Get-Service}

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Ko nga mahi papamuri kei Windows PowerShell ka taea te raweke ma te mohio ki o raatau ingoa. Tuatahi, me ako me pehea te whakaatu i a raatau:

Get-Job

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Inaianei me whakaatu te hua o te mahi Job1:

Receive-Job Job1 | more

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
He tino ngawari nga mea katoa.

Mahi whakahau mamao

Ka taea e Windows PowerShell te whakahaere i nga whakahau me nga tuhinga tuhi ehara i te rorohiko o te rohe anake, engari i runga rorohiko mamao, tae noa ki te roopu miihini katoa. He maha nga huarahi hei mahi i tenei:

  • He tawhā te maha o nga cmdlet -ComputerName, engari i tenei ara e kore e mahi, hei tauira, ki te hanga kaikawe;
  • Cmdlet Enter-PSSession ka taea e koe te hanga i tetahi huihuinga whakawhitiwhiti i runga i te miihini mamao; 
  • Ma te whakamahi i te cmdlet Invoke-Command ka taea e koe te whakahaere i nga whakahau, i nga tuhinga tuhi ranei i runga i tetahi rorohiko mamao ranei.

Putanga o PowerShell

He maha nga huringa o PowerShell mai i tana tukunga tuatahi i te tau 2006. Kei te waatea te taputapu mo te maha o nga punaha e rere ana i runga i nga papaapapa taputapu rereke (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012 R2, Windows 10, Windows Server 2016, GNU/Linux me OS X. Whakaputa hou 6.2 i tukuna i te Hanuere 10, 2018. Ko nga tuhinga i tuhia mo nga putanga o mua tera pea ka mahi i roto i nga waahanga o muri mai, engari ka raru pea te whakahoki mai na te mea kua whakauruhia e PowerShell te maha o nga cmdlet hou i roto i nga tau o te whanaketanga. Ka kitea e koe te putanga o te anga whakahau i whakauruhia ki runga rorohiko ma te whakamahi i te taonga PSVersion o te $PSVersionTable taurangi hanga-roto:

$PSVersionTable.PSVersion

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Ka taea hoki e koe te whakamahi i te cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua
Ka pera ano me te cmdlet Tiki-Kaihautu. Inaa, he maha nga whiringa, engari ki te whakamahi me ako koe i te reo papatono PowerShell, ka mahia e matou i roto Tuhinga ka whai mai

Ngā putanga 

Kua taea e Microsoft te hanga i tetahi anga tino kaha me te taiao whakauru pai mo te whakawhanake i nga tuhinga. He rereke mai i nga taputapu e mohio ana matou ki te ao o Unix na roto i te whakauru hohonu ki nga punaha whakahaere o te whanau Windows, tae atu ki nga rorohiko mo ratou me te papaahi .NET Core. Ka taea te kii a PowerShell he anga-a-ahua na te mea ka whakahokia e nga cmdlet me nga mahi kua tautuhia e te kaiwhakamahi nga ahanoa, nga huinga taonga ranei ka taea te tango hei whakaurunga. Ki ta matou whakaaro ma nga kaiwhakahaere tūmau katoa o Windows tenei taputapu: kua pahemo te wa ka taea e ratou te mahi me te kore te raina whakahau. He anga papatohu matatau e tino hiahiatia ana to tatou VPS utu iti whakahaere Windows Server Core, engari he korero tino rereke tera.

He aha te Windows PowerShell me te aha te kai? Wāhanga 1: Ngā Āhuatanga Matua

Ko nga kaiwhakamahi kua rehita anake ka uru ki te rangahau. Waitohu maitēnā.

Eaha te mau tumu parau e tia ia tuatapapahia na mua i roto i te mau tumu parau i muri nei o te anairaa?

  • 53,2 orauPapatonotanga i PowerShell123

  • 42,4 orauNga Mahi a PowerShell98 me nga waahanga

  • 22,1 orauMe pehea te haina i a koe ake tuhinga?51

  • 12,1 orauTe mahi me nga whare pupuri ma nga kaiwhakarato (kaiwhakarato)28

  • 57,6 orauWhakaaunoa Whakahaere Rorohiko me PowerShell133

  • 30,7 orauWhakahaerenga rorohiko me te whakauru i nga mana whakahaere PowerShell ki nga hua-tuatoru71

231 nga kaiwhakamahi i pooti. 37 nga kaiwhakamahi i aukati.

Source: will.com

Tāpiri i te kōrero