Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

N'akụkọ ihe mere eme, akụrụngwa iwu na sistemụ Unix ka emepụtara nke ọma karịa na Windows, mana na ọbịbịa nke ngwọta ọhụrụ, ọnọdụ ahụ agbanweela.

Windows PowerShell na-enye ndị na-ahụ maka sistemu ohere ịrụ ọrụ ọtụtụ oge. Site n'enyemaka ya, ị nwere ike ịgbanwe ntọala, kwụsị ma malite ọrụ, ma rụọkwa ọrụ nke ọtụtụ ngwa arụnyere. Ọ ga-abụ ihe na-ezighi ezi ịhụ windo na-acha anụnụ anụnụ dị ka onye ntụgharị iwu ọzọ. Ụzọ a anaghị egosipụta isi ihe ọhụrụ nke Microsoft tụpụtara. N'ezie, ike nke Windows PowerShell dị ọtụtụ: n'ime mkpirikpi isiokwu anyị ga-agbalị ịchọta otú ngwọta Microsoft si dị iche na ngwaọrụ anyị maara nke ọma.

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Njirimara igodo 

N'ezie, Windows PowerShell bụ isi okwu iwu nwere asụsụ ederede, nke e wuru na .NET Framework na emesịa na .NET Core. N'adịghị ka shei na-anabata ma weghachite data ederede, Windows PowerShell na-arụ ọrụ na klas NET, nke nwere akụrụngwa na ụzọ. PowerShell na-enye gị ohere ịme iwu nkịtị ma nyekwa gị ohere ịnweta ihe COM, WMI na ADSI. Ọ na-eji nchekwa dị iche iche, dị ka sistemụ faịlụ ma ọ bụ ndekọ Windows, maka ịnweta nke a na-akpọ. ndị na-ebubata ihe. Ọ dị mma ịmara na enwere ike itinye PowerShell executable components n'ime ngwa ndị ọzọ iji mejuputa arụmọrụ dị iche iche, gụnyere. site na eserese interface. Ntụgharị ahụ bụkwa eziokwu: ọtụtụ ngwa Windows na-enye ohere ịnweta ebe njikwa ha site na PowerShell. 

Windows PowerShell na-enye gị ohere:

  • Gbanwee ntọala sistemụ arụmọrụ;
  • Jikwaa ọrụ na usoro;
  • Hazie ọrụ nkesa na akụrụngwa;
  • Wụnye ngwanrọ;
  • Jikwaa ngwanrọ arụnyere site na oghere pụrụ iche;
  • Tinye ihe ndị nwere ike ime n'ime mmemme ndị ọzọ;
  • Mepụta edemede iji megharịa ọrụ nchịkwa;
  • Na-arụ ọrụ na sistemụ faịlụ, ndekọ Windows, ụlọ ahịa akwụkwọ, wdg.

Shell na gburugburu mmepe

Windows PowerShell dị n'ụdị abụọ: na mgbakwunye na emulator console nwere shei iwu, enwere gburugburu scripting agbakwunyere (ISE). Iji nweta interface ahịrị ahịrị iwu, họrọ naanị ụzọ mkpirisi kwesịrị ekwesị site na menu Windows ma ọ bụ mee powershell.exe site na menu Run. Window na-acha anụnụ anụnụ ga-apụta na ihuenyo, nke pụtara na ike dị iche na antediluvian cmd.exe. Enwere mmecha akpaaka na njirimara ndị ọzọ ndị ọrụ nke shells iwu maka sistemụ Unix maara nke ọma.

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Iji rụọ ọrụ na shei, ịkwesịrị icheta ụzọ mkpirisi keyboard ụfọdụ:

  • Àkụ elu na ala pịgharịa gaa na akụkọ ihe mere eme ka ikwugharị iwu ndị edeburu mbụ;
  • Àkụkụ aka nri na njedebe nke ahịrị na-emegharị agwa iwu gara aga site na agwa;
  • Ctrl+Home na-ehichapụ ederede edere site na ọnọdụ cursor ruo na mmalite nke ahịrị;
  • Ctrl+End na-ehichapụ ederede site na cursor ruo na njedebe nke ahịrị.

