Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Go stairiúil, tá forbairt níos fearr ar fhóntais ordú-líne ar chórais Unix ná ar Windows, ach le teacht ar réiteach nua, tá athrú tagtha ar an scéal.

Ligeann Windows PowerShell do riarthóirí córais formhór na ngnáththascanna a uathoibriú. Leis, is féidir leat socruithe a athrú, seirbhísí a stopadh agus a thosú, agus cothabháil a dhéanamh ar fhormhór na bhfeidhmchlár suiteáilte freisin. Bheadh ​​sé mícheart an fhuinneog gorm a bhrath mar ateangaire ordaithe eile. Ní léiríonn an cur chuige seo croílár na nuálaíochta atá molta ag Microsoft. Go deimhin, tá féidearthachtaí Windows PowerShell i bhfad níos leithne: i sraith ghearr alt, déanfaimid iarracht a dhéanamh amach conas a bhíonn réiteach Microsoft difriúil ó na huirlisí a bhfuil muid níos eolach orthu.

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Príomhghnéithe 

Ar ndóigh, is blaosc scriptithe go príomha é Windows PowerShell, a tógadh ar dtús ar an gCreat .NET agus níos déanaí ar .NET Core. Murab ionann agus sliogáin a ghlacann agus a chuireann sonraí téacs ar ais, oibríonn Windows PowerShell le ranganna .NET a bhfuil airíonna agus modhanna acu. Ligeann PowerShell duit orduithe coitianta a rith agus tugann sé rochtain duit freisin ar oibiachtaí COM, WMI, agus ADSI. Úsáideann sé stórais éagsúla, mar shampla an córas comhad nó clárlann Windows, chun rochtain a fháil orthu mar a thugtar orthu. soláthraithe. Is fiú a thabhairt faoi deara go bhféadfaí comhpháirteanna inrite PowerShell a leabú in iarratais eile chun oibríochtaí éagsúla a chur i bhfeidhm, lena n-áirítear. trí chomhéadan grafach. Tá a mhalairt fíor freisin: soláthraíonn go leor feidhmchlár Windows rochtain ar a gcomhéadain bhainistíochta trí PowerShell. 

Ligeann Windows PowerShell duit:

  • Athraigh socruithe an chórais oibriúcháin;
  • Seirbhísí agus próisis a bhainistiú;
  • Cumraigh róil agus comhpháirteanna freastalaí;
  • Suiteáil bogearraí;
  • Bainistigh bogearraí suiteáilte trí chomhéadain speisialta;
  • Comhpháirteanna inrite a leabú i gcláir tríú páirtí;
  • Scripteanna a chruthú chun tascanna riaracháin a uathoibriú;
  • Oibriú leis an gcóras comhad, clárlann Windows, stór teastais, etc.

Shell agus timpeallacht forbartha

Tá Windows PowerShell ann i dhá fhoirm: chomh maith leis an aithriseoir consól le blaosc ordaithe, tá Timpeallacht Scripteála Comhtháite (ISE). Chun comhéadan na n-orduithe a rochtain, níl le déanamh ach an t-aicearra cuí a roghnú ón roghchlár Windows nó rith powershell.exe ón roghchlár Rith. Beidh fuinneog ghorm le feiceáil ar an scáileán, a bheidh difriúil go suntasach ó thaobh cumais ón cmd.exe antediluvian. Tá uathchríochnú agus gnéithe eile ar eolas ag úsáideoirí sliogáin ordaithe do chórais Unix.

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Chun oibriú leis an bhlaosc, ní mór duit cuimhneamh ar roinnt aicearraí méarchláir:

  • Scrollaíonn na saigheada suas agus anuas tríd an stair chun orduithe clóscríofa roimhe seo a dhéanamh arís;
  • Déanann an tsaighead ar dheis ag deireadh líne an carachtar ordaithe roimhe seo a athchló de réir carachtair;
  • Scriosann Ctrl+Home an téacs clóscríofa ó shuíomh an chúrsóra go dtí tús na líne;
  • Scriosann Ctrl+End téacs ón chúrsóir go dtí deireadh na líne.

