Ní ìtàn, àwọn ohun èlò àṣẹ lórí ìlà ní àwọn ètò Unix ti ní ìdàgbàsókè ju nínú Windowsṣùgbọ́n, pẹ̀lú ìfarahàn tuntun kan, ipò náà yípadà.
Windows PowerShell gba awọn oluṣakoso eto laaye lati ṣe adaṣe ọpọlọpọ awọn iṣẹ-ṣiṣe deede. A le lo o lati yi awọn eto pada, da awọn iṣẹ duro ati bẹrẹ, ati ṣetọju ọpọlọpọ awọn ohun elo ti a fi sori ẹrọ. Lilo window buluu bi olutumọ aṣẹ miiran yoo jẹ aṣiṣe. Ọna yii ko ṣe afihan ipilẹ awọn imotuntun Microsoft. Ni otitọ, awọn agbara Windows PowerShell gbooro pupọ: ninu awọn nkan kukuru yii, a yoo gbiyanju lati ni oye bi ojutu Microsoft ṣe yatọ si awọn irinṣẹ ti a mọ diẹ sii.
Awọn ẹya pataki
Dajudaju Windows PowerShell jẹ́ ìkọ̀kọ̀ àṣẹ pẹ̀lú èdè ìkọ̀wé, tí a kọ́ ní àkọ́kọ́ lórí .NET Framework àti lẹ́yìn náà lórí .NET Core. Láìdàbí ìkọ̀kọ̀ tí ó ń gba àti dátà ọ̀rọ̀ padà, Windows PowerShell ń ṣiṣẹ́ pẹ̀lú àwọn kíláàsì .NET, tí wọ́n ní àwọn ohun ìní àti ọ̀nà. PowerShell ń fún ọ láyè láti ṣiṣẹ́ àwọn àṣẹ déédéé àti láti fún ọ ní àǹfààní sí àwọn ohun èlò COM, WMI, àti ADSI. Ó ń lo onírúurú ohun èlò ìpamọ́, bíi ètò fáìlì àti ìforúkọsílẹ̀. Windows, èyí tí a lè rí nípasẹ̀ àwọn olùpèsè tí a ń pè ní olùpèsè. Ó ṣe pàtàkì láti kíyèsí agbára láti fi àwọn èròjà PowerShell tí a lè lò sínú àwọn ohun èlò mìíràn láti ṣe onírúurú iṣẹ́, títí kan nípasẹ̀ ìrísí àwòrán. Ìdàkejì náà tún jẹ́ òótọ́: ọ̀pọ̀lọpọ̀ àwọn ohun èlò fún Windows pese iwọle si awọn atọkun iṣakoso wọn nipasẹ PowerShell.
Windows PowerShell gba ọ laaye lati:
- Yipada awọn eto iṣẹ ṣiṣe;
- Ṣakoso awọn iṣẹ ati awọn ilana;
- Ṣe atunto awọn ipa olupin ati awọn paati;
- Fi software sori ẹrọ;
- Ṣakoso sọfitiwia ti a fi sori ẹrọ nipasẹ awọn atọkun pataki;
- Fi awọn ohun elo ṣiṣe ṣiṣẹ sinu awọn eto ẹnikẹta;
- Ṣẹda awọn iwe afọwọkọ lati ṣe adaṣe awọn iṣẹ ṣiṣe iṣakoso;
- Ṣiṣẹ pẹlu eto faili, iforukọsilẹ Windows, ibi ipamọ iwe-ẹri, ati bẹbẹ lọ
Ikarahun ati ayika idagbasoke
nibẹ Windows PowerShell wa ni awọn ọna meji: ni afikun si console emulator ati command shell, Integrated Scripting Environment (ISE) tun wa. Lati wọle si wiwo laini aṣẹ, kan yan ọna abuja ti o yẹ lati inu akojọ aṣayan. Windows Tàbí kí o bẹ̀rẹ̀ powershell.exe láti inú àkójọ ìṣiṣẹ́ Run. Fèrèsé aláwọ̀ búlúù kan yóò hàn, tí ó yàtọ̀ sí ti cmd.exe àtijọ́. Ó ní àwọn ohun èlò míràn tí ó mọ́ àwọn olùlò ìṣẹ́-ọwọ́ Unix.

