Taariikh ahaan, adeegyada khadka taliska ee nidaamyada Unix ayaa ka horumarsan marka loo eego kuwa kale Windowssi kastaba ha ahaatee, markii xal cusub la helay, xaaladdu way is beddeshay.
Windows PowerShell waxay u oggolaanaysaa maamulayaasha nidaamka inay otomaatig u sameeyaan inta badan hawlaha caadiga ah. Waxaa loo isticmaali karaa in lagu beddelo dejimaha, la joojiyo oo la bilaabo adeegyada, iyo in la ilaaliyo inta badan codsiyada la rakibay. Ula dhaqanka daaqadda buluugga ah sidii turjumaan amar oo kale waxay noqon doontaa marin habaabin. Habkani ma qabanayo nuxurka hal-abuurka Microsoft. Dhab ahaantii, awoodaha Windows PowerShell aad ayuu u ballaaran yahay: taxanahan gaaban ee maqaallada, waxaan isku dayi doonnaa inaan fahanno sida xalka Microsoft uga duwan yahay qalabka aan si fiican u yaqaanno.
Astaamaha furaha ah
Dabcan Windows PowerShell asal ahaan waa qolof amar ah oo leh luqad qoraal ah, oo asal ahaan lagu dhisay .NET Framework ka dibna lagu dhisay .NET Core. Si ka duwan qolofyada aqbala oo soo celiya xogta qoraalka, Windows PowerShell waxay la shaqeysaa fasallada .NET, kuwaas oo leh sifooyin iyo habab. PowerShell waxay kuu ogolaaneysaa inaad socodsiiso amarrada caadiga ah waxayna sidoo kale kuu ogolaaneysaa inaad gasho walxaha COM, WMI, iyo ADSI. Waxay isticmaashaa agabyo kala duwan oo kaydin ah, sida nidaamka faylka iyo diiwaanka. Windows, kuwaas oo laga heli karo waxa loogu yeero bixiyeyaasha. Waa muhiim in la ogaado awoodda lagu dhejin karo qaybaha PowerShell ee la fulin karo codsiyada kale si loo sameeyo hawlgallo kala duwan, oo ay ku jiraan iyada oo loo marayo is-dhexgalka garaafka. Taas liddigeeda sidoo kale waa run: codsiyo badan oo loogu talagalay Windows waxay bixiyaan marin u helidda is-dhexgalka maamulka iyaga oo adeegsanaya PowerShell.
Windows PowerShell waxay kuu ogolaaneysaa inaad sameyso:
- Beddel habka hawlgalka;
- Maamul adeegyada iyo hababka;
- Habee doorarka serverka iyo qaybaha;
- Ku rakib software;
- Ku maamul sooftiweerka la rakibay iyada oo loo marayo is-dhexyaal gaar ah;
- Ku dheji qaybaha la fulin karo barnaamijyada dhinac saddexaad;
- Abuur qoraallo si otomaatig ah loogu sameeyo hawlaha maamulka;
- La shaqee nidaamka faylka, diiwaanka Windows, kaydinta shahaadada, iwm.
Shell iyo deegaanka horumarinta
Waxaa jira Windows PowerShell wuxuu ku yimaadaa laba qaab: marka lagu daro qalabka konsole-ka iyo qolofka amarka, waxaa sidoo kale jira Deegaan Qoraal Isku-dhafan (ISE). Si aad u gasho is-dhexgalka khadka taliska, si fudud uga dooro habka gaaban ee ku habboon liiska. Windows Ama ka bilow powershell.exe liiska Orodka. Daaqad buluug ah ayaa soo muuqan doonta, oo si la dareemi karo uga duwan awoodaha cmd.exe-kii hore. Waxay leedahay dhammaystir otomaatig ah iyo astaamo kale oo ay yaqaaniin dadka isticmaala qolofka taliska Unix.