Taispeánann F7 fuinneog le horduithe clóscríofa agus ligeann sé duit ceann acu a roghnú. Oibríonn an consól freisin le roghnú téacs leis an luch, cóip-greamaigh, suíomh cúrsóir, scriosadh, cúlspás - gach rud is maith linn.

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Is timpeallacht forbartha iomlán é Windows PowerShell ISE le eagarthóir cód le feiceáil ar tháb agus ar chomhréir, tógálaí orduithe, dífhabhtóir ionsuite, agus pléisiúir ríomhchlárúcháin eile. Má scríobhann tú fleiscín tar éis ainm an ordaithe san eagarthóir timpeallachta forbartha, gheobhaidh tú na roghanna go léir atá ar fáil sa liosta anuas le léiriú ar an gcineál. Is féidir leat PowerShell ISE a sheoladh trí aicearra ó roghchlár an chórais, nó ag baint úsáide as an gcomhad inrite powershell_ise.exe.

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Cmdlets 

I Windows PowerShell, mar a thugtar air. cmdlets. Is ranganna .NET speisialaithe iad seo a sholáthraíonn feidhmiúlacht éagsúla. Tugtar Action-Object (nó Briathar-Ainm orthu, más fearr leat), agus tá an nasc idirscartha le fleiscín cosúil leis an tuar agus leis an ábhar in abairtí nádúrtha teanga. Mar shampla, ciallaíonn Get-Help go litriúil "Faigh Cabhair", nó i gcomhthéacs PowerShell: "Show-Help". Go deimhin, is analóg é seo den man command i gcórais Unix, agus ní mór lámhleabhair i PowerShell a iarraidh ar an mbealach seo, agus ní trí ghlaoch a chur ar cmdlets leis an eochair --help nó /?. Ná déan dearmad faoi na doiciméid PowerShell ar líne: Tá sé mionsonraithe go leor ag Microsoft.

Chomh maith le Get, úsáideann cmdlets briathra eile chun gníomhartha a chur in iúl (agus ní briathra amháin, go docht). Sa liosta thíos tugaimid roinnt samplaí:

Add - cuir;
Clear - soiléir;
Enable - cas ar;
Disable - múch;
New - cruthaigh;
Remove - scrios;
Set - fiafraigh;
Start - rith;
Stop - stop;
Export - onnmhairiú;
Import - allmhairiú.

Tá cmdlets córais, úsáideora agus roghnach ann: mar thoradh ar fhorghníomhú, cuireann siad go léir réad nó sraith rudaí ar ais. Níl siad cásíogair, i.e. ó thaobh an teangaire ordaithe de, níl aon difríocht idir Get-Help agus get-help. Úsáidtear an carachtar ';' le haghaidh deighilte, ach ní gá é a chur ach amháin má dhéantar roinnt cmdlets ar an líne chéanna. 

Déantar cmdlets Windows PowerShell a ghrúpáil i modúil (NetTCPIP, Hyper-V, etc.), agus tá cmdlet Get-Command ann chun cuardach a dhéanamh de réir réad agus gníomh. Is féidir leat cabhair a thaispeáint dó mar seo:

Get-Help Get-Command

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

De réir réamhshocraithe, taispeánann an t-ordú cúnamh gairid, ach cuirtear paraiméadair (argóintí) ar aghaidh chuig cmdlets de réir mar is gá. Le cabhair uathu, is féidir leat, mar shampla, cúnamh mionsonraithe (paraiméadar -Mionsonraithe) nó iomlán (paraiméadar -Iomlán) a fháil, chomh maith le samplaí taispeána (paraiméadar -Samplaí):

Get-Help Get-Command -Examples

