Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Taariikh ahaan, adeegyada khadka taliska ee nidaamyada Unix ayaa si fiican u horumaray marka loo eego Windows, laakiin imaatinka xal cusub, xaaladdu way is bedeshay.

Windows PowerShell waxay u ogolaataa maamulayaasha nidaamka inay si otomaatig ah u sameeyaan inta badan hawlaha caadiga ah. Iyada, waxaad bedeli kartaa goobaha, joojinta iyo bilaabi kartaa adeegyada, iyo sidoo kale samayn kartaa dayactirka codsiyada rakibay intooda badan. Waa khalad in loo arko in daaqadda buluuga ah ay tahay tarjumaan kale oo amar ah. Habkani kama tarjumayo nuxurka hal-abuurka ay Microsoft soo jeedisay. Dhab ahaantii, suurtogalnimada Windows PowerShell aad bay u ballaaran tahay: maqaallo kooban oo taxane ah, waxaan isku dayi doonaa inaan ogaano sida xalka Microsoft uga duwan yahay qalabka aan aad u yaqaanno.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Astaamaha furaha ah 

Dabcan, Windows PowerShell waa ugu horrayn qolof qoraal ah, oo asal ahaan lagu dhisay .NET Framework ka dibna .NET Core. Si ka duwan qolofka aqbala soona celisa xogta qoraalka, Windows PowerShell waxay la shaqeysaa fasallada NET ee leh sifooyin iyo habab. PowerShell wuxuu kuu ogolaanayaa inaad socodsiiso amarada guud waxayna sidoo kale ku siinaysaa gelitaanka COM, WMI, iyo walxaha ADSI. Waxay isticmaashaa kaydin kala duwan, sida nidaamka faylalka ama diiwaanka Windows, si ay u helaan waxa loogu yeero. bixiyayaasha. Waxaa mudan in la xuso suurtagalnimada in lagu dhejiyo qaybaha la fulin karo ee PowerShell ee codsiyada kale si loo fuliyo hawlgallo kala duwan, oo ay ku jiraan. iyada oo loo marayo interface garaaf ah. Gadaalku sidoo kale waa run: codsiyo badan oo Windows ah ayaa bixiya marin u helka isdhexgalka maamulkooda iyada oo loo marayo PowerShell. 

Windows PowerShell wuxuu kuu ogolaanayaa inaad:

  • 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 ee barnaamijyada dhinac saddexaad;
  • Abuur qoraallo si otomaatig ah loogu sameeyo hawlaha maamulka;
  • La shaqee nidaamka faylka, diiwaanka Windows, dukaanka shahaadada, iwm.

Shell iyo deegaanka horumarinta

Waxaa jira Windows PowerShell oo leh laba qaab: marka lagu daro emulator-ka konsole ee leh qolof amar, waxaa jira deegaan qoraal ah oo isku dhafan (ISE). Si aad u gasho khadka taliska, si fudud uga dooro furaha ku habboon menu-ka Windows ama ka orod powershell.exe ka menu Run. Daaqad buluug ah ayaa ka soo muuqan doonta shaashadda, oo si muuqata uga duwan awoodaha antediluvian cmd.exe. Waxaa jira dhamaystirid otomaatik ah iyo astaamo kale oo ay yaqaanaan isticmaalayaasha qolofka taliska ee nidaamyada Unix.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

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 qoray;
  • 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 waxa ay tusinaysaa daaqad leh amarro teebaysan oo kuu ogolaanaya in aad doorato mid iyaga ka mid ah. Console-ku waxa kale oo uu kula shaqeeyaa xulashada qoraalka jiirka, koobi-koobidda, meelaynta cursorka, tirtirka, gadaasha dambe - wax kasta oo aanu jecelnahay.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Windows PowerShell ISE waa deegaan horumarineed oo dhammaystiran oo leh tafatiraha koodka ee tabbed iyo syntax-ku iftiimiyay, amar dhise, qalab-qalab ku dhex jira, iyo barnaamijyo kale oo xiiso leh. Haddii aad ku qorto xaraf ka dib magaca amarka ee tifaftiraha deegaanka horumarinta, waxaad heli doontaa dhammaan xulashooyinka la heli karo ee liiska hoos-u-dhaca ah oo leh calaamad nooca. Waxaad ku bilaabi kartaa PowerShell ISE iyada oo loo marayo marin gaaban oo ka mid ah liiska nidaamka, ama adigoo isticmaalaya faylka la fulin karo powershell_ise.exe.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Cmdlets 

