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.
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.
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 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.
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
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:
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
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
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 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
Sei o tatou faʻaalia le taunuuga o Iopu1:
Receive-Job Job1 | more
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
E mafai foi ona e faʻaogaina le cmdlet:
Get-Variable -Name PSVersionTable –ValueOnly
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.
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
Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega.
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