Lati ṣiṣẹ pẹlu ikarahun o nilo lati ranti diẹ ninu awọn ọna abuja keyboard:
- Awọn itọka oke ati isalẹ yi lọ nipasẹ itan-akọọlẹ lati tun awọn aṣẹ ti a tẹ tẹlẹ;
- Ọfà ọtun ni opin ila naa tun ṣe atunṣe aṣẹ aṣẹ ti tẹlẹ nipasẹ kikọ;
- Ctrl+Home npa ọrọ ti a tẹ kuro lati ipo kọsọ si ibẹrẹ laini;
- Ctrl+Opin npa ọrọ rẹ kuro lati kọsọ si opin ila.
F7 fihan window kan pẹlu awọn aṣẹ ti a tẹ ati gba ọ laaye lati yan ọkan ninu wọn. Awọn console tun ṣiṣẹ nipa yiyan ọrọ pẹlu awọn Asin, daakọ-pasting, kọsọ aye, piparẹ, backspace – ohun gbogbo ti a ni ife.

Windows PowerShell ISE jẹ́ àyíká ìdàgbàsókè pípé pẹ̀lú olóòtú kódì tí a fi àmì sí pẹ̀lú àmì síta, olùṣètò àṣẹ, olùṣàtúnṣe ìṣàtúnṣe inú rẹ̀, àti àwọn ohun èlò míràn tí a fi ń ṣe ètò. Tí o bá tẹ àmì síta lẹ́yìn orúkọ àṣẹ kan nínú olóòtú IDE, ìwọ yóò rí àkójọ gbogbo àwọn pàrámítà tí ó wà, pẹ̀lú irú wọn. O lè ṣe ìfilọ́lẹ̀ PowerShell ISE yálà nípasẹ̀ ọ̀nà àbùjá nínú àkójọ ètò tàbí nípa ṣíṣiṣẹ́ powershell_ise.exe executable.

