Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Ngokwembali, izixhobo zomyalelo womyalelo kwiinkqubo ze-Unix ziphuhliswe ngcono kuneWindows, kodwa ngokufika kwesisombululo esitsha, imeko itshintshile.

IWindows PowerShell ivumela abalawuli benkqubo ukuba bazenzele uninzi lwemisebenzi yesiqhelo. Ngayo, unokutshintsha useto, uyeke kwaye uqalise iinkonzo, kwaye wenze ulungiso kuninzi lwezicelo ezifakiweyo. Kuya kuba yinto engalunganga ukubona iwindow eluhlaza njengenye itoliki yomyalelo. Le ndlela ayibonisi umongo wezinto ezintsha ezicetywa nguMicrosoft. Ngapha koko, amathuba eWindows PowerShell abanzi kakhulu: kuluhlu olufutshane lwamanqaku, siya kuzama ukubona ukuba isisombululo seMicrosoft sahluke njani kwizixhobo esizaziyo ngakumbi.

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Iimpawu eziphambili 

Kunjalo, iWindows PowerShell ikakhulu liqokobhe lescripting, elakhelwe ekuqaleni kwi-.NET Framework kwaye kamva kwi.NET Core. Ngokungafaniyo noonokrwece abamkela kwaye babuyise idatha yokubhaliweyo, iWindows PowerShell isebenza kunye neeklasi zeNET ezineempawu kunye neendlela. I-PowerShell ikuvumela ukuba usebenzise imiyalelo eqhelekileyo kwaye ikuvumela ukuba ufikelele kwi-COM, WMI, kunye nezinto ze-ADSI. Isebenzisa ugcino olwahlukeneyo, olufana nenkqubo yefayile okanye irejista yeWindows, ukufikelela kuyo ebizwa. ababoneleli. Kuyafaneleka ukuba uqaphele ukuba kunokwenzeka ukubethelela i-PowerShell ephunyezwayo amacandelo kwezinye izicelo ukuphumeza imisebenzi eyahlukeneyo, kubandakanywa. ngojongano lomzobo. Umva kwakhona kuyinyani: uninzi lwezicelo zeWindows zibonelela ngokufikelela kujongano lwazo lolawulo ngePowerShell. 

IWindows PowerShell ikuvumela ukuba:

  • Tshintsha useto lwenkqubo yokusebenza;
  • Ukulawula iinkonzo kunye neenkqubo;
  • Qwalasela iindima zeseva kunye namacandelo;
  • Faka isoftwe;
  • Lawula isoftware efakiweyo ngokusebenzisa ujongano olukhethekileyo;
  • Lungiselela amacandelo aphunyeziweyo kwiinkqubo zomntu wesithathu;
  • Yenza izikripthi zokuzenzekelayo imisebenzi yolawulo;
  • Sebenza ngenkqubo yefayile, ubhaliso lweWindows, ivenkile yesatifikethi, njl.

Iqokobhe kunye nendawo yophuhliso

Kukho i-Windows PowerShell kwiifom ezimbini: ukongeza kwi-emulator ye-console eneqokobhe lomyalelo, kukho i-Integrated Scripting Environment (ISE). Ukufikelela kujongano lwelayini yomyalelo, khetha ngokulula indlela emfutshane efanelekileyo kwimenyu yeWindows okanye sebenzisa i-powershell.exe kwi-Run menu. Iwindow eluhlaza iya kuvela kwisikrini, ngokwahlukileyo ngokubonakalayo kwizakhono ukusuka kwi-cmd.exe yangaphambi kodiluvian. Kukho ukugqibezela ngokuzenzekelayo kunye nezinye iimpawu eziqhelekileyo kubasebenzisi beqokobhe lomyalelo kwiinkqubo ze-Unix.

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Ukusebenza ngeqokobhe, kufuneka ukhumbule ezinye iindlela ezimfutshane ze-keyboard:

  • Iintolo ezisezantsi ziskrola kwimbali ukuphinda imiyalelo echwetheziweyo ngaphambili;
  • Utolo lwasekunene ekupheleni komgca luchwetheza kwakhona unobumba womyalelo wangaphambili ngonobumba;
  • Ctrl+Ekhaya icima okubhaliweyo okuchwetheziweyo ukusuka kwindawo yekhesa ukuya ekuqaleni komgca;
  • Ctrl+Ekupheleni icima isicatshulwa ukusuka kwikhesa ukuya ekupheleni komgca.