Tá Cabhair i Windows PowerShell nuashonraithe ag an cmdlet Update-Help. Má tharlaíonn sé go bhfuil an líne ordaithe ró-fhada, is féidir na hargóintí cmdlet a bhogadh go dtí an chéad cheann eile tríd an gcarachtar seirbhíse '`' a scríobh agus brúigh Iontráil - ní oibreoidh ach críochnú an ordaithe a scríobh ar líne amháin agus leanúint ar aghaidh ar líne eile.

Seo roinnt samplaí de cmdlets coitianta: 

Get-Process - próisis reatha sa chóras a thaispeáint;
Get-Service — seirbhísí taispeántais agus a stádas;
Get-Content - taispeáint ábhar an chomhaid.

Maidir le cmdlets agus fóntais sheachtracha a úsáidtear go minic, tá comhchiallaigh ghearr ag Windows PowerShell - ailiasanna (ón mBéarla. Ailias). Mar shampla, is ailias é dir le haghaidh Get-ChildItem. Áirítear ar liosta na gcomhchiallaigh freisin analógacha orduithe ó chórais Unix (ls, ps, etc.), agus glaoitear an cmdlet Get-Help leis an ordú cabhrach. Is féidir liosta iomlán comhchiallaigh a fheiceáil ag baint úsáide as an cmdlet Get-Alias:

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Scripteanna, Feidhmeanna, Modúil, agus an Teanga PowerShell

Stóráiltear scripteanna Windows PowerShell mar chomhaid gnáth-théacs le síneadh .ps1. Ní féidir leat iad a sheoladh trí chliceáil faoi dhó: ní mór duit cliceáil ar dheis chun an roghchlár comhthéacs a ghlaoch agus an mhír “Rith i PowerShell” a roghnú. Ón gconsól, beidh ort an cosán iomlán chuig an script a shonrú, nó téigh chuig an eolaire cuí agus ainm an chomhaid a scríobh. Tá rith scripteanna teoranta freisin ag polasaí an chórais, agus chun na socruithe reatha a sheiceáil, is féidir leat an cmdlet Get-ExecutionPolicy a úsáid, a thabharfaidh ceann de na luachanna seo a leanas ar ais:

Restricted — tá seoladh scripteanna díchumasaithe (de réir réamhshocraithe);
AllSigned - ní cheadaítear ach seoladh scripteanna sínithe ag forbróir iontaofa;
RemoteSigned - cead a bheith ag rith scripteanna sínithe agus féin;
Unrestricted - cead a rith aon scripteanna.

Tá dhá rogha ag an riarthóir. Is éard atá i gceist leis an gceann is sláine ná scripteanna a shíniú, ach is brón tromchúiseach é seo - déileálfaimid leis in ailt amach anseo. Anois déanaimis cosán na frithsheasmhachta is lú agus athróimis an polasaí:

Set-ExecutionPolicy RemoteSigned

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Ní mór PowerShell a reáchtáil mar riarthóir chun é seo a dhéanamh, cé gur féidir leat an polasaí don úsáideoir reatha a athrú le socrú speisialta.

Scríobhtar na scripteanna i dteanga ríomhchláraithe atá dírithe ar oibiachtaí, a bhfuil a orduithe ainmnithe de réir an phrionsabail chéanna leis na cmdlets a pléadh roimhe seo: “Action-Object” (“Verb-Noun”). Is é an príomhchuspóir atá leis ná tascanna riaracháin a uathoibriú, ach is teanga léirmhínithe lán-chuimsitheach í a bhfuil na struchtúir riachtanacha go léir aici: léim choinníollach, lúba, athróga, eagair, rudaí, láimhseáil earráidí, etc. Tá aon eagarthóir téacs ceart go leor le haghaidh scriptithe, ach is fearr Windows PowerShell ISE a rith.