Gudaha Windows PowerShell, waxa loogu yeero. cmdlets. Kuwani waa fasalo .NET gaar ah oo bixiya hawlo kala duwan. Waxaa lagu magacaabay Waxqabad-Wax (ama Fal-magac, haddii aad doorbidayso), iyo isku xidhka-jiidhka-kala-saarku wuxuu u eg yahay saadaasha iyo mawduuca jumladaha luqadda dabiiciga ah. Tusaale ahaan, Hel-Help macneheedu waa "Get-Help", ama PowerShell macnaha guud: "Show-Help". Dhab ahaantii, kani waa analooga amarka ninka ee nidaamyada Unix, buug-gacmeedyada PowerShell waa in lagu codsadaa habkan, oo aan la wacin cmdlets oo leh --help ama /? furaha. Ha iloobin dukumeentiyada PowerShell ee khadka tooska ah: Microsoft waxay leedahay si faahfaahsan.

Marka laga soo tago Get, cmdlets waxay adeegsadaan ficillo kale si ay u muujiyaan ficillada (oo aan ahayn fal kaliya, si adag u hadlaya). Liiskan hoose waxaan ku siinaynaa tusaalooyin:

Add - ku dar;
Clear - cad;
Enable - shid;
Disable - dami;
New - abuuro;
Remove - tirtir;
Set - weydii;
Start - orod;
Stop - joogsiga;
Export - dhoofinta;
Import - soo dejinta.

Waxaa jira nidaam, isticmaale iyo cmdlets ikhtiyaari ah: natiijada fulinta awgeed, dhammaantood waxay soo celiyaan shay ama walxo kala duwan. Ma aha kuwo xasaasi ah, i.e. Marka laga eego dhinaca turjubaanka amarka, ma jiraan wax farqi ah oo u dhexeeya Hel-Help iyo Hel-help. Dabeecadda ';' waxaa loo isticmaalaa kala-saarid, laakiin waa qasab in la dhigo kaliya haddii dhowr cmdlets lagu fuliyo isla xariiq isku mid ah. 

Windows PowerShell cmdlets waxa loo qaybiyaa qaybo (NetTCPIP, Hyper-V, iwm.), waxaana jira cmdlet Get-Command ah oo lagu baadho shay iyo ficil. Waxaad u soo bandhigi kartaa caawimo sidan oo kale:

Get-Help Get-Command

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Sida caadiga ah, amarku wuxuu soo bandhigayaa caawinaad kooban, laakiin cabbirada ( doodaha) ayaa loo gudbiyaa cmdlets haddii loo baahdo. Caawintooda, waxaad, tusaale ahaan, heli kartaa caawinaad faahfaahsan (parameter -Detailed) ama buuxa (parameter -Full), iyo sidoo kale tusaalooyin soo bandhigid (parameter -Examples):

Get-Help Get-Command -Examples

Caawinta ku jirta Windows PowerShell waxa cusboonaysiiyay cmdlet Cusbooneysii-Help. Haddii khadka talisku uu noqdo mid aad u dheer, doodaha cmdlet waxaa loo wareejin karaa kan ku xiga adiga oo qoraya jilaha adeegga "" oo riixaya Gelida - dhameynta qoraalka amarka hal xariiq oo ku sii socda mid kale ma shaqeyn doono.