F7 ibonisa ifestile enemiyalelo echwetheziweyo kwaye ikuvumela ukuba ukhethe enye yazo. I-console ikwasebenza nokukhethwa kokubhaliweyo nge mouse, khuphela-coma, ukubeka ikhesa, ukucima, indawo yangasemva - yonke into esiyithandayo.

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
IWindows PowerShell ISE yindawo epheleleyo yophuhliso enomhleli wekhowudi kunye ne-syntax-egqanyisiweyo, umakhi womyalelo, idebugger eyakhelwe-ngaphakathi, kunye nolunye ulonwabo lwenkqubo. Ukuba ubhala iqhagamshela emva kwegama lomyalelo kumhleli wemekobume yophuhliso, uya kufumana zonke iinketho ezikhoyo kuluhlu oluhlayo kunye nesalathiso sohlobo. Uyakwazi ukuphehlelela i-PowerShell ISE nokuba usebenzisa indlela emfutshane kwimenyu yenkqubo, okanye usebenzisa ifayile ephunyeziweyo powershell_ise.exe.

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Cmdlets 

KwiWindows PowerShell, okubizwa ngokuba. cmdlets. Ezi ziiklasi ezikhethekileyo .NET ezibonelela ngemisebenzi eyahlukeneyo. Zithiywe igama-Isenzo-Into (okanye iSenzi-Isibizo, ukuba uyakhetha), kwaye ikhonkco elahlulwe ngeqhagamshela lifana nesivisa kunye nentloko kwizivakalisi zolwimi lwendalo. Umzekelo, Fumana-uNcedo ngokoqobo lithetha "Fumana-uNcedo", okanye kumxholo we-PowerShell: "Bonisa-uNcedo". Ngapha koko, le yi-analogue yomyalelo wendoda kwiinkqubo ze-Unix, kwaye iimanyuwali kwi-PowerShell kufuneka zicelwe ngale ndlela, kwaye hayi ngokufowunela i-cmdlets nge---help okanye /?. UMicrosoft unalo neenkcukacha ezininzi.

Ukongeza ku- Fumana, i-cmdlets isebenzisa ezinye izenzi ukubonisa izenzo (kwaye hayi izenzi kuphela, ngokungqongqo ukuthetha). Kuluhlu olungezantsi sinika imizekelo:

Add -dibanisa;
Clear - icacile;
Enable - layita;
Disable - Cima;
New -dala;
Remove - cima;
Set -buza;
Start - baleka;
Stop - Yeka;
Export - ukuthumela ngaphandle;
Import - ukungenisa.

Kukho inkqubo, umsebenzisi kunye ne-cmdlets ekhethwayo: njengesiphumo sokwenziwa, zonke zibuyisela into okanye uluhlu lwezinto. Abayiyo imeko, okt. ngokwembono yetoliki yomyalelo, akukho mahluko phakathi kokufumana-Uncedo kunye nokufumana-uncedo. Umsebenzi ';' usetyenziselwa ukwahlukana, kodwa kunyanzelekile ukuyibeka kuphela ukuba iicmdlets ezininzi ziphunyeziwe kumgca omnye. 

Windows PowerShell cmdlets adityaniswe kwiimodyuli (NetTCPIP, Hyper-V, njl.), kwaye kukho Get-Command cmdlet ukukhangela ngento kunye nesenzo. Ungabonisa uncedo kuyo ngolu hlobo:

Get-Help Get-Command

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Ngokungagqibekanga, umyalelo ubonisa uncedo olufutshane, kodwa iiparamitha (iingxoxo) zigqithiselwa kwi-cmdlets njengoko kufuneka. Ngoncedo lwabo, ungenza, umzekelo, ufumane iinkcukacha (iparamitha-Inkcukacha) okanye igcwele (iparamitha-Egcweleyo) uncedo, kunye nemizekelo yokubonisa (iparamitha-Imizekelo):

Get-Help Get-Command -Examples

