Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

M'mbiri, zida zamalamulo pamakina a Unix zimapangidwa bwino kuposa pa Windows, koma pobwera yankho latsopano, zinthu zasintha.

Windows PowerShell imalola oyang'anira makina kuti azisintha ntchito zanthawi zonse. Ndi chithandizo chake, mutha kusintha makonda, kuyimitsa ndikuyamba ntchito, komanso kukonza mapulogalamu ambiri omwe adayikidwa. Zingakhale zolakwika kuwona zenera la buluu ngati womasulira wina wamalamulo. Njira iyi sikuwonetsa zomwe Microsoft idatulutsa. M'malo mwake, kuthekera kwa Windows PowerShell ndikokulirapo: muzolemba zazifupi tidzayesa kudziwa momwe yankho la Microsoft limasiyana ndi zida zomwe timazidziwa bwino.

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Zofunikira zazikulu 

Zoonadi, Windows PowerShell makamaka ndi chigoba cholamula chokhala ndi chinenero cholembera, chomwe chinamangidwa pa .NET Framework ndipo kenako pa .NET Core. Mosiyana ndi zipolopolo zomwe zimavomereza ndi kubwezera malemba, Windows PowerShell imagwira ntchito ndi makalasi a .NET, omwe ali ndi katundu ndi njira. PowerShell imakupatsani mwayi woyendetsa malamulo wamba komanso imakupatsani mwayi wopeza zinthu za COM, WMI, ndi ADSI. Iwo amagwiritsa storages zosiyanasiyana, monga wapamwamba dongosolo kapena kaundula Mawindo, kwa mwayi umene otchedwa. ogulitsa. Ndikoyenera kudziwa kuthekera koyika zida za PowerShell muzinthu zina kuti mugwiritse ntchito zosiyanasiyana, kuphatikiza. kudzera pamawonekedwe azithunzi. Zotsalira ndizowonanso: mapulogalamu ambiri a Windows amapereka mwayi wopita kumayendedwe awo otsogolera kudzera pa PowerShell. 

Windows PowerShell imakulolani kuti:

  • Sinthani makonda ogwiritsira ntchito;
  • Kuwongolera ntchito ndi njira;
  • Konzani maudindo a seva ndi zigawo;
  • Kwabasi mapulogalamu;
  • Sinthani mapulogalamu oikidwa kudzera m'malo apadera;
  • Ikani zigawo zomwe zingatheke mu mapulogalamu a chipani chachitatu;
  • Pangani zolemba kuti musinthe ntchito zowongolera;
  • Gwirani ntchito ndi fayilo, kaundula wa Windows, sitolo ya satifiketi, ndi zina.

Chipolopolo ndi chilengedwe chachitukuko

Windows PowerShell ilipo m'njira ziwiri: kuphatikiza pa emulator ya console yokhala ndi chipolopolo cholamula, pali malo ophatikizika amawu (ISE). Kuti mupeze mawonekedwe a mzere wamalamulo, ingosankha njira yachidule yoyenera kuchokera pa menyu ya Windows kapena yendetsani powershell.exe kuchokera ku Run menyu. Zenera la buluu lidzawonekera pazenera, mosiyana kwambiri ndi kuthekera kwa antediluvian cmd.exe. Pali autocompletion ndi zina zomwe zimadziwika kwa ogwiritsa ntchito zipolopolo zamachitidwe a Unix.

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Kuti mugwiritse ntchito chipolopolo muyenera kukumbukira njira zazifupi za kiyibodi:

  • Mivi yopita mmwamba ndi pansi imayenda m'mbiri kuti mubwereze malamulo otayidwa kale;
  • Muvi wakumanja kumapeto kwa mzere umalembanso mawu am'mbuyomu potengera mawonekedwe;
  • Ctrl+Home imachotsa mawu otayidwa kuchokera pa cholozera mpaka kumayambiriro kwa mzere;
  • Ctrl + End imachotsa malemba kuchokera pa cholozera mpaka kumapeto kwa mzere.