F7 na-egosi windo nwere iwu abanyela ma na-enye gị ohere ịhọrọ otu n'ime ha. Ihe njikwa ahụ na-arụkwa ọrụ site na iji òké họrọ ederede, nnomi-pasting, nhazi cursor, ihichapụ, oghere azụ - ihe niile anyị hụrụ n'anya.

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Windows PowerShell ISE bụ gburugburu mmepe zuru oke yana onye na-edezi koodu na-akwado taabụ na ịkọwapụta syntax, onye nrụpụta iwu, onye nrụpụta arụnyere na ihe mmemme ndị ọzọ na-atọ ụtọ. Ọ bụrụ na ị dee akara nchikota ka aha iwu na onye nrụpụta gburugburu mmepe, ị ga-enweta paramita niile dị na listi ndọpụta, na-egosi ụdị. Ị nwere ike ịmalite PowerShell ISE site na ụzọ mkpirisi site na menu usoro ma ọ bụ jiri faịlụ executable powershell_ise.exe.

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Cmdlets 

Na Windows PowerShell, nke a na-akpọ. cmdlet. Ndị a bụ klaasị NET pụrụ iche nke na-enye ọrụ dị iche iche. Akpọrọ ha aha dịka ụkpụrụ “Action-Object” siri dị (ma ọ bụ “Verb-Noun, ma ọ bụrụ na-amasị gị), na njikọ nke kewara hyphen yiri predicate na isiokwu dị n'ahịrịokwu asụsụ okike. Dịka ọmụmaatụ, Get-Help pụtara n'ụzọ nkịtị "Nweta-Enyemaka" ma ọ bụ na ọnọdụ PowerShell: "Show-Help". N'ezie, nke a bụ ihe analog nke iwu nwoke na sistemụ Unix, yana akwụkwọ ntuziaka dị na PowerShell kwesịrị ka arịọ ya otu a, ọ bụghị site na iji igodo enyemaka ma ọ bụ /? ịkpọ cmdlets.. Echefula akwụkwọ ntanetị maka PowerShell: Microsoft nwere ya nke ọma.

Na mgbakwunye na Get, cmdlets na-ejikwa ngwaa ndị ọzọ gosi omume (ọ bụghị naanị ngwaa, na-ekwusi ike). N'ime ndepụta n'okpuru, anyị na-enye ihe atụ:

Add - tinye;
Clear - dị ọcha;
Enable - Gbanwuo;
Disable - gbanyụọ;
New - mepụta;
Remove - ihichapụ;
Set - juo;
Start - agba ọsọ;
Stop - Kwụsị;
Export - mbupụ;
Import - mbubata.

Enwere usoro, onye ọrụ na cmdlets nhọrọ: n'ihi ogbugbu, ha niile na-eweghachi ihe ma ọ bụ ọtụtụ ihe. Ha adịghị emetụ n'ahụ, ya bụ. Site n'echiche onye ntụgharị iwu, ọ nweghị ihe dị iche n'etiti Get-Help na Get-help. A na-eji akara ';' maka nkewa, mana achọrọ ya naanị ma ọ bụrụ na emechara ọtụtụ cmdlet n'otu ahịrị. 

A na-achịkọta cmdlet Windows PowerShell n'ime modul (NetTCPIP, Hyper-V, wdg), ma enwere cmdlet Get-Command maka ịchọ site na ihe na omume. Ị nwere ike igosi enyemaka na ya dị ka nke a:

Get-Help Get-Command

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Site na ndabara, iwu ahụ na-egosiputa enyemaka ngwa ngwa, mana a na-ebufe paramita (arụmụka) na cmdlets ka ọ dị mkpa. Site n'enyemaka ha, ị nwere ike, dịka ọmụmaatụ, nweta nkọwa zuru ezu (-Prameter) ma ọ bụ enyemaka zuru ezu (-Full), yana ihe atụ ngosi (-ntụgharị ihe atụ):