Uncedo kwiWindows PowerShell ihlaziywa nguHlaziyo-Uncedo cmdlet. Ukuba umgca womyalelo ujika ube mde kakhulu, iingxoxo ze cmdlet zinokusiwa kwelandelayo ngokubhala unobumba wenkonzo '''' kwaye ucinezele Ngena - ukugqiba ukubhala umyalelo kumgca omnye nokuqhubeka komnye akuyi kusebenza.

Nantsi eminye imizekelo yee-cmdlets eziqhelekileyo: 

Get-Process - bonisa iinkqubo ezisebenzayo kwisistim;
Get-Service — babonise iinkonzo kunye nenqanaba labo;
Get-Content - bonisa imixholo yefayile.

Kwii-cmdlets ezisetyenziswa rhoqo kunye nezinto eziluncedo zangaphandle, iWindows PowerShell inezithethantonye ezimfutshane - izibizo (ezisuka kwisiNgesi. Alias). Umzekelo, i-dir sisibizo se-Get-ChildItem. Uluhlu lwezithethantonye lukwaquka izifaniso zemiyalelo evela kwiinkqubo ze Unix (ls, ps, njalo njalo), kunye ne Fumana-Uncedo cmdlet ibizwa ngokuba ngumyalelo woncedo. Uluhlu olupheleleyo lwezithethantonye lunokujongwa kusetyenziswa i-Get-Alias ​​​​cmdlet:

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Izikripthi, iMisebenzi, iiModyuli, kunye noLwimi lwePowerShell

Izikripthi zeWindows PowerShell zigcinwa njengeefayile ezibhaliweyo ezingenanto ngolwandiso lwe-.ps1. Awukwazi ukuwaqalisa ngokucofa kabini: kufuneka ucofe ekunene ukubiza imenyu yomxholo kwaye ukhethe into ethi "Baleka kwi-PowerShell". Ukusuka kwi-console, kuya kufuneka uchaze indlela epheleleyo kwiskripthi, okanye uye kulawulo olufanelekileyo kwaye ubhale igama lefayile. Ukuqhuba izikripthi kukwanqunyelwe ngumgaqo-nkqubo wenkqubo, kwaye ukujonga izicwangciso zangoku, ungasebenzisa i Get-ExecutionPolicy cmdlet, eya kubuyisela elinye lala maxabiso alandelayo:

Restricted — ukuqaliswa kokubhalwa kwemibhalo kuvaliwe (ngokungagqibekanga);
AllSigned - kuphela ukuqaliswa kwezikripthi ezisayinwe ngumphuhlisi othembekileyo ovunyelweyo;
RemoteSigned - bavunyelwe ukuba baqhube izikripthi ezisayiniweyo kunye nezakhe;
Unrestricted - ivunyelwe ukuqhuba naziphi na izikripthi.

Umlawuli uneendlela ezimbini ongakhetha kuzo. Okona kukhuseleke kakhulu kubandakanya ukusayina izikripthi, kodwa oku kubugqwirha obunzulu - siya kujongana nayo kumanqaku azayo. Ngoku makhe sithathe indlela yokungaxhathisi kancinci kwaye sitshintshe umgaqo-nkqubo:

Set-ExecutionPolicy RemoteSigned

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
I-PowerShell iya kufuneka iqhutywe njengomlawuli ukwenza oku, nangona unokutshintsha umgaqo-nkqubo womsebenzisi wangoku kunye nokusetha okukhethekileyo.

Izikripthi zibhalwa ngolwimi lweprogram olujolise kwinto, imiyalelo ethiywe ngokomgaqo ofanayo ne-cmdlets ebekuxoxwe ngayo ngaphambili: “Action-Object” (“Verb-Noun”). Injongo yayo ephambili kukwenza ngokuzenzekelayo imisebenzi yolawulo, kodwa lulwimi olutolikiweyo olupheleleyo olunazo zonke izakhiwo eziyimfuneko: i-conditional jump, i-loops, i-variables, i-arrays, izinto, ukuphatha iimpazamo, njl. Nawuphi na umhleli wokubhaliweyo ulungile kwiscripting, kodwa kungcono ukusebenzisa iWindows PowerShell ISE.

Ungagqitha iiparameters kwiscript, uzenze zifuneke, kwaye usete amaxabiso angagqibekanga. Ukongeza, iWindows PowerShell ikuvumela ukuba udale kwaye ubize imisebenzi ngendlela efanayo ne-cmdlets, ngokusebenzisa iFunction construct kunye nebrace ezigobileyo. Iscript esinemisebenzi ibizwa ngokuba yimodyuli kwaye inolwandiso lwe-.psm1. Iimodyuli kufuneka zigcinwe kuluhlu lwezalathisi ezichazwe kwimo eguquguqukayo yePowerShell. Unokuzijonga ngalo myalelo ulandelayo:

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

Ukuhambisa

Kumzekelo wokugqibela, sisebenzise ulwakhiwo oluqhelekileyo kubasebenzisi beqokobhe le-Unix. Kwi-Windows PowerShell, ibar ethe nkqo ikuvumela ukuba ugqithise imveliso yomyalelo omnye kwigalelo lomnye, kodwa kukho umahluko omkhulu ekuphunyezweni kombhobho: asisathethi malunga neseti yabalinganiswa okanye uhlobo oluthile. umbhalo. I-cmdlets eyakhelwe-ngaphakathi okanye imisebenzi echazwe ngumsebenzisi ibuyisela izinto okanye uluhlu lwezinto, kwaye ingazifumana njengegalelo. Njengeqokobhe leBourne kunye nabalandela abaninzi, iPowerShell yenza imisebenzi enzima ibe lula ngombhobho.

Owona mzekelo ulula wombhobho ujongeka ngolu hlobo:

Get-Service | Sort-Object -property Status

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Kuqala, i Fumana-Inkonzo cmdlet iphunyeziwe, kwaye ke zonke iinkonzo ezifunyenwe ngayo zigqithiselwa kwi-Cmdlet yeNjongo yoHlulo yokuhlela ngepropati yeSimo. Yeyiphi ingxabano isiphumo secandelo langaphambili lombhobho eligqithiselwayo lixhomekeke kuhlobo lwayo - ngokuqhelekileyo yi-InputObject. Lo mba uya kuxoxwa ngokubanzi kwinqaku elinikezelwe kulwimi lwenkqubo yePowerShell. 

Ukuba uyanqwenela, ungaqhubeka netyathanga kwaye ugqithise isiphumo sokuHlela-Into yokusebenza kwenye i-cmdlet (ziya kuphunyezwa ukusuka ekhohlo ukuya ekunene). Ngendlela, abasebenzisi beWindows bayakwazi ukufikelela kulwakhiwo lwe-pagination eqhelekileyo kuzo zonke ii-Unixoids: 

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

Ukubaleka imisebenzi ngasemva 

Ngokuqhelekileyo, kuyimfuneko ukuqhuba umyalelo othile ngasemva, ukuze ungalindi umphumo wokuphunyezwa kwawo kwiseshoni yeqokobhe. IWindows PowerShell ine-cmdlets ezininzi kule meko:

Start-Job - ukusungula umsebenzi ongasemva;
Stop-Job — misa umsebenzi ongasemva;
Get-Job — jonga uluhlu lwemisebenzi yangasemva;
Receive-Job — ukujonga isiphumo sokwenziwa komsebenzi ongasemva;
Remove-Job — ukucima umsebenzi ongasemva;
Wait-Job - ukudlulisela umsebenzi ongasemva umva kwi console.

Ukuqala umsebenzi ongasemva, sisebenzisa i-Start-Job cmdlet kwaye ukhankanye umyalelo okanye iseti yemiyalelo kwiibrayisi ezigoqeneyo:

Start-Job {Get-Service}

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Imisebenzi yangasemva kwi-Windows PowerShell inokwenziwa ngokwazi amagama abo. Okokuqala, makhe sifunde indlela yokubonisa:

Get-Job

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Ngoku makhe sibonise isiphumo somsebenzi Job1:

Receive-Job Job1 | more

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Yonke into ilula kakhulu.

Ukuphunyezwa komyalelo okude

IWindows PowerShell ikuvumela ukuba wenze imiyalelo kunye nezikripthi kungekuphela nje kwikhompyuter yendawo, kodwa nakwikhompyuter ekude, nakwiqela lonke loomatshini. Kukho iindlela ezininzi zokwenza oku:

  • Iicmdlets ezininzi zineparameter -ComputerName, kodwa ngale ndlela ayiyi kusebenza, umzekelo, ukudala umqhubi;
  • Cmdlet Enter-PSSession ikuvumela ukuba wenze iseshoni edibeneyo kumatshini okude; 
  • Ukusebenzisa i-cmdlet Invoke-Command ungaqhuba imiyalelo okanye izikripthi kwikhompyuter enye okanye ezingaphezulu ezikude.

Iinguqulelo zePowerShell

I-PowerShell itshintshe kakhulu ukusukela oko yakhutshwa okokuqala ngo-2006. Isixhobo siyafumaneka kwiinkqubo ezininzi ezisebenza kumaqonga ahlukeneyo ehardware (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, I-Windows RT, i-Windows RT 8.1, i-Windows Server 2012/2012 R2, i-Windows 10, i-Windows Server 2016, i-GNU/Linux kunye ne-OS X. Ukukhutshwa kwamva nje kwe-6.2 kukhutshwe nge-10 kaJanuwari ngo-2018. Izikripthi ezibhalelwe iinguqulelo zangaphambili zinokusebenza kwiinguqulelo zamva, kodwa ukubuyisela umva kunokuba yingxaki kuba iPowerShell ingenise inani elikhulu lee-cmdlets ezintsha kwiminyaka yophuhliso. Ungafumana uguqulelo lweqokobhe lomyalelo elifakwe kwikhompyuter usebenzisa ipropathi yePSVersion ye $PSVersionTable eyakhelwe-ngaphakathi variable:

$PSVersionTable.PSVersion

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Ungasebenzisa kwakhona i-cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili
Kuyenziwa okufanayo nge-Get-Host cmdlet. Ngapha koko, zininzi iinketho, kodwa ukuze uzisebenzise kufuneka ufunde ulwimi lwenkqubo yePowerShell, esiya kuyenza inqaku elilandelayo

Iziphumo 

I-Microsoft ikwazile ukwenza iqokobhe elinamandla ngokwenene elinendawo edibeneyo edibeneyo yokuphuhlisa imibhalo. Ihluke kwizixhobo eziqhelekileyo kuthi kwihlabathi le-Unix ngokudibanisa okunzulu kunye neenkqubo zokusebenza zeentsapho zeWindows, kunye nesofthiwe yazo kunye neqonga le-NET Core. I-PowerShell inokubizwa ngokuba liqokobhe elijolise kwinto kuba ii-cmdlets kunye nemisebenzi echazwe ngumsebenzisi ibuyisela izinto okanye uluhlu lwezinto kwaye inokuzithatha njengegalelo. Sicinga ukuba bonke abalawuli beseva kwiWindows kufuneka babe ngabanini esi sixhobo: ixesha lidlulile xa benokwenza ngaphandle komgca womyalelo. Iqokobhe lekhonsoli ephucukileyo ifuneka ngakumbi iVPS yethu yexabiso eliphantsi eqhuba iWindows Server Core, kodwa libali elahluke ngokupheleleyo elo.

Yintoni iWindows PowerShell kwaye ityiwa ngantoni? Icandelo 1: Iimpawu eziphambili

Ngabasebenzisi ababhalisiweyo kuphela abanokuthatha inxaxheba kuphando. Ngena, ndiyacela.

Yiyiphi imixholo efanele kuxutyushwe kuqala kumanqaku alandelayo kolu ngcelele?

  • 53,2%Ukucwangcisa kwiPowerShell123

  • 42,4%PowerShell98 Imisebenzi kunye neeModyuli

  • 22,1%Uzityikitya njani izikripthi zakho?51

  • 12,1%Ukusebenza ngoovimba ngokusebenzisa ababoneleli (ababoneleli)28

  • 57,6%Ukuzenzela uLawulo lweKhompyutha ngePowerShell133

  • 30,7%Ulawulo lweSoftware kunye nokufakelwa kwePowerShell ephunyeziweyo kwiimveliso zomntu wesithathu71

Bangama-231 abasebenzisi abavotileyo. Abasebenzisi abangama-37 abakhange.

umthombo: www.habr.com

Yongeza izimvo