Si aad ula shaqeyso qolofka, waxaad u baahan tahay inaad xasuusato qaar ka mid ah furayaasha kiiboodhka:
- Fallaadhaha kor iyo hoosba waxay dhex maraan taariikhda si ay ugu celiyaan amarradii hore loo galay;
- Falaadhka saxda ah ee dhamaadka sadarku wuxuu dib u habeeyaa dabeecaddii hore ee amarka;
- Ctrl+Home waxa ay tirtirtaa qoraalka teebaysan ee ka imanaya booska cursorka ilaa bilawga laynka;
- Ctrl+End waxa ay tirtirtaa qoraalka ka soo jeeda cursorka ilaa dhamaadka laynka.
F7 waxay soo bandhigaysaa daaqad leh amarrada hadda la galiyay oo kuu ogolaanaya inaad mid doorato. Console waxa kale oo uu ku taageeraa xulashada qoraalka jiirka, koobi-koobida, meelaynta cursor-ka, tirtirka, iyo gadaasha-dhammaan waxyaalaha aanu jecelnahay.

Windows PowerShell ISE waa jawi horumarineed oo dhammaystiran oo leh tifaftire kood oo tabbed leh oo leh muujinta naxwaha, naqshadeeye amar, khalad-hage ku dhex jira, iyo waxyaabo kale oo xiiso leh oo barnaamij ah. Haddii aad ku qorto xariiq ka dambeysa magaca amarka tifaftiraha IDE, waxaad arki doontaa liis hoos u dhac ah oo dhammaan xuduudaha la heli karo, oo ay weheliso noocooda. Waxaad ku bilaabi kartaa PowerShell ISE adoo adeegsanaya gaabin ku jira liiska nidaamka ama adoo socodsiinaya powershell_ise.exe executable.

Cmdlets
В Windows PowerShell hadda waxay leedahay waxa loogu yeero cmdlets. Kuwani waa fasallo .NET oo gaar ah oo hirgeliya shaqooyin kala duwan. Waxaa loogu magac daray mabda'a Action-Object (ama Verb-Noun, haddii aad doorbidayso), isku-xidhka la isku dhejiyayna wuxuu u eg yahay ereyga hordhaca iyo mawduuca jumladaha luqadda dabiiciga ah. Tusaale ahaan, Get-Help macno ahaan waxaa loola jeedaa "Hel-Help" ama, macnaha guud ee PowerShell, "Show-Help." Asal ahaan, waa u dhiganta amarka ninka ee nidaamyada Unix, buug-gacmeedyada PowerShell-na waa in sidan loo geliyaa, halkii laga isticmaali lahaa cmdlets oo leh badhanka --help ama /?. Ha iloobin dukumeentiyada khadka tooska ah ee PowerShell: Microsoft waxay leedahay mid aad u faahfaahsan.
Hel ka sokow, cmdlets waxay sidoo kale adeegsadaan ficillo kale (oo aan ahayn ficillo, si adag u hadlaya) si ay u muujiyaan ficillada. Hoos waxaa ah dhowr tusaale:
Add - ku dar;
Clear - nadiif ah;
Enable - shid;
Disable - dami;
New - abuuro;
Remove - tirtir;
Set - weydii;
Start - bilaabista;
Stop - joogsiga;
Export - dhoofinta;
Import - soo dejinta.
Waxaa jira nidaam, isticmaale, iyo cmdlets ikhtiyaari ah: dhamaantood waxay soo celiyaan shay ama walxo kala duwan marka la fuliyo. Iyagu waa xaalad-dareen-la'aan, taasoo la macno ah in marka laga eego dhinaca turjubaanka, ma jiro farqi u dhexeeya Hel-Help iyo heli-caawin. The ';' dabeecadda waxaa loo isticmaalaa kala soocida amarada, laakiin waxa kaliya oo loo baahan yahay haddii dhowr cmdlets lagu fuliyo hal xariiq.
Cmdlets Windows PowerShell waxaa loo qaybiyaa qaybo (NetTCPIP, Hyper-V, iwm.), cmdlet-ka Get-Command-na waxaa loo isticmaalaa in lagu raadiyo walxaha iyo ficillada. Waxaad u soo bandhigi kartaa caawimo sidan oo kale ah:
Get-Help Get-Command 
Sida caadiga ah, amarku wuxuu soo bandhigayaa caawinaad kooban, laakiin cabbiraadaha ( doodaha) waxaa loo gudbin karaa cmdlets haddii loo baahdo. Kuwaas waxa loo isticmaali karaa, tusaale ahaan, si aad u hesho caawimo tafatiran (the -Detailed parameter) ama caawimo buuxda (-Full parameter), iyo sidoo kale in la muujiyo tusaalayaal (-Tusaaleyaasha parameter):
Get-Help Get-Command -ExamplesCaawimo ku jirta Windows PowerShell waxaa lagu cusbooneysiiyaa iyadoo la adeegsanayo cmdlet Cusboonaysiinta-Caawinta. Haddii xariiqda amarku aad u dheeraato, doodaha cmdlet waxaa loo wareejin karaa sadarka xiga iyadoo la qorayo calaamadda "`" oo la riixayo Enter - si fudud uma dhammayn kartid qorista amar hal sadar oo aad ku sii wadato mid kale.
Hoos waxaa ah tusaalayaal cmdlets caadi ah:
Get-Process - muujiyaan hababka socda ee nidaamka;
Get-Service - muujiyaan adeegyada iyo xaaladooda;
Get-Content - muuji waxa ku jira faylka.
Wixii cmdlets-ka si joogto ah loo isticmaalo iyo adeegyada dibadda ee ku jira Windows PowerShell waxay leedahay ereyo gaagaaban oo loo yaqaan magacyo kale. Tusaale ahaan, dir waa magac kale oo loogu talagalay Get-ChildItem. Liiska ereyo isku mid ah waxaa sidoo kale ku jira amarrada u eg Unix (ls, ps, iwm.), cmdlet-ka Hel-Help waxaa soo waca amarka caawinta. Liiska oo dhan ee ereyo isku mid ah waxaa lagu arki karaa iyadoo la isticmaalayo cmdlet-ka Get-Alias:

Qoraallada, hawlaha, cutubyada, iyo luqadda PowerShell
Qoraalada Windows Qoraallada PowerShell waxaa lagu kaydiyaa faylal qoraal ah oo caadi ah oo leh kordhinta .ps1. Laguma bilaabi karo laba jeer gujin; waa inaad midig-gujisaa si aad u soo qaaddo liiska macnaha guud oo aad doorato "Ku socodsii PowerShell." Laga bilaabo konsole-ka, waxaad u baahan doontaa inaad qeexdo waddada buuxda ee qoraalka ama aad u gudubto galka ku habboon oo aad qorto magaca faylka. Qoraallada socodsiinta waxaa sidoo kale xaddidaya siyaasadda nidaamka. Si aad u hubiso dejimaha hadda jira, waxaad isticmaali kartaa cmdlet Get-ExecutionPolicy, kaas oo soo celin doona mid ka mid ah qiimayaasha soo socda:
Restricted - socodsiinta qoraallada waa mamnuuc (sida caadiga ah);
AllSigned - kaliya qoraallada uu saxeexay horumariye la aaminsan yahay ayaa loo oggol yahay inay socodsiiyaan;
RemoteSigned - socodsiinta qoraallada saxeexan iyo kuwa gaarka ah waa la oggol yahay;
Unrestricted - socodsiinta xaalad kasta waa la oggol yahay.
Maamuluhu wuxuu leeyahay laba doorasho. Waxa ugu badbaado badan waa in la saxeexo qoraallada, laakiin taasi waa wax yar oo sixir ah-waxa aan ku baadhi doonaa maqaallada mustaqbalka. Hadda, aynu qaadno dariiqa iska caabinta ugu yar oo aynu beddelno siyaasadda:
Set-ExecutionPolicy RemoteSigned 
Si tan loo sameeyo, PowerShell waxay u baahan doontaa in loo socodsiiyo maamule ahaan, in kasta oo aad isticmaali karto cabbir gaar ah si aad u beddesho siyaasadda isticmaalaha hadda.
Qoraallada waxaa lagu qoraa luqad barnaamij-ku-saleysan oo ku salaysan shayga, kuwaas oo amarradooda lagu magacaabo mabda' la mid ah kuwa cmdlets-ka hore looga hadlay: "Action-Object" ("Verb-Noun"). Ujeeddadeeda ugu weyn waa in la otomaatigeeyo hawlaha maamulka, laakiin waa luqad si buuxda loo turjumay oo ay ku jiraan dhammaan dhismayaasha lagama maarmaanka ah: laamaha shuruudaysan, wareegyada, doorsoomayaasha, arraysyada, walxaha, maaraynta khaladaadka, iwm. Tifaftire kasta oo qoraal ah ayaa ku habboon qorista qoraallada, laakiin waa tan ugu habboon in la socodsiiyo. Windows PowerShell ISE.
Waxaad u gudbin kartaa xuduudaha qoraalka, ka dhigi kartaa kuwo khasab ah, oo sidoo kale waxaad dejin kartaa qiimayaasha caadiga ah. Intaa waxaa dheer, Windows PowerShell wuxuu kuu ogolaanayaa inaad abuurto shaqooyin oo aad ugu yeerto sida cmdlets, adoo isticmaalaya dhismaha Function iyo braces-ka qaloocan. Qoraal ka kooban shaqooyin waxaa loo yaqaan module wuxuuna leeyahay kordhin .psm1 ah. Modules-ku waa in lagu kaydiyaa tusmooyinka lagu qeexay doorsoomayaasha deegaanka PowerShell. Waxaad ku arki kartaa amarka soo socda:
Get-ChildItem Env:PSModulePath | Format-Table -AutoSizeGaadiidleyda
Tusaalaha ugu dambeeyay, waxaan isticmaalnay dhisme ay yaqaaniin dadka isticmaala qolofka Unix. Windows Barta toosan ee PowerShell waxay sidoo kale kuu ogolaaneysaa inaad wax soo saarka hal amar u wareejiso gelinta mid kale, laakiin waxaa jira farqi weyn oo ku jira hirgelinta dhuumaha: ma aha xarfo xarfo ama qoraal ah. cmdlets-ka ku dhex jira iyo shaqooyinka uu isticmaaluhu qeexay waxay soo celiyaan walxaha ama taxanaha walxaha waxayna sidoo kale heli karaan iyagoo ah gelin. Sida qolofka Bourne iyo kuwa badan ee beddelaya, PowerShell waxay isticmaashaa dhuumaha si ay u fududeyso hawlaha adag.
Tusaalaha ugu fudud ee dhuumaha ayaa u eg sidan:
Get-Service | Sort-Object -property Status 
Marka hore, cmdlet-ka Adeegga Get-Service waa la fuliyaa, ka dibna dhammaan adeegyada ay soo saarto waxaa loo gudbiyaa cmdlet Kala-soocida si ay u kala soocaan hantidooda. Doodda saxda ah ee wax-soo-saarka qaybta hore ee dhuumaha la maro waxay ku xiran tahay nooca-sida caadiga ah, InputObject. Arrintan ayaa si faahfaahsan looga hadli doonaa maqaalka ku saabsan luqadda barnaamijka PowerShell.
Haddii la rabo, silsiladda waa la dheereyn karaa natiijada Sort-Object-na waxaa loo gudbin karaa cmdlet kale (waxaa laga fulin doonaa bidix ilaa midig). Windows Dhismaha bogga, oo ay yaqaanaan dhammaan isticmaalayaasha Unix, ayaa sidoo kale la heli karaa:
Get-Service | Sort-Object -property Status | moreHawlaha gadaal ka socda
Badanaa waxaa lagama maarmaan ah in la socodsiiyo amar gaar ah gadaasha, si aan loo sugin natiijada fulinteeda fadhiga qolofka. Windows PowerShell waxay leedahay dhowr cmdlets kiiskan:
Start-Job - billow hawl asal ah;
Stop-Job - joojinta shaqada asalka ah;
Get-Job - daawashada liiska hawlaha asalka ah;
Receive-Job - daawashada natiijada fulinta hawsha asalka ah;
Remove-Job - tirtiridda hawsha asalka ah;
Wait-Job - Ku soo celi hawsha asalka ah console-ka.
Si aan u bilowno hawsha asalka ah, waxaan isticmaalnaa Start-Job cmdlet oo aan ku qeexnaa amar ama amarro ku jira xargaha curdan:
Start-Job {Get-Service} 
Hawlaha asalka ah ee ku jira Windows PowerShell waxaa lagu maamuli karaa iyadoo la garanayo magacyadooda. Aan ku bilowno barashada sida loo soo bandhigo:
Get-Job 
Haddaba aan tusno natiijada hawsha Job1:
Receive-Job Job1 | more 
Dhammaantood way fududahay.
Fulinta amarka fog
Windows PowerShell wuxuu kuu ogolaanayaa inaad ku socodsiiso amarrada iyo qoraallada kombiyuutarka maxalliga ah oo keliya, laakiin sidoo kale kombiyuutarrada fog iyo xitaa dhammaan kooxaha mashiinnada. Waxaa jira dhowr siyaabood oo tan loo sameeyo:
- Qaar badan oo cmdlets ah ayaa leh halbeeg
-ComputerName, laakiin habkani ma oggolaan doono, tusaale ahaan, in la abuuro gaadiid qaade; - Cmdlet
Enter-PSSessionwuxuu kuu ogolaanayaa inaad abuurto kulan isdhexgalka mashiinka fog; - Isticmaalka cmdlet
Invoke-CommandWaxaad ku fulin kartaa amarrada ama qoraallada hal ama in ka badan oo kombiyuutarada fogfog.
Noocyada PowerShell
PowerShell si weyn ayuu isu beddelay tan iyo markii la sii daayay 2006. Waxaa loo heli karaa nidaamyo kala duwan oo ku shaqeeya aaladaha kala duwan ee qalabka (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 iyo OS X. Soo-saarkii ugu dambeeyay, 6.2, ayaa la sii daayay Janaayo 10, 2018. Qoraallada loo qoray noocyadii hore waxay u badan tahay inay ka shaqeeyaan noocyadii dambe, laakiin dib-u-soo-celinta waxay noqon kartaa dhibaato, maadaama PowerShell ay ku dartay tiro badan oo cmdlets cusub sannadihii la soo dhaafay. Waxaad ka heli kartaa nooca qolofka amarka ee lagu rakibay kombuyuutarkaaga adoo isticmaalaya hantida PSVersion ee doorsoomaha $PSVersionTable ee ku dhex jira:
$PSVersionTable.PSVersion 
Waxa kale oo aad isticmaali kartaa cmdlet:
Get-Variable -Name PSVersionTable –ValueOnly 
Isla sidaas oo kale ayaa lagu samayn karaa iyadoo la isticmaalayo Get-Host cmdlet. Runtii waxaa jira xulashooyin badan, laakiin si aad u isticmaasho, waxaad u baahan doontaa inaad barato luqadda barnaamijka PowerShell, taas oo ah waxa aan ku sameyn doono .
Natiijooyinka
Microsoft waxay abuurtay qolof amar oo runtii awood badan leh oo leh jawi isku dhafan oo ku habboon horumarinta qoraalka. Waxa ka soocaya qalabka aan ku barannay adduunka Unix waa is-dhexgalka qoto dheer ee ay la leedahay nidaamyada hawlgalka ee qoyska. Windows, iyo sidoo kale software-ka iyaga iyo madal .NET Core. PowerShell waxaa loogu yeeri karaa qolof walax-ku-saleysan sababtoo ah cmdlets iyo hawlaha uu qeexay isticmaaluhu waxay soo celiyaan walxaha ama taxanaha walxaha waxayna heli karaan iyagoo ah gelinta. Waxaan aaminsanahay in qalabkani uu yahay mid ay tahay in dhammaan maamulayaasha server-ka ay haystaan. Windows: waqtigii ayaa dhaafay markii ay awoodi kareen inay la'aantiis la'aan noqdaan. Qolofka konsole-ka ee horumarsan ayaa si gaar ah loogu baahan yahay , laakiin taasi waa sheeko gebi ahaanba ka duwan.
Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. , soo dhawoow.
Mawduucyadee ayay tahay in marka hore laga hadlo maqaallada soo socda ee taxanaha?
53,2%Barnaamijyada ku jira PowerShell123
42,4%Hawlaha PowerShell98 iyo Modules
22,1%Sidee loo saxeexaa qoraalladaada?51
12,1%Ku shaqaynta kaydinta iyada oo loo marayo bixiyayaasha28
57,6%Si otomaatig ah u maamulida kombuyuutarka oo leh PowerShell133
30,7%Maareynta softiweerka iyo ku-xidhka PowerShell fulinta ee alaabta dhinac saddexaad71
231 isticmaale ayaa codeeyay. 37 isticmaale ayaa ka aamusay.
Source: www.habr.com