F7 ikuwonetsa zenera ndi malamulo omwe adalowa ndikukulolani kusankha imodzi mwazo. Konsoliyo imagwiranso ntchito posankha zolemba ndi mbewa, kukopera-kumata, kuyika cholozera, kufufuta, malo obwerera - chilichonse chomwe timakonda.

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Windows PowerShell ISE ndi malo otukuka bwino omwe ali ndi makina osindikizira omwe amathandizira ma tabo ndi kuwunikira mawu, wopanga malamulo, chowongolera chokhazikika, ndi zosangalatsa zina zamapulogalamu. Ngati mulemba hyphen pambuyo pa dzina la lamulo mu mkonzi wa chilengedwe cha chitukuko, mudzalandira magawo onse omwe alipo pamndandanda wotsikira pansi, kusonyeza mtundu wake. Mutha kuyambitsa PowerShell ISE mwina kudzera munjira yachidule kuchokera pamenyu yamakina kapena kugwiritsa ntchito fayilo yomwe ingathe kuchitidwa powershell_ise.exe.

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Cmdlets 

Mu Windows PowerShell, otchedwa. cmdlets. Awa ndi makalasi apadera a .NET omwe amapereka magwiridwe antchito osiyanasiyana. Amatchulidwa molingana ndi mfundo ya "Action-Object" (kapena "Verb-Noun, ngati mukufuna), ndipo cholumikizira cholekanitsidwa ndi hyphen chimafanana ndi predicate ndi mutu m'masentensi achilankhulo chachilengedwe. Mwachitsanzo, Pezani-Thandizo limatanthauza "Pezani-Thandizo" kapena mu PowerShell: "Show-Thandizo". M'malo mwake, ichi ndi chifaniziro cha lamulo la munthu mu machitidwe a Unix, ndipo zolemba mu PowerShell ziyenera kufunsidwa motere, osati poyimbira cmdlets ndi -help kapena /? key. PowerShell: Microsoft ili nayo mwatsatanetsatane.

Kuphatikiza pa Get, cmdlets amagwiritsanso ntchito maverebu ena kutanthauza zochita (osati maverebu okha, kunena mosamalitsa). Pamndandanda womwe uli pansipa timapereka zitsanzo:

Add - kuwonjezera;
Clear - woyera;
Enable - Yatsani;
Disable - kusintha;
New - kupanga;
Remove - kufufuta;
Set - kufunsa;
Start - kuthamanga;
Stop - Imani;
Export - kutumiza kunja;
Import - import.

Pali kachitidwe, ogwiritsa ntchito ndi ma cmdlets osankha: chifukwa cha kuphedwa, onse amabwezera chinthu kapena zinthu zingapo. Iwo sali okhudzidwa, i.e. Kuchokera pamalingaliro a womasulira, palibe kusiyana pakati pa Get-Help ndi get-help. Chizindikiro cha ';' chimagwiritsidwa ntchito kulekanitsa, koma chimafunika pokhapokha ngati ma cmdlets angapo apangidwa pamzere umodzi. 

Mawindo PowerShell cmdlets ali m'magulumagulu (NetTCPIP, Hyper-V, etc.), ndipo pali Pezani-Command cmdlet kufufuza ndi chinthu ndi zochita. Mutha kuwonetsa thandizo pa izi motere:

Get-Help Get-Command

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Mwachikhazikitso, lamulo likuwonetsa thandizo lachangu, koma magawo (mikangano) amaperekedwa ku cmdlets ngati pakufunika. Ndi chithandizo chawo, mungathe, mwachitsanzo, kupeza mwatsatanetsatane (-Detailed parameter) kapena thandizo lathunthu (-Full), komanso zitsanzo zowonetsera (-Examples parameter):

Get-Help Get-Command -Examples

Thandizo mu Windows PowerShell limasinthidwa ndi Kusintha-Thandizo cmdlet. Ngati mzere wamalamulo ukhala wautali kwambiri, zokangana za cmdlet zitha kusamutsidwa ku lotsatira polemba mawonekedwe autumiki ''`' ndikukanikiza Lowani - kungomaliza kulemba lamulo pamzere umodzi ndikupitilira wina sikungagwire ntchito.

M'munsimu muli zitsanzo za cmdlets wamba: 

Get-Process - kuwonetsa njira zomwe zikuyenda mu dongosolo;
Get-Service - onetsani ntchito ndi udindo wawo;
Get-Content - onetsani zomwe zili mufayilo.

Kwa ma cmdlets omwe amagwiritsidwa ntchito pafupipafupi ndi zida zakunja, Windows PowerShell ili ndi mawu achidule - zilembo. Mwachitsanzo, dir ndi dzina la Get-ChildItem. Palinso ma analogue a malamulo ochokera ku machitidwe a Unix pamndandanda wa mawu ofanana (ls, ps, etc.), ndi Get-Help cmdlet imatchedwa ndi lamulo lothandizira. Mndandanda wathunthu wazofananira zitha kuwonedwa pogwiritsa ntchito Get-Alias ​​​​cmdlet:

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Zolemba za PowerShell, Ntchito, Ma modules, ndi Chilankhulo

Zolemba za Windows PowerShell zimasungidwa ngati mafayilo osamveka ndi .ps1 extension. Simungathe kuwayendetsa podina kawiri: muyenera dinani kumanja kuti mutsegule menyu ndikusankha "Thamangani mu PowerShell". Kuchokera pa console muyenera kufotokoza njira yonse yopita ku script, kapena pitani ku chikwatu choyenera ndikulemba dzina la fayilo. Kuthamanga zolembera kumachepanso ndi ndondomeko yamakina, ndipo kuti muwone makonda apano mutha kugwiritsa ntchito Get-ExecutionPolicy cmdlet, yomwe ibweza chimodzi mwazinthu zotsatirazi:

Restricted - kuyendetsa zolemba ndikoletsedwa (mwachisawawa);
AllSigned - zolembedwa zokha zosainidwa ndi wopanga zodalirika ndizololedwa kuyendetsa;
RemoteSigned - Amaloledwa kuyendetsa zolemba zosainidwa ndi zanu;
Unrestricted - Amaloledwa kuyendetsa zolemba zilizonse.

Woyang'anira ali ndi njira ziwiri. Zotetezedwa kwambiri zimaphatikizapo kusaina zolemba, koma izi ndi zamatsenga - tithana nazo m'nkhani zotsatirazi. Tsopano tiyeni titenge njira yochepetsera kukana ndikusintha ndondomekoyi:

Set-ExecutionPolicy RemoteSigned

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Kuti muchite izi, muyenera kuyendetsa PowerShell ngati woyang'anira, ngakhale mutha kugwiritsa ntchito gawo lapadera kuti musinthe ndondomeko ya wogwiritsa ntchito.

Ma script amalembedwa m'chinenero cha pulogalamu yolunjika ku chinthu, malamulo omwe amatchulidwa motsatira mfundo yofanana ndi cmdlets yomwe inakambidwa kale: "Action-Object" ("Verb-Noun"). Cholinga chake chachikulu ndikusinthiratu ntchito zowongolera, koma ndi chiyankhulo chotanthauziridwa chokwanira chomwe chili ndi zofunikira zonse: kulumpha kokhazikika, malupu, zosinthika, masanjidwe, zinthu, kukonza zolakwika, ndi zina zambiri. Mkonzi uliwonse ndi woyenera kulemba zolemba, koma ndikosavuta kugwiritsa ntchito Windows PowerShell ISE.

Mutha kupititsa magawo ku script, kuwapanga kukhala ovomerezeka, komanso kukhazikitsa zikhalidwe zosasinthika. Windows PowerShell imakupatsaninso mwayi wopanga ndikuyitanira ntchito mofanana ndi cmdlets, pogwiritsa ntchito ntchito yomanga ndi ma curly braces. Cholemba chokhala ndi ntchito chimatchedwa module ndipo chili ndi .psm1 yowonjezera. Ma modules ayenera kusungidwa muzolemba zomwe zimafotokozedwa muzosintha za PowerShell. Mutha kuwawona pogwiritsa ntchito lamulo ili:

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

Oyendetsa

Muchitsanzo chomaliza, tidagwiritsa ntchito kapangidwe kodziwika bwino kwa ogwiritsa ntchito zipolopolo za Unix. Mu Windows PowerShell, bar yowongoka imakulolani kuti mupereke kutulutsa kwa lamulo limodzi kupita ku lina, koma pali kusiyana kwakukulu pakukhazikitsidwa kwa payipi: sitikulankhulanso za gulu la zilembo kapena zolemba zina. Ma cmdlets omangidwira kapena ntchito zofotokozedwa ndi ogwiritsa ntchito zimabwezera zinthu kapena mindandanda yazinthu, ndipo zimathanso kuzilandira ngati zolowetsa. Monga chipolopolo cha Bourne ndi olowa m'malo ake ambiri, PowerShell imagwiritsa ntchito mapaipi kuti achepetse ntchito zovuta.

Chitsanzo chosavuta cha pipeline chikuwoneka motere:

Get-Service | Sort-Object -property Status

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
The Get-Service cmdlet imachitidwa poyamba, ndiyeno mautumiki onse omwe amalandira amaperekedwa ku Sort-Object cmdlet kuti asankhe ndi katundu wa Status. Ndi mtsutso uti womwe zotsatira za gawo lapitalo la payipi lomwe laperekedwa zimatengera mtundu wake - nthawi zambiri amakhala InputObject. Nkhaniyi idzakambidwa mwatsatanetsatane m'nkhani yoperekedwa ku chinenero cha pulogalamu ya PowerShell. 

Ngati mungafune, mutha kupitiliza unyolo ndikudutsa zotsatira za Sanjani-Object ku cmdlet ina (adzaphedwa kuchokera kumanzere kupita kumanja). Mwa njira, ogwiritsa ntchito Windows alinso ndi mwayi wopanga zomwe zimadziwika kwa onse a Unixoids pazotulutsa patsamba ndi tsamba: 

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

Kugwira ntchito chakumbuyo 

Nthawi zambiri pamafunika kuyendetsa lamulo lina kumbuyo kuti musadikire zotsatira za kuphedwa kwake mu gawo la chipolopolo. Windows PowerShell ili ndi ma cmdlets angapo pankhaniyi:

Start-Job - kuyambitsa ntchito yakumbuyo;
Stop-Job - kuyimitsa ntchito yakumbuyo;
Get-Job - kuyang'ana mndandanda wa ntchito zakumbuyo;
Receive-Job - kuwona zotsatira za ntchito yakumbuyo;
Remove-Job - kuchotsa ntchito yakumbuyo;
Wait-Job - kusamutsa ntchito yakumbuyo kubwerera ku konsoni.

Kuti tiyambe ntchito yakumbuyo, timagwiritsa ntchito Start-Job cmdlet ndikutchula lamulo kapena seti ya malamulo muzitsulo zopindika:

Start-Job {Get-Service}

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Ntchito zakumbuyo mu Windows PowerShell zitha kusinthidwa podziwa mayina awo. Choyamba, tiyeni tiphunzire momwe tingawawonetsere:

Get-Job

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Tsopano tiyeni tiwonetse zotsatira za Job1:

Receive-Job Job1 | more

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Ndi zophweka.

Kukhazikitsa kwakutali

Windows PowerShell imakulolani kuyendetsa malamulo ndi zolemba osati kwanuko kokha, komanso pa kompyuta yakutali komanso ngakhale pagulu lonse la makina. Pali njira zingapo zochitira izi:

  • Ma cmdlets ambiri ali ndi parameter -ComputerName, koma mwa njira iyi sikutheka, mwachitsanzo, kupanga conveyor;
  • cmdlet Enter-PSSession amakulolani kuti mupange gawo lothandizira pamakina akutali; 
  • Kugwiritsa ntchito cmdlet Invoke-Command Mutha kuyendetsa malamulo kapena zolemba pakompyuta imodzi kapena zingapo zakutali.

Mitundu ya PowerShell

Kuyambira pomwe idatulutsidwa koyamba mu 2006, PowerShell yasintha kwambiri. Chidachi chilipo pamakina ambiri omwe akuyenda pamapulatifomu osiyanasiyana (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 ndi OS X. Kutulutsa kwaposachedwa kwambiri kwa 6.2 kunatulutsidwa pa Januware 10, 2018. Zolemba zomwe zidalembedwa m'matembenuzidwe am'mbuyomu zitha kugwira ntchito pambuyo pake, koma zovuta zitha kubwera ndikusintha kosinthira, chifukwa pazaka za chitukuko, ma cmdlets ambiri adawonekera mu PowerShell. Mutha kupeza mtundu wa chipolopolo chokhazikitsidwa pa kompyuta yanu pogwiritsa ntchito PSVersion katundu wa $PSVersionTable yokhazikika yosinthika:

$PSVersionTable.PSVersion

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Mukhozanso kugwiritsa ntchito cmdlet:

Get-Variable -Name PSVersionTable –ValueOnly

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri
Zomwezo zitha kuchitika pogwiritsa ntchito Get-Host cmdlet. M'malo mwake, pali zosankha zambiri, koma kuti muzigwiritsa ntchito muyenera kuphunzira chilankhulo cha PowerShell, chomwe ndi chomwe tingachite nkhani yotsatira

Zotsatira 

Microsoft yakwanitsa kupanga chipolopolo champhamvu kwambiri chokhala ndi malo ophatikizika bwino opangira zolemba. Chomwe chimasiyanitsa ndi zida zomwe timazidziwa m'dziko la Unix ndikuphatikizana kwake kwakukulu ndi machitidwe ogwiritsira ntchito a banja la Windows, komanso ndi mapulogalamu awo ndi .NET Core platform. PowerShell imatha kutchedwa chipolopolo choyang'ana pa chinthu chifukwa ma cmdlets ndi ntchito zomwe zimagwiritsidwa ntchito ndi ogwiritsa ntchito zimabwezeretsa zinthu kapena zinthu zingapo ndipo zimatha kuzilandira ngati zolowetsa. Tikuganiza kuti oyang'anira ma seva onse a Windows ayenera kukhala ndi chida ichi: nthawi yadutsa pomwe akanatha kuchita popanda mzere wolamula. Chigoba chapamwamba cha console ndichofunikira kwambiri pa VPS yathu yotsika mtengo yomwe ikuyenda Windows Server Core, koma imeneyo ndi nkhani yosiyana kotheratu.

Windows PowerShell ndi chiyani ndipo imagwiritsidwa ntchito bwanji? Gawo 1: Zofunika Kwambiri

Ogwiritsa ntchito olembetsedwa okha ndi omwe angatenge nawo gawo pa kafukufukuyu. Lowani muakauntichonde.

Kodi ndi nkhani ziti zimene ziyenera kuyambika m’nkhani zotsatira?

  • 53,2%Kupanga mapulogalamu mu PowerShell123

  • 42,4%PowerShell98 Ntchito ndi Ma module

  • 22,1%Momwe mungasayinire zolemba zanu?51

  • 12,1%Kugwira ntchito ndi zosungirako kudzera mwa opereka28

  • 57,6%Sinthani makonzedwe apakompyuta pogwiritsa ntchito PowerShell133

  • 30,7%Kuwongolera mapulogalamu ndi kuyika zomwe PowerShell ikuchita muzinthu za gulu lachitatu71

Ogwiritsa ntchito 231 adavota. Ogwiritsa 37 adakana.

Source: www.habr.com

Kuwonjezera ndemanga