Cmdlets
В Windows PowerShell ti ní àwọn ohun tí a ń pè ní cmdlets báyìí. Àwọn wọ̀nyí jẹ́ àwọn kilasi .NET pàtàkì tí wọ́n ń ṣe onírúurú iṣẹ́. A ń pè wọ́n ní ìlànà Action-Object (tàbí Verb-Noun, tí o bá fẹ́), àti pé ìsopọ̀ tí a fi àmì sí jọ predicate àti subject nínú àwọn gbólóhùn èdè àdánidá. Fún àpẹẹrẹ, Get-Help túmọ̀ sí "Get-Help" ní tààràtà tàbí, nínú àyíká PowerShell, "Show-Help." Ní pàtàkì, ó jẹ́ dọ́gba pẹ̀lú àṣẹ ènìyàn nínú àwọn ètò Unix, àti pé a gbọ́dọ̀ wọ inú àwọn ìwé ìtọ́ni nínú PowerShell ní ọ̀nà yìí, dípò kí a pe cmdlets pẹ̀lú ìyípadà --help tàbí /?. Má ṣe gbàgbé nípa àwọn ìwé àkọsílẹ̀ orí ayélujára PowerShell: Microsoft ní ọ̀kan tí ó kún fún àlàyé.
Ni afikun si Gba, cmdlets tun lo awọn ọrọ-ọrọ miiran lati tọka awọn iṣe (kii ṣe awọn ọrọ-ọrọ nikan, sisọ ni muna). Ninu atokọ ti o wa ni isalẹ a fun awọn apẹẹrẹ diẹ:
Add - afikun;
Clear - mọ;
Enable - tan-an;
Disable - pa;
New - ṣẹda;
Remove - parẹ;
Set - beere;
Start - ṣiṣe;
Stop - Duro;
Export - okeere;
Import - gbe wọle.
Eto wa, olumulo ati cmdlets iyan: bi abajade ti ipaniyan, gbogbo wọn da ohun kan pada tabi titobi awọn nkan. Wọn kii ṣe akiyesi ọran, i.e. Lati oju wiwo onitumọ aṣẹ, ko si iyatọ laarin Gba-Iranlọwọ ati iranlọwọ-gba. Aami ';' ni a lo fun iyapa, ṣugbọn o nilo nikan ti ọpọlọpọ cmdlets ba ṣiṣẹ lori laini kan.
Cmdlets Windows A kó PowerShell jọ sí àwọn modulu (NetTCPIP, Hyper-V, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ), a sì lo cmdlet Get-Command láti wá àwọn ohun àti ìṣe. O lè fi ìrànlọ́wọ́ hàn fún un bí èyí:
Get-Help Get-Command 
Nipa aiyipada, aṣẹ naa ṣafihan iranlọwọ iyara, ṣugbọn awọn paramita (awọn ariyanjiyan) ti kọja si cmdlets bi o ṣe nilo. Pẹlu iranlọwọ wọn, o le, fun apẹẹrẹ, gba alaye (-Paramita Apejuwe) tabi iranlọwọ pipe (-Full), ati awọn apẹẹrẹ ifihan (-Parimita Awọn apẹẹrẹ):
Get-Help Get-Command -ExamplesIranlọwọ ninu Windows A máa ń lo Update-Help cmdlet láti ṣe àtúnṣe PowerShell. Tí ìlà àṣẹ bá gùn jù, a lè gbé àwọn àríyànjiyàn cmdlet lọ sí ìlà tó tẹ̀lé nípa títẹ àmì "`" àti títẹ Enter—o kò lè parí títẹ àṣẹ kan lórí ìlà kan kí o sì tẹ̀síwájú lórí òmíràn.
Ni isalẹ wa diẹ ninu awọn apẹẹrẹ ti cmdlets ti o wọpọ:
Get-Process - ṣafihan awọn ilana ti n ṣiṣẹ ninu eto;
Get-Service - ṣe afihan awọn iṣẹ ati ipo wọn;
Get-Content - ṣe afihan awọn akoonu ti faili naa.
Fun awọn cmdlets ti a lo nigbagbogbo ati awọn ohun elo ita ni Windows PowerShell ní àwọn ọ̀rọ̀ ìkọ̀wé kúkúrú tí a ń pè ní aliases. Fún àpẹẹrẹ, dir jẹ́ orúkọ ìkọ̀wé fún Get-ChildItem. Àkójọ àwọn ọ̀rọ̀ ìkọ̀wé náà tún ní àwọn àṣẹ bíi Unix (ls, ps, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ), àti pé àṣẹ ìrànlọ́wọ́ ni a pè cmdlet Get-Help. Àkójọ gbogbo àwọn ọ̀rọ̀ ìkọ̀wé náà ni a lè rí nípa lílo Get-Alias cmdlet:

Awọn iwe afọwọkọ PowerShell, Awọn iṣẹ, Awọn modulu, ati Ede
Awọn iwe afọwọkọ Windows A fi àwọn ìwé àkọsílẹ̀ PowerShell pamọ́ gẹ́gẹ́ bí àwọn fáìlì ọ̀rọ̀ lásán pẹ̀lú ìfàgùn .ps1. A kò le ṣe ìfilọ́lẹ̀ wọn nípa títẹ-lẹ́ẹ̀mejì; o gbọ́dọ̀ tẹ-lẹ́ẹ̀mejì láti mú àkójọ ọ̀rọ̀ wá kí o sì yan "Ṣíṣẹ́ pẹ̀lú PowerShell." Láti inú ẹ̀rọ ìṣiṣẹ́ náà, o gbọ́dọ̀ sọ gbogbo ipa ọ̀nà sí ìwé àkọsílẹ̀ náà tàbí kí o lọ sí àkójọ ìwé tí ó yẹ kí o sì tẹ orúkọ fáìlì náà. Ìlànà ètò ìṣiṣẹ́ náà tún ní ìdíwọ́ fún àwọn ìwé àkọsílẹ̀. Láti ṣàyẹ̀wò àwọn ètò ìsinsìnyí, o le lo Get-ExecutionPolicy cmdlet, èyí tí yóò dá ọ̀kan nínú àwọn iye wọ̀nyí padà:
Restricted - nṣiṣẹ awọn iwe afọwọkọ ti ni idinamọ (nipa aiyipada);
AllSigned - awọn iwe afọwọkọ nikan ti o fowo si nipasẹ olupilẹṣẹ ti o gbẹkẹle ni a gba laaye lati ṣiṣẹ;
RemoteSigned - Ti gba laaye lati ṣiṣẹ awọn iwe afọwọkọ ti o fowo si ati ti ara rẹ;
Unrestricted - Gba laaye lati ṣiṣe eyikeyi awọn iwe afọwọkọ.
Alakoso ni awọn aṣayan meji. Ti o ni aabo julọ jẹ pẹlu wíwọlé awọn iwe afọwọkọ, ṣugbọn eyi jẹ oṣó to ṣe pataki - a yoo ṣe pẹlu rẹ ni awọn nkan atẹle. Bayi jẹ ki a mu ọna ti o kere ju resistance ati yi eto imulo pada:
Set-ExecutionPolicy RemoteSigned 
Lati ṣe eyi, iwọ yoo ni lati ṣiṣẹ PowerShell bi oluṣakoso, botilẹjẹpe o le lo paramita pataki kan lati yi eto imulo pada fun olumulo lọwọlọwọ.
A kọ àwọn ìwé àkọsílẹ̀ ní èdè ètò-ẹ̀rọ tí ó ní èrò-ìṣe, tí a sì fún àwọn àṣẹ rẹ̀ ní orúkọ gẹ́gẹ́ bí ìlànà kan náà gẹ́gẹ́ bí cmdlets tí a ti jíròrò tẹ́lẹ̀: "Action-Object" ("Verb-Noun"). Ète pàtàkì rẹ̀ ni láti ṣe iṣẹ́ ìṣàkóso ní ṣíṣẹ̀dá, ṣùgbọ́n ó jẹ́ èdè tí a túmọ̀ ní kíkún tí ó ní gbogbo àwọn ìkọ́lé tí ó yẹ: àwọn ẹ̀ka onípò, àwọn ìyípo, àwọn onírúurú, àwọn ìrísí, àwọn ohun, ṣíṣe àṣìṣe, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ. Èyíkéyìí olóòtú ọ̀rọ̀ yẹ fún kíkọ àwọn ìwé àkọsílẹ̀, ṣùgbọ́n ó rọrùn jùlọ láti ṣiṣẹ́. Windows PowerShell ISE.
O le fi awọn paramita ranṣẹ si iwe afọwọkọ naa, sọ wọn di dandan, ati ṣeto awọn iye aiyipada. Ni afikun, Windows PowerShell fún ọ láyè láti ṣẹ̀dá àwọn iṣẹ́ àti láti pè wọ́n bí cmdlets, nípa lílo Function construct àti curl braces. Ìwé ìkọ̀wé tí ó ní àwọn iṣẹ́ ni a ń pè ní module ó sì ní ìfàsẹ́yìn .psm1. Àwọn modulu gbọ́dọ̀ wà ní ìpamọ́ nínú àwọn ìwé àkójọpọ̀ tí a ti ṣàlàyé nínú àwọn ayípadà àyíká PowerShell. O le wò wọ́n nípa lílo àṣẹ wọ̀nyí:
Get-ChildItem Env:PSModulePath | Format-Table -AutoSizeAwọn apejọ
Nínú àpẹẹrẹ tó kẹ́yìn, a lo ìkọ́lé kan tí àwọn olùlò ìkarahun Unix mọ̀ dáadáa. Windows Pẹpẹ inaro PowerShell tun fun ọ laaye lati fi abajade aṣẹ kan si titẹ sii ti omiran, ṣugbọn iyatọ pataki wa ninu imuse opo gigun naa: kii ṣe okun awọn ohun kikọ tabi ọrọ mọ. Awọn iṣẹ cmdlets ti a ṣe sinu ati awọn iṣẹ ti olumulo ṣalaye n da awọn ohun tabi awọn akojọpọ awọn ohun pada ati pe o tun le gba wọn gẹgẹbi titẹ sii. Bii ikarahun Bourne ati ọpọlọpọ awọn arọpo rẹ, PowerShell nlo opo gigun lati jẹ ki awọn iṣẹ ṣiṣe ti o nira rọrun.
Apẹẹrẹ ti o rọrun julọ ti opo gigun ti epo dabi eyi:
Get-Service | Sort-Object -property Status 
cmdlet Get-Service yoo ṣiṣẹ ni akọkọ, lẹhinna gbogbo awọn iṣẹ ti o gba ni a kọja si cmdlet too-Ohun fun yiyan nipasẹ ohun-ini Ipo. Awọn ariyanjiyan wo ni abajade ti apakan ti tẹlẹ ti opo gigun ti epo ti kọja si da lori iru rẹ - nigbagbogbo o jẹ InputObject. A yoo jiroro lori atejade yii ni awọn alaye diẹ sii ninu nkan ti a ṣe igbẹhin si ede siseto PowerShell.
Tí ó bá fẹ́, a lè fẹ̀ ẹ̀wọ̀n náà sí i, a sì lè fi àbájáde Sort-Object sí cmdlet mìíràn (a ó ṣe wọ́n láti òsì sí ọ̀tún). Windows Ìkọ́lé àwòrán ojú ìwé, tí gbogbo àwọn olùlò Unix mọ̀, tún wà:
Get-Service | Sort-Object -property Status | moreṢiṣe awọn iṣẹ-ṣiṣe ni abẹlẹ
Nigbagbogbo o jẹ dandan lati ṣiṣẹ aṣẹ kan ni abẹlẹ, ki o má ba duro de abajade ipaniyan rẹ ni igba ikarahun. Windows PowerShell ní ọ̀pọ̀lọpọ̀ cmdlets fún ọ̀ràn yìí:
Start-Job - ṣe ifilọlẹ iṣẹ-ṣiṣe lẹhin;
Stop-Job - idaduro iṣẹ-ṣiṣe lẹhin;
Get-Job - wiwo atokọ ti awọn iṣẹ abẹlẹ;
Receive-Job - wiwo abajade ti iṣẹ-ṣiṣe lẹhin;
Remove-Job - piparẹ iṣẹ-ṣiṣe lẹhin;
Wait-Job - Gbigbe iṣẹ abẹlẹ pada si console.
Lati bẹrẹ iṣẹ-ṣiṣe lẹhin, a lo Start-Job cmdlet ati pato aṣẹ kan tabi ṣeto awọn aṣẹ ni awọn àmúró:
Start-Job {Get-Service} 
Awọn iṣẹ abẹlẹ ni Windows A le lo PowerShell nípa mímọ orúkọ wọn. Ẹ jẹ́ ká bẹ̀rẹ̀ nípa kíkọ́ bí a ṣe lè fi wọ́n hàn:
Get-Job 
Bayi jẹ ki a ṣe afihan abajade Job1:
Receive-Job Job1 | more 
O rọrun pupọ.
Latọna pipaṣẹ ipaniyan
Windows PowerShell fún ọ láyè láti lo àwọn àṣẹ àti àwọn ìwé àkọsílẹ̀ kìí ṣe lórí kọ̀ǹpútà agbègbè nìkan, ṣùgbọ́n lórí àwọn kọ̀ǹpútà jíjìn àti títí dé gbogbo àwọn ẹgbẹ́ ẹ̀rọ. Ọ̀pọ̀lọpọ̀ ọ̀nà ló wà láti ṣe èyí:
- Ọpọlọpọ awọn cmdlets ni paramita kan
-ComputerName, ṣugbọn ni ọna yii kii yoo ṣee ṣe, fun apẹẹrẹ, lati ṣẹda gbigbe; - Cmdlet
Enter-PSSessiongba ọ laaye lati ṣẹda igba ibanisọrọ lori ẹrọ latọna jijin; - Lilo cmdlet kan
Invoke-CommandO le ṣiṣe awọn aṣẹ tabi awọn iwe afọwọkọ lori ọkan tabi diẹ ẹ sii awọn kọnputa latọna jijin.
PowerShell awọn ẹya
PowerShell ti dagbasoke ni pataki lati igba ti a ti tu silẹ ni ọdun 2006. O wa fun ọpọlọpọ awọn eto ti n ṣiṣẹ lori awọn iru ẹrọ hardware oriṣiriṣi (x86, x86-64, Itanium, ARM): Windows xp, Windows Server 2003, Windows - Vista, Windows Server 2008/2008R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012R2, Windows 10, Windows Server 2016, GNU/Linux àti OS X. Ìtẹ̀jáde tuntun, 6.2, ni a tu silẹ ni Oṣu Kini Ọjọ 10, Ọdun 2018. Awọn iwe afọwọkọ ti a kọ fun awọn ẹya iṣaaju ṣee ṣe lati ṣiṣẹ ni awọn ẹya ti o tẹle, ṣugbọn gbigbe pada le jẹ iṣoro, nitori PowerShell ti ṣafikun nọmba nla ti awọn cmdlets tuntun ni awọn ọdun. O le wa ẹya ti shell aṣẹ ti a fi sori kọmputa rẹ nipa lilo ohun-ini PSVersion ti oniyipada $PSVersionTable ti a ṣe sinu rẹ:
$PSVersionTable.PSVersion 
O tun le lo cmdlet:
Get-Variable -Name PSVersionTable –ValueOnly 
Ohun kanna le ṣee ṣe nipa lilo cmdlet Get-Host. Ni otitọ, ọpọlọpọ awọn aṣayan wa, ṣugbọn lati lo wọn o nilo lati kọ ẹkọ ede siseto PowerShell, eyiti a yoo ṣe ni .
Awọn esi
Microsoft ti ṣẹ̀dá àkóso tó lágbára gan-an pẹ̀lú àyíká tó rọrùn láti ṣe àgbékalẹ̀ ìkọ̀wé. Ohun tó yà á sọ́tọ̀ kúrò lára àwọn irinṣẹ́ tí a mọ̀ sí ní ayé Unix ni ìṣọ̀kan rẹ̀ pẹ̀lú àwọn ètò ìṣiṣẹ́ ìdílé. Windows, àti sọ́fítíwètì fún wọn àti ìpele .NET Core. A lè pe PowerShell ní ikarahun tí ó ń darí ohun nítorí pé cmdlets àti àwọn iṣẹ́ tí olùlò ṣàlàyé máa ń dá àwọn ohun tàbí àwọn ohun tí ó wà nínú rẹ̀ padà, wọ́n sì lè gbà wọ́n gẹ́gẹ́ bí ìtẹ̀síwájú. A gbàgbọ́ pé irinṣẹ́ yìí jẹ́ ohun tí gbogbo àwọn olùṣàkóso olupin gbọ́dọ̀ ní. Windowsàkókò ti kọjá tí wọ́n lè ṣe láìsí ìlà àṣẹ. Ikarahun console tó ti ní ìlọsíwájú ṣe pàtàkì ní pàtàkì , ṣugbọn iyẹn jẹ itan ti o yatọ patapata.
Awọn olumulo ti o forukọsilẹ nikan le kopa ninu iwadi naa. , Jowo.
Àwọn kókó ọ̀rọ̀ wo ló yẹ ká kọ́kọ́ sọ̀rọ̀ rẹ̀ nínú àwọn àpilẹ̀kọ tó kàn nínú ọ̀wọ́ àpilẹ̀kọ náà?
53,2%Siseto ni PowerShell123
42,4%Awọn iṣẹ PowerShell98 ati Awọn modulu
22,1%Bawo ni lati wole awọn iwe afọwọkọ tirẹ?51
12,1%Ṣiṣẹ pẹlu awọn ohun elo ipamọ nipasẹ awọn olupese28
57,6%Ṣe iṣakoso kọnputa adaṣe ni lilo PowerShell133
30,7%Ṣiṣakoso sọfitiwia ati ifibọ awọn iṣẹ ṣiṣe PowerShell sinu awọn ọja ẹnikẹta71
231 olumulo dibo. 37 olumulo abstained.
orisun: www.habr.com
