O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

I le tala faasolopito, o faʻaoga laina-laina i luga o Unix e sili atu ona atinaʻe nai lo Windows, ae o le oʻo mai o se fofo fou, ua suia le tulaga.

O le Windows PowerShell e fa'atagaina ai le fa'atonuina o le fa'atonuina o le tele o galuega masani. Faatasi ai ma ia, e mafai ona e suia tulaga, taofi ma amata auaunaga, ma faia foi le tausiga i le tele o talosaga faʻapipiʻi. E sese le iloa o le faamalama lanumoana o se isi fa'aliliu upu. O lenei faiga e le atagia ai le ute o faʻafouga na faʻatulagaina e Microsoft. O le mea moni, o avanoa o Windows PowerShell e sili atu le lautele: i se faʻasologa puupuu o tala, o le a matou taumafai e vaʻai pe faʻafefea ona ese le fofo a Microsoft mai meafaigaluega tatou te masani ai.

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

Mea taua 

O le mea moni, o le Windows PowerShell o se atigi faʻatonuga ma se gagana tusitusi, na fausia muamua i luga o le .NET Framework ma mulimuli ane ile .NET Core. E le pei o atigi e talia ma toe fa'afo'i fa'amaumauga, o le Windows PowerShell e galue i vasega .NET, o lo'o iai meatotino ma metotia. O le PowerShell e fa'atagaina oe e fa'atautaia tulafono masani ma tu'uina atu fo'i ia te oe le avanoa i mea COM, WMI, ma ADSI. E fa'aogaina mea e teu ai, e pei o le faila faila po'o le resitalaina o Windows, mo le avanoa i ai le mea e ta'ua. fa'atau oloa. E taua le matauina o le avanoa e faʻapipiʻi ai vaega faʻatinoina PowerShell i isi talosaga e faʻatino ai gaioiga eseese, e aofia ai. e ala i se fa'aoga fa'akalafi. E moni fo'i le fa'afeagai: o le tele o talosaga a le Windows e maua ai avanoa i latou feso'ota'iga pulega e ala i le PowerShell. 

O le Windows PowerShell e mafai ai ona e:

  • Suia le fa'aogaina o faiga fa'aoga;
  • Puleaina auaunaga ma faiga;
  • Fa'atulaga matafaioi a le 'au'aunaga ma vaega;
  • Fa'apipi'i polokalame;
  • Puleaina polokalama fa'apipi'i e ala i feso'ota'iga fa'apitoa;
  • Fa'apipi'i vaega fa'atino i polokalame a isi vaega;
  • Fausia ni fa'amaumauga e fa'autometi ai galuega tau pulega;
  • Galulue ma le faila faila, Windows resitara, faleoloa tusi faamaonia, ma isi.

Atigi ma atina'e siosiomaga

E lua ituaiga o Windows PowerShell: faʻaopoopo i le emulator faʻamafanafana ma se atigi faʻatonu, o loʻo i ai se siosiomaga faʻapipiʻi faʻapipiʻi (ISE). Ina ia maua le faʻaogaina o le laina faʻatonuga, naʻo le filifili le ala 'alo talafeagai mai le lisi o Windows poʻo le taʻavale powershell.exe mai le Run menu. O se faamalama lanumoana o le a aliali mai i luga o le lau, e matua ese lava i le gafatia mai le cmd.exe antediluvian. O loʻo iai le faʻamaeʻaina ma isi mea e masani ai tagata faʻaoga o atigi faʻatonu mo faiga Unix.

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

Ina ia galue i le atigi, e tatau ona e manatua nisi o auala pupuu:

  • O aū i luga ma lalo e ta'ai i le tala fa'asolopito e toe fai ai fa'atonuga na ta'i muamua;
  • O le aū taumatau i le pito o se laina e toe fa'aigoaina ai le fa'atonuga muamua i uiga;
  • O le Ctrl+Home e tapeina le tusitusiga o lo'o taina mai le fa'atonuga i le amataga o le laina;
  • O le Ctrl+End e tape ai tusitusiga mai le fa'ailo i le pito o le laina.