Get-Help Get-Command -Examples

A na-emelite enyemaka na Windows PowerShell site na cmdlet Mmelite-Help. Ọ bụrụ na ahịrị nke iwu tụgharịrị dị ogologo, enwere ike ibufe arụmụka cmdlet gaa na nke ọzọ site na ịde agwa ọrụ ''''' na ịpị Tinye - naanị imecha ide iwu n'otu ahịrị wee gaa n'ihu na nke ọzọ agaghị arụ ọrụ.

N'okpuru bụ ọmụmaatụ ụfọdụ cmdlet nkịtị: 

Get-Process - gosi usoro na-agba ọsọ na usoro;
Get-Service - gosi ọrụ na ọnọdụ ha;
Get-Content - gosi ọdịnaya nke faịlụ.

Maka cmdlets a na-ejikarị na ngwa mpụga, Windows PowerShell nwere okwu mkpirisi - utu aha. Dịka ọmụmaatụ, dir bụ utu aha maka Get-ChildItem. Enwekwara iwu analogues sitere na sistemụ Unix n'ime ndepụta okwu (ls, ps, wdg), na Get-Help cmdlet ka a na-akpọ site n'iwu enyemaka. Enwere ike ịlele ndepụta okwu n'uju site na iji Get-Alias ​​​​cmdlet:

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Ederede PowerShell, Ọrụ, Modul, na Asụsụ

A na-echekwa script Windows PowerShell dị ka faịlụ ederede dị larịị nwere ndọtị .ps1. Ị nweghị ike ịme ha site na ịpị ugboro abụọ: ịkwesịrị ịpị aka nri iji mepee menu onodu wee họrọ "Gbaa na PowerShell". Site na njikwa ahụ ị ga-ezipụta ụzọ zuru oke na edemede ahụ, ma ọ bụ gaa na ndekọ kwesịrị ekwesị wee dee aha faịlụ ahụ. Amụma sistemu na-ejedebe na-agba ọsọ, yana ịlele ntọala dị ugbu a ị nwere ike iji Get-ExecutionPolicy cmdlet, nke ga-eweghachite otu ụkpụrụ ndị a:

Restricted - Amachibidoro edemede ịgba ọsọ (site na ndabara);
AllSigned - naanị script nke onye nrụpụta ntụkwasị obi binyere aka ka a na-ahapụ ka ọ rụọ ọrụ;
RemoteSigned - Ekwe ka ọ na-agba ọsọ mbinye aka na nke scripts;
Unrestricted - Ekwe ka ọ na-agba ọsọ ọ bụla scripts.

Onye nchịkwa nwere nhọrọ abụọ. Nke kacha dị nchebe gụnyere ịbịanye aka na scripts, mana nke a bụ nnukwu ịgba afa - anyị ga-eme ya n'isiokwu ndị na-esonụ. Ugbu a, ka anyị were ụzọ nke obere nguzogide ma gbanwee amụma:

Set-ExecutionPolicy RemoteSigned

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Iji mee nke a, ị ga-agba ọsọ PowerShell dị ka onye nchịkwa, n'agbanyeghị na ị nwere ike iji paramita pụrụ iche iji gbanwee amụma maka onye ọrụ ugbu a.

A na-ede script n'asụsụ mmemme gbadoro ụkwụ na ihe, nke a na-akpọ aha iwu ya dịka otu ụkpụrụ ahụ siri dị cmdlets a tụlere na mbụ: "Action-Object" ("Verb-Noun"). Ebumnuche ya bụ ime ka ọrụ nchịkwa rụọ ọrụ, mana ọ bụ asụsụ ntụgharị okwu zuru oke nke nwere ihe niile dị mkpa: mwụli elu ọnọdụ, loops, mgbanwe, nhazi, ihe, njikwa njehie, wdg. Edemede ederede ọ bụla dabara maka ide edemede, mana ọ kacha adabara Windows PowerShell ISE.

Ị nwere ike ịnyefe paramita na edemede ahụ, mee ka ha bụrụ iwu, ma tọọ ụkpụrụ ndabara. Windows PowerShell na-enyekwa gị ohere ịmepụta na ịkpọ ọrụ n'otu ụzọ ahụ dị ka cmdlets, na-eji arụ ọrụ arụ ọrụ na ihe nkwado. A na-akpọ edemede nwere ọrụ modul ma nwee ndọtị .psm1. A ga-echekwa modul na akwụkwọ ndekọ aha akọwapụtara na mgbanwe gburugburu PowerShell. Ị nwere ike ịlele ha site na iji iwu a:

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

Ndị na-eme mkpọchi

N'ọmụmaatụ ikpeazụ, anyị jiri atụmatụ nke ndị na-eji shei Unix maara nke ọma. Na Windows PowerShell, ogwe kwụ ọtọ na-enye gị ohere ịnyefe mmepụta nke otu iwu na ntinye nke ọzọ, mana enwere nnukwu ọdịiche dị na ntinye nke pipeline: anyị anaghịzi ekwu okwu banyere otu mkpụrụedemede ma ọ bụ ụfọdụ ederede. cmdlets arụnyere n'ime ma ọ bụ ọrụ akọwapụtara onye ọrụ na-eweghachi ihe ma ọ bụ n'usoro ihe, ma nwee ike ịnata ha dịka ntinye. Dị ka shei Bourne na ọtụtụ ndị ga-anọchi ya, PowerShell na-eji ọkpọkọ iji mee ka ọrụ dị mgbagwoju anya dị mfe.

Ihe atụ kachasị mfe nke pipeline dị ka nke a:

Get-Service | Sort-Object -property Status

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
A ga-ebu ụzọ gbuo cmdlet Get-Service, emesia ọrụ niile ọ na-enweta ga-ebufe ya na ụdị cmdlet maka nhazi site na akụrụngwa ọnọdụ. Kedu arụmụka sitere na ngalaba gara aga nke pipeline na-adabere na ụdị ya - ọ na-abụkarị InputObject. A ga-atụle nke a n'ụzọ zuru ezu n'ime edemede a raara nye asụsụ mmemme PowerShell. 

Ọ bụrụ na-ịchọrọ, ị nwere ike ịga n'ihu na agbụ ahụ wee nyefee nsonaazụ nke Ụdị-Object gaa na cmdlet ọzọ (a ga-egbu ha site n'aka ekpe gaa n'aka nri). Site n'ụzọ, ndị ọrụ Windows nwekwara ohere imewe nke Unixoids niile mara maka mmepụta ibe site na ibe: 

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

Na-arụ ọrụ n'azụ 

Ọtụtụ mgbe, ọ dị mkpa ka ịme otu iwu n'azụ ka ị ghara ichere nsonaazụ nke ogbugbu ya na nnọkọ shei. Windows PowerShell nwere ọtụtụ cmdlet maka ọnọdụ a:

Start-Job - malite ọrụ ndabere;
Stop-Job - ịkwụsị ọrụ ndabere;
Get-Job - ilele ndepụta nke ọrụ ndabere;
Receive-Job - ilele nsonaazụ nke ọrụ ndabere;
Remove-Job - ihichapụ ọrụ ndabere;
Wait-Job - na-ebufe ọrụ ndabere na njikwa.

Iji malite ọrụ ndabere, anyị na-eji Start-Job cmdlet wee kọwapụta iwu ma ọ bụ setịpụ iwu n'ime ihe nkwado:

Start-Job {Get-Service}

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Enwere ike ijikwa ọrụ ndabere na Windows PowerShell site na ịmara aha ha. Nke mbụ, ka anyị mụta otu esi egosipụta ha:

Get-Job

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Ugbu a, ka anyị gosi nsonaazụ Job1:

Receive-Job Job1 | more

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Ọ dị nnọọ mfe.

Mmezu iwu dịpụrụ adịpụ

Windows PowerShell na-enye gị ohere ịme iwu na scripts ọ bụghị naanị na mpaghara, kamakwa na kọmputa dịpụrụ adịpụ yana ọbụna n'otu igwe dum. Enwere ụzọ dị iche iche isi mee nke a:

  • Ọtụtụ cmdlet nwere oke -ComputerName, ma n'ụzọ dị otú a, ọ gaghị ekwe omume, dịka ọmụmaatụ, ịmepụta ebuka;
  • Cmdlet Enter-PSSession na-enye gị ohere ịmepụta nnọkọ mmekọrịta na igwe dịpụrụ adịpụ; 
  • Iji cmdlet Invoke-Command Ị nwere ike ịme iwu ma ọ bụ scripts na otu ma ọ bụ karịa kọmputa dịpụrụ adịpụ.

Ụdị PowerShell

Kemgbe ewepụtara ya na 2006, PowerShell agbanweela ọtụtụ ihe. Ngwá ọrụ dị maka ọtụtụ sistemụ na-agba ọsọ na nyiwe ngwaike dị iche iche (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 na OS X. E wepụtara 6.2 kacha ọhụrụ na Jenụwarị 10, 2018. Edemede edere maka nsụgharị ndị mbụ nwere ike ịrụ ọrụ na ndị na-esote, mana nsogbu nwere ike ibilite na mbufe azụ, ebe ọ bụ na n'ime afọ mmepe, ọnụ ọgụgụ buru ibu nke cmdlets ọhụrụ apụtala na PowerShell. Ị nwere ike chọpụta ụdị shei iwu arụnyere na kọmputa gị site na iji ihe onwunwe PSVersion nke agbanwere $PSVersionTable:

$PSVersionTable.PSVersion

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Ị nwekwara ike iji cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi
Enwere ike ime otu ihe ahụ site na iji Get-Host cmdlet. N'ezie, enwere ọtụtụ nhọrọ, mana iji ha, ịkwesịrị ịmụ asụsụ mmemme PowerShell, nke bụ ihe anyị ga-eme na ya. isiokwu na-esonụ

Nsonaazụ 

Microsoft jisiri ike mepụta shei iwu dị ike nke nwere ebe agbakwunyere dabara adaba maka ịmepụta scripts. Ihe dị iche na ngwaọrụ ndị anyị maara nke ọma na ụwa Unix bụ njikọ miri emi na sistemụ arụ ọrụ nke ezinụlọ Windows, yana ngwanrọ maka ha yana ikpo okwu NET Core. Enwere ike ịkpọ PowerShell shei dabere na ihe n'ihi na cmdlets na ọrụ akọwapụtara onye ọrụ na-eweghachi ihe ma ọ bụ n'usoro ihe wee nata ha dịka ntinye. Anyị chere na ndị niile na-ahụ maka ihe nkesa Windows kwesịrị ịnwe ngwá ọrụ a: oge ​​agafeela mgbe ha nwere ike ime na-enweghị ahịrị iwu. Shei console dị elu dị mkpa karịsịa na VPS anyị dị ọnụ ala na-agba Windows Server Core, mana nke ahụ bụ akụkọ dị iche kpamkpam.

Kedu ihe bụ Windows PowerShell na kedu ihe eji eri ya? Nkebi nke 1: Akụkụ isi

Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.

Olee isiokwu ndị e kwesịrị ibu ụzọ kwuo n’isiokwu ndị na-esonụ n’usoro isiokwu a?

  • 53,2%Mmemme na PowerShell123

  • 42,4%Ọrụ PowerShell98 na modul

  • 22,1%Otu esi edebanye aha n’akwụkwọ nke gị?51

  • 12,1%Na-arụ ọrụ na ebe nchekwa site na ndị na-eweta28

  • 57,6%Mepụta njikwa kọmputa site na iji PowerShell133

  • 30,7%Ijikwa ngwanrọ na itinye PowerShell executables n'ime ngwaahịa ndị ọzọ71

Ndị ọrụ 231 tụrụ vootu. Ndị ọrụ 37 anabataghị.

isi: www.habr.com

Tinye a comment