Waa kuwan qaar ka mid ah tusaalooyinka cmdlets caadiga ah: 

Get-Process - muujiyaan hababka socodsiinta ee nidaamka;
Get-Service - tus adeegyada iyo xaaladdooda;
Get-Content - muuji waxa ku jira faylka.

cmdlets inta badan la isticmaalo iyo adeegyada dibadda, Windows PowerShell waxay leedahay erayo la mid ah oo gaagaaban - magacyo (oo ka yimid Ingiriis. Alias). Tusaale ahaan, dir waa magac loo yaqaan Get-ChildItem. Liistada ereyada la mid ah waxa kale oo ka mid ah analoogyada amarada ka imanaya nidaamyada Unix (ls, ps, iwm.), iyo Get-Help cmdlet waxa lagu magacaabaa amarka caawimada. Liis dhammaystiran oo isku mid ah ayaa lagu arki karaa iyadoo la adeegsanayo Get-Alias ​​​​cmdlet:

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Qoraallada, Functions, Modules, iyo Luqadda PowerShell

Qoraallada Windows PowerShell waxa loo kaydiyaa sidii faylal qoraal ah oo cad oo leh .ps1 kordhin. Kuma daabici kartid adigoo laba jeer gujinaya: waxaad u baahan tahay inaad midig-gujiso si aad u wacdo liiska macnaha guud oo dooro shayga "Run in PowerShell". Laga soo bilaabo console-ka, waa inaad si buuxda u qeexdaa jidka qoraalka, ama aad tagtaa hagaha ku habboon oo qor magaca faylka. socodsiinta qoraalada sidoo kale waxaa xadiday nidaamka nidaamka, iyo si loo hubiyo goobaha hadda jira, waxaad isticmaali kartaa Get-ExecutionPolicy cmdlet, kaas oo soo celin doona mid ka mid ah qiyamka soo socda:

Restricted - bilaabista qoraallada waa naafo (sida caadiga ah);
AllSigned - kaliya bilaabista qoraalada uu saxeexay horumariye la aamini karo ayaa la ogolyahay;
RemoteSigned - loo oggolaaday inuu socodsiiyo qoraallo saxeexan oo leh;
Unrestricted - loo oggol yahay inuu socodsiiyo qoraal kasta.

Maamuluhu wuxuu leeyahay laba ikhtiyaar. Tan ugu ammaansan waxay ku lug leedahay saxiixa qoraallada, laakiin tani waa sixir aad u daran - waxaan kaga hadli doonaa maqaallada mustaqbalka. Haddaba aynu qaadno dariiqa iska caabinta ugu yar oo aynu beddelno siyaasadda:

Set-ExecutionPolicy RemoteSigned

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
PowerShell waxay u baahan doontaa in loo ordo maamule ahaan si tan loo sameeyo, in kasta oo aad ku beddeli karto siyaasadda isticmaaleha hadda jooga goob gaar ah.

Qoraallada waxaa lagu qoraa luqad barnaamij-ujeedo ah, amarrada kuwaas oo lagu magacaabay si la mid ah mabda'a hore ee cmdlets: "Action-Object" ("Verb-noun"). Ujeeddadeeda ugu weyni waa in ay si otomaatig ah u samayso hawlaha maamulka, laakiin waa luuqad dhammaystiran oo la turjumay oo leh dhammaan dhismooyinkii lagama maarmaanka u ahaa: boodboodka shuruudda ah, wareegyada, doorsoomayaasha, qalabaynta, walxaha, maaraynta khaladaadka, iwm. Tafatire kasta oo qoraal ahi wuu ku fiican yahay qorista, laakiin waxa fiican in la socodsiiyo Windows PowerShell ISE.