Is féidir leat paraiméadair a chur ar aghaidh chuig an script, iad a dhéanamh ag teastáil, agus luachanna réamhshocraithe a shocrú. Ina theannta sin, ligeann Windows PowerShell duit feidhmeanna a chruthú agus a ghlaoch ar an mbealach céanna le cmdlets, trí úsáid a bhaint as an tógáil Feidhm agus braces curly. Tugtar modúl ar script a bhfuil feidhmeanna aige agus tá síneadh .psm1 aige. Ní mór modúil a stóráil in eolairí a shainítear in athróga timpeallachta PowerShell. Is féidir leat iad a fheiceáil leis an ordú seo a leanas:

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

Iompróirí

Sa sampla deireanach, d’úsáideamar tógáil a bhfuil aithne ag úsáideoirí sliogáin Unix air. I Windows PowerShell, ceadaíonn an barra ingearach leat freisin aschur ordú amháin a phíobáil chuig ionchur ceann eile, ach tá difríocht shuntasach i gcur i bhfeidhm na píblíne: nílimid ag caint faoi shraith carachtair nó de chineál éigin a thuilleadh. téacs. Tugann cmdlets ionsuite nó feidhmeanna atá sainithe ag an úsáideoir rudaí nó eagair rudaí ar ais, agus féadann siad iad a fháil mar ionchur freisin. Cosúil leis an bhlaosc Bourne agus a chomharbaí go leor, déanann PowerShell tascanna casta níos éasca le píblíne.

Breathnaíonn an sampla píblíne is simplí mar seo:

Get-Service | Sort-Object -property Status

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Ar dtús, déantar an cmdlet Get-Service a fhorghníomhú, agus ansin cuirtear na seirbhísí go léir a fhaigheann sé ar aghaidh chuig an cmdlet Sort-Object lena sórtáil de réir na maoine Stádas. Braitheann an argóint a seoltar toradh na coda roimhe seo den phíblíne ar a cineál - is gnách InputObject. Déanfar an cheist seo a phlé níos mine in alt atá tiomnaithe do theanga ríomhchlárúcháin PowerShell. 

Más mian leat, is féidir leat leanúint leis an slabhra agus toradh na hoibríochta Sort-Object a chur ar aghaidh chuig cmdlet eile (déanfar iad a fhorghníomhú ó chlé go deas). Dála an scéil, tá rochtain ag úsáideoirí Windows freisin ar an tógáil le haghaidh leathanach a bhfuil aithne ag gach Unixoids orthu: 

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

Tascanna a rith sa chúlra 

Go minic, is gá ordú áirithe a rith sa chúlra, ionas nach fanacht ar thoradh a fhorghníomhaithe sa seisiún bhlaosc. Tá roinnt cmdlets ag Windows PowerShell don chás seo:

Start-Job - tasc cúlra a sheoladh;
Stop-Job — stop a chur leis an tasc cúlra;
Get-Job — féachaint ar liosta na dtascanna cúlra;
Receive-Job — féachaint ar thoradh chur i gcrích an taisc chúlra;
Remove-Job — tasc cúlra a scriosadh;
Wait-Job - an tasc cúlra a aistriú ar ais go dtí an consól.

Chun tasc cúlra a thosú, úsáidimid an cmdlet Tosaigh Jab agus sonrófar ordú nó sraith orduithe i braces curly:

Start-Job {Get-Service}

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Is féidir tascanna cúlra i Windows PowerShell a ionramháil trína n-ainmneacha a bheith ar an eolas. Ar dtús, foghlaimímid conas iad a thaispeáint:

Get-Job

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Anois taispeánaimis toradh an phoist Job1:

Receive-Job Job1 | more

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Tá gach rud simplí go leor.

Feidhmiú cianda ordaithe