F7 o loʻo faʻaalia ai se faʻamalama o loʻo i ai ni faʻatonuga lolomi ma faʻatagaina oe e filifili se tasi o ia mea. E galue fo'i le fa'amafanafanaga e ala i le filifilia o tusitusiga i le isumu, kopi-pasi, fa'atūina o le fa'aupu, tapeina, tua i tua - mea uma tatou te fiafia i ai.

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
O le Windows PowerShell ISE ose si'osi'omaga atina'e atoatoa ma se fa'atonu fa'ailoga e lagolagoina fa'amaufa'ailoga ma fa'ailoga fa'asologa, se fa'atonu fa'atonu, se fa'apipi'i fa'apipi'i, ma isi polokalame fa'afiafia. Afai e te tusia se va'aiga pe a mae'a le igoa o le fa'atonuga i le fa'atonu o le siosiomaga, o le ae mauaina uma fa'asologa o lo'o avanoa i le lisi pa'ū, fa'aalia le ituaiga. E mafai ona e fa'alauiloa le PowerShell ISE pe ala i se ala 'alo mai le lisi o le polokalama po'o le fa'aogaina o le faila faila powershell_ise.exe.

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

Cmdlets 

I le Windows PowerShell, o le mea e taʻua. cmdlets. O vasega fa'apitoa ia .NET e maua ai le tele o galuega. E fa'aigoaina e tusa ai ma le fa'avae "Action-Object" (po'o le "Verb-Noun, pe'ā e mana'o ai), ma o le so'oga fa'amavae-separated e foliga tutusa ma le predicate ma le autu i fuaiupu gagana masani. Mo se fa'ata'ita'iga, Maua-Fesoasoani o lona uiga moni lava "Maua-Fesoasoani" po'o le PowerShell anotusi: "Fa'aali-Fesoasoani". O le mea moni, o se faʻataʻitaʻiga lea o le faʻatonuga a le tagata i faiga Unix, ma tusi lesona i le PowerShell e manaʻomia ona talosagaina i lenei auala, ae le o le valaʻau i cmdlets ma le –help poʻo /? ki.. Aua neʻi galo e uiga i faʻamaumauga i luga ole laiga mo PowerShell: O loʻo i ai faʻamatalaga auiliili a Microsoft.

I le faaopoopo atu i le Maua, e faʻaaoga e cmdlets isi veape e faʻaalia ai gaioiga (ma e le gata o veape, tautala saʻo). I le lisi o loʻo i lalo matou te tuʻuina atu ni faʻataʻitaʻiga:

Add - fa'aopoopo;
Clear - mama;
Enable - ki;
Disable - tape ese;
New - faia;
Remove - tapeina;
Set - fesili;
Start — tamo'e;
Stop - taofi;
Export - auina atu i fafo;
Import - faaulufale mai.

O loʻo i ai faiga, tagata faʻaoga ma filifiliga cmdlets: o se taunuuga o le faʻatinoga, latou te toe faʻafoʻi uma se mea poʻo se faʻasologa o mea. Latou te le fa'aletonu mata'itusi, i.e. Mai le vaaiga a le fa'aliliu upu, e leai se eseesega i le va o le Get-Fesoasoani ma le mauaina-fesoasoani. O le ';' fa'ailoga e fa'aoga mo le vavae'ese, ae na'o le mana'omia pe a fai ni nai cmdlets e fa'atino i luga ole laina e tasi. 

Windows PowerShell cmdlets ua fa'avasegaina i modules (NetTCPIP, Hyper-V, ma isi), ma o lo'o i ai le Get-Command cmdlet mo le su'eina e ala i mea ma gaioiga. E mafai ona e faʻaalia le fesoasoani mo lenei mea:

Get-Help Get-Command

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

E le mafai, o le poloaiga e faʻaalia le fesoasoani vave, ae o faʻamaufaʻailoga (finauga) e pasi atu i cmdlets pe a manaʻomia. Faatasi ai ma la latou fesoasoani, e mafai, mo se faʻataʻitaʻiga, maua auiliiliga (-Detailed parameter) poʻo faʻamaeʻa (-Full) fesoasoani, faʻapea foʻi ma faʻaaliga faʻataʻitaʻiga (-Examples parameter):