Waxaad u gudbin kartaa cabbirada qoraalka, ka dhigi kartaa kuwo loo baahan yahay, oo waxaad dejin kartaa qiyamka caadiga ah. Intaa waxaa dheer, Windows PowerShell wuxuu kuu ogolaanayaa inaad u abuurto oo aad wacdo hawlaha si la mid ah cmdlets, adoo isticmaalaya Function construct and curling braces. Qoraal hawleed leh waxa loo yaqaan moduleka oo waxa uu leeyahay .psm1 kordhin. Modules waa in lagu kaydiyaa hagayaal lagu qeexay doorsoomayaasha deegaanka PowerShell. Waxaad ku arki kartaa amarka soo socda:

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

Wacyigelinta

Tusaalaha ugu dambeeya, waxaanu isticmaalnay dhisme ay yaqaanaan isticmaalayaasha qolofka Unix. In Windows PowerShell, bar toosan waxay sidoo kale kuu ogolaaneysaa inaad u gudbiso wax soo saarka hal amar si aad u gudbiso mid kale, laakiin waxaa jira farqi weyn oo ku saabsan hirgelinta dhuumaha: hadda kama hadlayno jilayaal ama nooc ka mid ah qoraal. cmdlets-ku-dhisan ama adeegsadku qeexan yahay waxay soo celiyaan shay ama isku dubarid shay, waxayna sidoo kale u heli karaan gelinta ahaan. Sida qolofka Bourne iyo ku-xigeennadiisa badan, PowerShell waxay hawlo adag ku fududaysaa dhuumaha.

Tusaalaha dhuumaha ugu fudud ayaa u eg sidan:

Get-Service | Sort-Object -property Status

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Marka hore, cmdlet-ka Adeegga Get-Service waa la fuliyaa, ka dibna dhammaan adeegyada ay hesho waxaa loo gudbiyaa cmdlet Kala-soocida si loogu kala saaro hantida Xaaladda. Dooddee natiijada qaybta hore ee dhuumaha loo gudbiyay waxay kuxirantahay nooca - badanaa waa InputObject. Arrintan ayaa si faahfaahsan looga doodi doonaa maqaal loogu talagalay luqadda barnaamijka PowerShell. 

Haddii aad rabto, waad sii wadi kartaa silsiladda oo aad u gudbi kartaa natiijada hawlgalka Kala-soocidda cmdlet kale (waxaa laga fulin doonaa bidix ilaa midig). Jid ahaan, isticmaaleyaasha Windows sidoo kale waxay marin u heli karaan dhismaha bogag qoraal ah oo ay yaqaanaan dhammaan Unixoids: 

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

Hawlaha gadaal ka socda 

Inta badan, waxaa lagama maarmaan ah in lagu socodsiiyo amar gaar ah xagga dambe, si aan loo sugin natiijada fulinta ee fadhiga qolofka. Windows PowerShell waxay u leedahay dhowr cmdlets kiiskan:

Start-Job - bilaabista hawl asal ah;
Stop-Job - joojiso hawsha asalka ah;
Get-Job - fiiri liiska hawlaha asalka ah;
Receive-Job - daawashada natiijada fulinta hawsha asalka ah;
Remove-Job - tirtiridda hawsha asalka ah;
Wait-Job - u wareejinta shaqada asalka ah dib ugu soo celinta console-ka.

Si loo bilaabo hawsha asalka ah, waxaan isticmaalnaa Start-Job cmdlet oo ku qeexnaa amar ama amarro ku jira xargaha curdan:

Start-Job {Get-Service}

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Hawlaha asalka ah ee Windows PowerShell waxaa lagu maamuli karaa iyadoo la garanayo magacyadooda. Marka hore, aan barano sida loo muujiyo iyaga:

Get-Job

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Haddaba aan tusno natiijada shaqada Job1:

Receive-Job Job1 | more

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Wax walba waa quruxsan fudud.

Fulinta amarka fog