Ceadaíonn Windows PowerShell duit orduithe agus scripteanna a fhorghníomhú ní hamháin ar an ríomhaire áitiúil, ach freisin ar ríomhaire iargúlta, agus fiú ar ghrúpa iomlán meaisíní. Tá roinnt bealaí ann chun é seo a dhéanamh:

  • Tá paraiméadar ag go leor cmdlets -ComputerName, ach ar an mbealach seo ní oibreoidh sé, mar shampla, iompair a chruthú;
  • Cmdlet Enter-PSSession ligeann sé duit seisiún idirghníomhach a chruthú ar mheaisín cianda; 
  • Ag baint úsáide as an cmdlet Invoke-Command is féidir leat orduithe nó scripteanna a rith ar chianríomhaire amháin nó níos mó.

Leaganacha de PowerShell

Tá athrú mór tagtha ar PowerShell ó scaoileadh é den chéad uair in 2006. Tá an uirlis ar fáil do go leor córas a ritheann ar ardáin chrua-earraí éagsúla (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 agus OS X. Eisíodh an scaoileadh is déanaí 6.2 an 10 Eanáir, 2018. Is dócha go n-oibreoidh scripteanna scríofa le haghaidh leaganacha níos luaithe i leaganacha níos déanaí, ach is féidir le backporting a bheith ina fhadhb toisc go bhfuil PowerShell tar éis líon mór cmdlets nua a thabhairt isteach thar na blianta forbartha. Is féidir leat an leagan den bhlaosc ordaithe atá suiteáilte ar an ríomhaire a fháil amach ag baint úsáide as an airí PSVersion den athróg ionsuite $PSVersionTable:

$PSVersionTable.PSVersion

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Is féidir leat an cmdlet a úsáid freisin:

Get-Variable -Name PSVersionTable –ValueOnly

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe
Déantar an rud céanna leis an cmdlet Get-Host. Go deimhin, tá go leor roghanna ann, ach chun iad a úsáid ní mór duit an teanga ríomhchlárúcháin PowerShell a fhoghlaim, rud a dhéanfaimid i an chéad alt eile

Torthaí 

D'éirigh le Microsoft sliogán fíorchumhachtach a chruthú le timpeallacht chomhtháite áisiúil chun scripteanna a fhorbairt. Tá sé difriúil ó na huirlisí atá ar eolas againn i saol Unix trí chomhtháthú domhain le córais oibriúcháin an teaghlaigh Windows, chomh maith le bogearraí dóibh agus an t-ardán .NET Core. Is féidir blaosc atá dírithe ar oibiachtaí a thabhairt ar PowerShell mar go dtugann cmdlets agus feidhmeanna a shainmhínítear don úsáideoir rudaí nó eagair de rudaí ar ais agus is féidir leo iad a ghlacadh mar ionchur. Is dóigh linn gur chóir go mbeadh an uirlis seo ag gach riarthóir freastalaí ar Windows: tá an t-am caite nuair a d'fhéadfadh siad a dhéanamh gan an líne ordaithe. Tá blaosc consól chun cinn ag teastáil go háirithe ar ár VPS ar chostas íseal ag rith Windows Server Core, ach sin scéal iomlán difriúil.

Cad é Windows PowerShell agus cad a itear leis? Cuid 1: Príomhghnéithe

Ní féidir ach le húsáideoirí cláraithe páirt a ghlacadh sa suirbhé. Sínigh isteach, le do thoil.

Cad iad na topaicí ba chóir a chlúdach ar dtús sna hailt eile sa tsraith?

  • 53,2%Cláir i PowerShell123

  • 42,4%Feidhmeanna agus Modúil PowerShell98

  • 22,1%Conas do scripteanna féin a shíniú?51

  • 12,1%Oibriú le stórtha trí sholáthraithe (soláthróirí)28

  • 57,6%Uathoibriú Riarachán Ríomhaire le PowerShell133

  • 30,7%Bainistíocht bogearraí agus nithe inrite PowerShell á neadú i dtáirgí tríú páirtí71

Vótáil 231 úsáideoir. Staon 37 úsáideoir.

Foinse: will.com

Add a comment