Get-Help Get-Command -Examples

Fesoasoani ile Windows PowerShell ua fa'afouina ile Update-Help cmdlet. Afai o se laina o poloaiga e foliga mai e umi tele, o le cmdlet finauga e mafai ona faʻafeiloaʻi i le isi e ala i le tusia o le 'auʻaunaga amio '' ma oomi le Ulufale - naʻo le faʻamaeʻaina o le tusiaina o se poloaiga i luga o le laina e tasi ma faʻaauau i le isi e le aoga.

Lalo o nisi o faʻataʻitaʻiga o cmdlet masani: 

Get-Process - fa'aalia fa'agasologa o lo'o fa'agaoioia ile faiga;
Get-Service - fa'aalia auaunaga ma lo latou tulaga;
Get-Content - faʻaalia mea o loʻo i totonu o le faila.

Mo cmdlets e masani ona fa'aaogaina ma mea fa'aoga i fafo, o le Windows PowerShell e i ai ni upu tutusa pupuu - aliases (mai le Igilisi. Alias). Mo se faʻataʻitaʻiga, o le dir o se igoa mo Get-ChildItem. O le lisi o upu tutusa e aofia ai faʻatusa o faʻatonuga mai faiga Unix (ls, ps, ma isi), ma le Get-Help cmdlet e valaʻau e le fesoasoani fesoasoani. E mafai ona vaʻaia se lisi atoa o upu tutusa e faʻaaoga ai le Get-Alias ​​​​cmdlet:

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

PowerShell Scripts, Galuega, Module, ma le Gagana

O lo'o teuina fa'amaumauga a le Windows PowerShell e fai ma faila fa'amatalaga manino ma se fa'aopoopoga .ps1. E le mafai ona e faʻalauiloa i latou e ala i le kiliki-lua: e tatau ona e kiliki-i luga e valaʻau i luga le lisi lisi ma filifili le mea "Run in PowerShell". Mai le faʻamafanafanaga, e tatau ona e faʻamaonia le ala atoa i le tusitusiga, pe alu i le lisi talafeagai ma tusi le igoa faila. E fa'atapula'a fo'i tusitusiga fa'agasolo i faiga fa'avae, ma e siaki tulaga o lo'o iai nei, e mafai ona e fa'aogaina le Get-ExecutionPolicy cmdlet, lea o le a toe fa'afo'i mai ai se tasi o mea taua nei:

Restricted - fa'alauiloa tusitusiga ua fa'aletonu (fa'aleaogaina);
AllSigned - na'o le fa'alauiloaina o fa'amaumauga sa sainia e se tagata fa'atuatuaina e fa'atupuina e fa'atagaina;
RemoteSigned - Fa'ataga e tamo'e saini ma ana tusitusiga;
Unrestricted - Fa'ataga e fa'atino so'o se tusitusiga.

E lua filifiliga a le pule. O le mea e sili ona saogalemu e aofia ai le sainia o tusitusiga, ae o se togafiti faataulaitu ogaoga - o le a tatou taulimaina i mataupu o loʻo mulimuli mai. Ia sei o tatou uia le ala e sili ona tetee ma sui le faiga faavae:

Set-ExecutionPolicy RemoteSigned

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
PowerShell e manaʻomia le faʻatautaia o se pule e fai ai lenei mea, e ui lava e mafai ona e suia le faiga faʻavae mo le tagata faʻaoga o loʻo iai nei ma se tulaga faʻapitoa.

O tusitusiga o loʻo tusia i se gagana faʻatulagaina mea, o loʻo faʻaigoaina e tusa ai ma le mataupu faavae e tasi e pei o cmdlet na talanoaina muamua: "Action-Object" ("Verb-Noun"). O lona faʻamoemoe autu o le faʻaaogaina o galuega faʻapitoa, ae o se gagana faʻamatalaina atoa o loʻo i ai mea uma e manaʻomia: oso faʻapitoa, matasele, fesuiaiga, arrays, mea faitino, faʻaogaina mea sese, ma isi. So'o se fa'atonu tusitusiga e talafeagai mo le tusiaina o fa'amaumauga, ae e sili ona faigofie le fa'agaioia o le Windows PowerShell ISE.

E mafai ona e pasi fa'amaufa'ailoga i le fa'amaumauga, fa'atulafonoina, ma fa'apena fo'i ni fa'ailoga fa'aletonu. O le Windows PowerShell e fa'atagaina ai fo'i oe e fai ma vala'au galuega i le auala lava e tasi e pei o cmdlets, e fa'aaoga ai le Fa'aoga fau ma fusi fa'aa'ai. O se tusitusiga ma galuega e ta'ua o le module ma e iai le fa'aopoopoga .psm1. O modules e tatau ona teuina i totonu o faʻatonuga faʻamatalaina i suiga ole siosiomaga PowerShell. E mafai ona e vaʻaia i latou i le poloaiga lenei:

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

Felauaiga

I le faʻataʻitaʻiga mulimuli, ua matou faʻaogaina se fausaga e masani ai tagata faʻaoga atigi Unix. I le Windows PowerShell, o le pa i luga o le laina e mafai ai foi ona e pasi atu le gaioiga o le tasi poloaiga i le faʻaogaina o le isi, ae o loʻo i ai se eseesega tele i le faʻatinoina o le paipa: matou te le o toe talanoa e uiga i se seti o mataʻitusi poʻo se ituaiga o. tusitusiga. Fausia-i totonu cmdlets po'o galuega fa'asinomaga e toe fa'afo'i mea po'o fa'asologa o mea, ma e mafai fo'i ona maua e fai ma fa'aoga. E pei o le Bourne shell ma le tele o ona sui, PowerShell faʻafaigofie galuega faigata i se paipa.

O le faʻataʻitaʻiga sili ona faigofie o se paipa e pei o lenei:

Get-Service | Sort-Object -property Status

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
Muamua, o le Get-Service cmdlet ua faʻataunuʻuina, ona tuʻuina atu lea o auaunaga uma na maua i le Sort-Object cmdlet mo le faʻavasegaina e ala i le Tulaga meatotino. O le fea finauga o le taunuuga o le vaega muamua o le paipa ua pasia e faalagolago i lona ituaiga - e masani lava o le InputObject. O lenei lomiga o le a talanoaina atili auiliili i se tusiga e tuuto atu i le PowerShell programming language. 

Afai e manaʻo ai, e mafai ona e faʻaauau le filifili ma pasi le taunuuga o le Sort-Object i se isi cmdlet (o le a faʻatinoina mai le agavale i le taumatau). I le auala, e mafai foi e tagata faʻaoga Windows ona maua le mamanu masani i Unixoids uma mo itulau-i-itulau galuega: 

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

Fa'atino galuega i tua 

O le tele o taimi, e mana'omia le fa'atinoina o se fa'atonuga i tua, ina ia aua ne'i fa'atali mo le taunu'uga o lona fa'atinoina i le sauniga atigi. O le Windows PowerShell e tele ni cmdlets mo lenei tulaga:

Start-Job - fa'alauiloa se galuega i tua;
Stop-Job - taofi le galuega i tua;
Get-Job - va'ai le lisi o galuega i tua;
Receive-Job - va'ai i le fa'ai'uga o le fa'atinoina o galuega;
Remove-Job - tapeina o se galuega i tua;
Wait-Job - fa'aliliuina le galuega i tua i tua i le fa'amafanafanaga.

Ina ia amataina se galuega i tua, matou te faʻaogaina le Start-Job cmdlet ma faʻamaonia se faʻatonuga poʻo se seti o faʻatonuga i fusi faʻamalo:

Start-Job {Get-Service}

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
O galuega i tua i le Windows PowerShell e mafai ona fa'aogaina e ala i le iloaina o latou igoa. Muamua, seʻi o tatou aʻoaʻoina pe faʻapefea ona faʻaalia:

Get-Job

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
Sei o tatou faʻaalia le taunuuga o Iopu1:

Receive-Job Job1 | more

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
E fai si faigofie.

Fa'atonuga mamao

O le Windows PowerShell e mafai ai e oe ona faʻatautaia poloaiga ma tusitusiga e le gata i le lotoifale, ae faʻapea foi i luga o se komepiuta mamao ma e oʻo lava i luga o se vaega atoa o masini. E tele auala e fai ai lenei mea:

  • Ole tele o cmdlet e iai se parakalafa -ComputerName, ae i lenei auala o le a le mafai, mo se faʻataʻitaʻiga, ona faia se conveyor;
  • Cmdlet Enter-PSSession e mafai ai ona e faia se sauniga fefaʻasoaaʻi i luga o se masini mamao; 
  • Faʻaaogaina le cmdlet Invoke-Command e mafai ona e fa'atautaia ni fa'atonuga po'o ni fa'amaumauga i luga o se tasi pe sili atu komepiuta mamao.

PowerShell versions

Ua tele suiga ole PowerShell talu mai lona fa'alauiloa muamua ile 2006. O loʻo avanoa le meafaigaluega mo le tele o faiga faʻaogaina i luga o faʻalapotopotoga faʻapitoa eseese (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Pupuni RT, Pupuni RT 8.1, Pupuni Pupuni 2012/2012 R2, Pupuni 10, Pupuni Pupuni 2016, GNU/Linux ma OS X. O le fa'asalalauga lata mai 6.2 na tu'uina atu ia Ianuari 10, 2018. O faʻamaumauga na tusia mo faʻamatalaga muamua e foliga mai e aoga i taimi mulimuli ane, ae o faʻafitauli e ono tulaʻi mai i se suiga, talu ai i le tele o tausaga o atinaʻe, o le tele o cmdlets fou ua faʻaalia i PowerShell. E mafai ona e suʻeina le faʻasologa o le atigi faʻatonu na faʻapipiʻiina i luga o lau komepiuta e faʻaaoga ai le PSVersion meatotino o le $PSVersionTable faʻapipiʻiina i totonu o le fesuiaiga:

$PSVersionTable.PSVersion

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
E mafai foi ona e faʻaogaina le cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu
E faapena foi ona faia i le Get-Host cmdlet. O le mea moni, e tele filifiliga, ae e faʻaaogaina e tatau ona e aʻoaʻoina le PowerShell programming language, lea o le a matou faia i totonu. mataupu e sosoo ai

O taunuʻuga 

Ua mafai e Microsoft ona fatuina se atigi malosi tele ma se siosiomaga faʻapipiʻi talafeagai mo le atinaʻeina o tusitusiga. E ese mai meafaigaluega masani ia i matou i le lalolagi o Unix e ala i le loloto o le tuʻufaʻatasia ma faiga faʻaogaina o le aiga Windows, faʻapea foʻi ma polokalama faʻapitoa mo i latou ma le .NET Core platform. E mafai ona ta'ua le PowerShell o se atigi e fa'atatau i meafaitino ona o le cmdlets ma galuega fa'asinomaga e toe fa'afo'i ai meafaitino po'o fa'asologa o mea ma e mafai ona avea ma mea e fa'aoga ai. Matou te manatu e tatau i pule uma i luga o Windows ona umia lenei meafaigaluega: ua mavae le taimi e mafai ai ona latou faia e aunoa ma le laina o le poloaiga. O se atigi fa'amafanafana fa'apitoa e mana'omia i luga la matou VPS taugofie o loʻo faʻaogaina le Windows Server Core, ae o se tala e matua ese lava.

O le a le Windows PowerShell ma o le a le mea e 'ai ai? Vaega 1: Vaega Autu

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

O ā mataupu e tatau ona talanoaina muamua i mataupu o sosoo mai i le faasologa?

  • 53,2%Polokalama ile PowerShell123

  • 42,4%PowerShell98 Galuega ma Module

  • 22,1%E faapefea ona saini au lava tusitusiga?51

  • 12,1%Galulue fa'atasi ma fale teu oloa e ala i 'au'aunaga (providers)28

  • 57,6%Otometi le pulega o komepiuta e fa'aaoga ai le PowerShell133

  • 30,7%Puleaina o polokalame ma fa'apipi'i le PowerShell e mafai ona fa'atinoina i oloa a isi vaega71

231 tagata fa'aoga na palota. 37 tagata fa'aoga na fa'amama.

puna: www.habr.com

Faaopoopo i ai se faamatalaga