Windows PowerShell wuxuu kuu ogolaanayaa inaad ku fuliso amarrada iyo qoraallada ma aha oo kaliya kumbuyuutarka maxalliga ah, laakiin sidoo kale kombuyuutar fog, iyo xitaa koox dhan oo mashiinno ah. Waxaa jira dhowr siyaabood oo tan loo sameeyo:

  • Qaar badan oo cmdlets ah ayaa leh halbeeg -ComputerName, laakiin habkan ma shaqeyn doonto, tusaale ahaan, in la abuuro gaadiid qaada;
  • Cmdlet Enter-PSSession wuxuu kuu ogolaanayaa inaad abuurto kulan isdhexgalka mashiinka fog; 
  • Isticmaalka cmdlet Invoke-Command waxaad ku maamuli kartaa amarrada ama qoraallada hal ama in ka badan oo kombiyuutarada fogfog.

Noocyada PowerShell

PowerShell wax badan baa isbeddelay ilaa markii ugu horreysay la sii daayay 2006. Qalabku wuxuu diyaar u yahay nidaamyo badan oo ku shaqeeya aaladaha kala duwan ee qalabka (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 iyo OS X. Sii dayntii ugu dambeysay ee 6.2 oo la sii daayay Janaayo 10, 2018. Qoraallada loo qoray noocyadii hore waxay u badan tahay inay ku shaqeeyaan noocyada dambe, laakiin dib u celinta waxay noqon kartaa dhibaato sababtoo ah PowerShell waxay soo bandhigtay tiro badan oo cmdlets cusub sannadihii horumarinta. Waxaad ka heli kartaa nooca qolofka taliska ee lagu rakibay kombayutarka adigoo isticmaalaya hantida PSVersion ee doorsoomaha ku dhex dhisan ee $PSVersionTable:

$PSVersionTable.PSVersion

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Waxa kale oo aad isticmaali kartaa cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah
Isla sidaas oo kale ayaa lagu sameeyaa Get-Host cmdlet. Xaqiiqdii, waxaa jira xulashooyin badan, laakiin si aad u isticmaasho waxaad u baahan tahay inaad barato luqadda barnaamijka PowerShell, kaas oo aan ku sameyn doono maqaalka xiga

Natiijooyinka 

Microsoft waxay ku guulaysatay inay abuurto qolof aad u xoog badan oo leh jawi isku dhafan oo ku habboon horumarinta qoraallada. Waxay ka duwan tahay aaladaha aan naqaanno adduunka Unix iyadoo si qoto dheer loo dhexgelinayo nidaamyada hawlgalka qoyska Windows, iyo sidoo kale softiweerka iyaga iyo aaladda NET Core. PowerShell waxa loogu yeedhi karaa qolof ku jihaysan shayga sababta oo ah cmdlets iyo hawlaha isticmaale-qeexay waxa ay soo celiyaan shayada ama shayada isku xidhka waxayna u qaadan karaan sidii gelinta. Waxaan u maleyneynaa in dhammaan maamulayaasha server-ka ee Windows ay tahay inay lahaadaan qalabkan: wakhtigu wuu dhammaaday markii ay samayn karaan iyaga oo aan lahayn khadka taliska. Qolfoofka konsole sare ayaa si gaar ah loogu baahan yahay Qiimaha jaban eeyaga VPS ee ku shaqeeya Windows Server Core, laakiin taasi waa sheeko gebi ahaanba ka duwan.

Waa maxay Windows PowerShell maxaase lagu cunaa? Qaybta 1: Tilmaamaha Muhiimka ah

Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. Soo gal, 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%La shaqaynta kaydka iyada oo loo marayo bixiyayaasha (bixiyeyaasha)28

  • 57,6%Si otomaatig ah u maamula kombuyuutarka oo leh PowerShell133

  • 30,7%Maaraynta software iyo ku darida fulinta PowerShell ee alaabta dhinac saddexaad71

231 isticmaale ayaa codeeyay. 37 isticmaale ayaa ka aamusay.

Source: www.habr.com

Add a comment