Kā atvērt PowerShell, visas metodes. Windows PowerShell pamatinformācija Kas ir Windows PowerShell ise

Tikai automatizācija. Tikai PowerShell.

Priekšvārds

Kā hobijs un, kad man ir laiks, es pasniedzu studentus UKIT (bijušajā Maskavas Valsts informācijas tehnoloģiju koledžā). Šobrīd man ir maz laika, ko veltīt studentu grupai, bet ar to pietiek, lai sagatavotu ierakstu šeit par Habré.

Strādāju par sistēmas administratoru lielā ar IT nesaistītā uzņēmumā ar daudz IT resursiem. Pēc darbības veida šķiet, ka tas risina lielu skaitu līdzīgu uzdevumu lietotāju apkalpošanai.

Es iepazinos ar PowerShell valodu pirms aptuveni diviem gadiem, bet nopietni pieņēmu to tikai gadu vēlāk, sākumā neapzinoties tās milzīgās iespējas. Šajā rakstā, pirmkārt, pievērsīšos tiem, kuri vēlas sākt strādāt ar PowerShell, bet tam vēl neuzticas vai nezina, kādā veidā šim brīnumam pieiet.

Brīdinājums: PowerShell izraisa atkarību.

Ievads

Wikipedia mums saka:
Windows PowerShell- paplašināms automatizācijas rīks no Microsoft, kas sastāv no komandrindas čaulas un pavadošās skriptu valodas.

PowerShell vide var izskatīties kā komandrinda:


powershell.exe

Vai arī kā pieteikumu:


powershell_ise.exe

Powershell_ise.exe ko sauc par integrēto skriptu vidi - Windows PowerShell ISE. Ļauj strādāt ar valodu ērtā vidē ar sintakses izcelšanu, komandu konstruktoru, komandu automātisko pabeigšanu, nospiežot TAB un citām ērtībām. Ideāli piemērots skriptu izveidei un testēšanai.

Lai sāktu vidi powershell.exe vai powershell_ise.exe Vienkārši ierakstiet to pašu nosaukumu izpildes rindā.

PowerShell skripta failam ir paplašinājums .ps1.

Skriptu nevar palaist ar dubultu LMB. Tas tiek darīts īpaši, lai nekaitētu sistēmai ar nejauši palaistu skriptu.

Lai palaistu, ar peles labo pogu noklikšķiniet un atlasiet “Palaist, izmantojot PowerShell”:

Papildus tam, ka ir ierobežojumi LMB skriptu palaišanai, pēc noklusējuma skriptu izpilde sistēmā ir aizliegta, atkal iepriekš aprakstītā iemesla dēļ - lai nekaitētu sistēmai. Lai pārbaudītu pašreizējo izpildes politiku, palaidiet komandu:

Get-ExecutionPolicy

Mēs iegūsim vienu no tālāk norādītajām vērtībām. Ar lielu varbūtību, ja šī bija pirmā palaišana, mēs saņemsim Ierobežots.

  • Ierobežots- Skriptus nevar palaist;
  • VissParakstīts- Var palaist tikai skriptus, ko parakstījis uzticams izdevējs. Pirms uzticamā izdevēja skripta palaišanas tiks pieprasīts apstiprinājums;
  • RemoteSigned- Atļauts palaist mūsu izveidotos skriptus un lejupielādētos skriptus, ko parakstījis uzticams izdevējs;
  • Neierobežots- Nav ierobežojumu, var palaist visus skriptus.

Izpildei un testēšanai samaziniet politiku uz RemoteSigned izpildot komandu:

Set-ExecutionPolicy RemoteSigned

Sāksim

Cmdlet
  • Cmdlet ir PowerShell komandas, kas satur dažādas funkcionalitātes;
  • Cmdlet var būt sistēmas vai lietotāja izveidots;
  • Cmdlets tiek nosauktas saskaņā ar darbības vārda-lietvārdu likumu, kas atvieglo to iegaumēšanu;
  • Cmdlets izvada rezultātus kā objektus vai objektu kolekcijas;
  • Cmdlets var gan saņemt datus apstrādei, gan pārsūtīt datus pa konveijeru (vairāk par konveijeriem vēlāk);
  • Cmdlet nav reģistrjutīga (varat rakstīt get-process, Get-Process un GeT-pRoCeSs);
  • Pēc cmdlet nav nepieciešams likt " ; ", izņemot gadījumus, kad vienā rindā izpildām vairākas cmdlet (Get-Process; Get-Services).

Piemēram, lai iegūtu pašreizējos procesus, mēs izpildīsim komandu:

Un mēs iegūstam rezultātu:

Izmēģiniet to pats:

Get-Service #, lai iegūtu datoros darbojošos pakalpojumu statusu

Get-Content C:\Windows\System32\drivers\etc\hosts #lai iegūtu faila saturu. Šajā gadījumā saimniekdatora fails

Jums nav jāzina visas cmdlet no galvas. Iegūt palīdzību glābs situāciju.
Informāciju par visām pieejamajām cmdlet var iegūt, izpildot šo komandu:

Get-Help -Category cmdlet

Ja mēs izmantojam PowerShell ISE, mēs atvieglosim izstrādes procesu.
Vienkārši ievadiet domuzīmi" - Pēc tam, kad būsim ievadījuši cmdlet, mēs iegūsim visas iespējamās parametru un to veidu opcijas:

Izmēģiniet:

Get-Service - Name p*

Tomēr, ja mēs aizmirstam, kādas īpašības ir šai vai citai cmdlet, mēs to izpildīsim Piesakies dalībai:

Get-Process | Pieņemt dalību #Parakstīties "|" sauc par konveijeru. Par viņu zemāk.

Nav pietiekami daudz informācijas? Atsaucamies uz palīdzību ar parametru - Piemēri:

Get-Help Get-Process -Piemēri

Mēs saņemam aprakstu Get-Process un pat ar lietošanas piemēriem:

  • Cmdlet var būt saīsināti nosaukumi - aizstājvārdi. Piemēram, tā vietā Iegūt palīdzību var izmantot vienkārši Palīdzība. Lai iegūtu visus saīsinājumus, palaidiet Get-Alias.

Izmēģiniet:

Start-Process notepad

Kas ir līdzīgs rakstīšanai:

Sāciet piezīmju grāmatiņu

Tagad pārtrauksim procesu:

Apturēt procesu — piezīmju grāmatiņas nosaukums

Spps — nosaukumu piezīmju grāmatiņa

Nedaudz agrāk mēs teicām, ka cmdlets tiek nosauktas saskaņā ar darbības vārdu-lietvārdu likumu. Ļaujiet man precizēt, ka darbības vārdam nav jābūt gūt. Papildus tam, ko mēs varam saņemt, mēs varam lūgt Iestatīt(atcerieties, Set-ExecutionPolicy), palaist Sākt, stop Stop, izvade Ārā, izveidot Jauns un daudzi citi. cmdlet nosaukums neaprobežojas ar neko, un, izveidojot savu, mēs varam to nosaukt, kā vien sirds vēlas.

Mēģināsim izvadīt failā:

"Sveiks, Habr!" | Ārpus faila C:\test.txt un C:\test.txt

Starp citu, jūs varat to uzrakstīt šādi:

"Sveiks, Habr!" > C:\test.txt & C:\test.txt

PowerShell ir objektorientēta programmatūras dzinējs un skriptu valoda ar komandrindas interfeisu, kas sniedz IT speciālistiem lielākas iespējas MS Windows saimes operētājsistēmu konfigurēšanai. Vienkārši sakot, tas ir sava veida universāls administrēšanas rīks. Šajā rakstā tiks aplūkotas pamata metodes skriptu rakstīšanai programmā PowerShell, kas ļauj vienkāršā veidā automatizēt Windows vides pārvaldību.

PowerShell piedāvā gan tīru konsoles saskarni, gan pilnu izstrādes vidi PowerShell ISE(Integrētā skriptēšanas vide, iebūvēta skriptu vide) skriptiem. Lai palaistu komandrindas saskarni, izvēlnē Palaist ierakstiet powershell (WinKey + R). PowerShell ISE tiek palaists, izmantojot komandu "PowerShell ISE" tajā pašā izvēlnē.

ISE ir vēlams, jo tas sniedz vairāk iespēju izstrādātājam, pateicoties sintakses izcelšanai, koda automātiskajai pabeigšanai un citām funkcijām, kas raksturīgas daudziem “lielajiem” IDE.

Skriptu rakstīšana un palaišana

Skripti tiek saglabāti kā faili ar paplašinājumu .ps1. Lai gan PowerShell jau sen ir bijusi Windows OS sākotnējā daļa, tās skriptus nevar palaist, veicot vienkāršu dubultklikšķi. Lai to izdarītu, ar peles labo pogu noklikšķiniet uz skripta un atlasiet “Palaist programmā PowerShell”.

Ir arī sistēmas politikas, kas ierobežo skripta izpildi. Pašreizējos politikas iestatījumus varat pārbaudīt, palaižot komandu Get-ExecutionPolicy. Rezultāts būs viena no šīm vērtībām:

  • Ierobežots- skriptu izpilde ir aizliegta. Standarta konfigurācija;
  • VissParakstīts- varat palaist skriptus, ko parakstījis uzticams izstrādātājs; Pirms skripta palaišanas PowerShell lūgs jums apstiprinājumu;
  • RemoteSigned- varat palaist savus vai uzticama izstrādātāja parakstītus skriptus;
  • Neierobežots- varat palaist jebkurus skriptus.

Lai sāktu, jums ir jāmaina startēšanas politikas iestatījums uz RemoteSigned, izmantojot komandu Set-ExecutionPolicy:

Cmdlets

Cmdlet ir komandas ar iepriekš definētu funkciju, kas ir līdzīga nosacījuma priekšrakstiem programmēšanas valodās. Viņiem ir vairākas galvenās funkcijas:

  • Ir sistēmas, lietotāja un izvēles cmdlet;
  • cmdlet izpildes rezultāts būs objekts vai objektu masīvs;
  • Cmdlet var apstrādāt datus un nodot tos citām cmdlet, izmantojot konveijerus;
  • cmdlet nav reģistrjutīga, tāpēc nav atšķirības starp Get-ADUser, get-aduser un gEt-AdUsEr;
  • simbols tiek izmantots kā atdalītājs; .

Katrā cmdlet ir darbības vārds un lietvārds, kas atdalīti ar defisi. Piemēram:

  • Get-Process- parādīt pašreizējos procesus, kas darbojas datorā;
  • Get-Service- parādīt pakalpojumu sarakstu un to statusu;
  • Get-Content- parādīt norādītā faila saturu, piemēram, Get-Content C:\Windows\System32\drivers\etc\hosts .

Ja nepieciešams, varat uzskaitīt visas pieejamās cmdlet, izmantojot Get-Help-Category:

Varat arī izveidot savas cmdlet.

Iespējas

Katrai cmdlet ir vairāki parametri, kas nosaka tā darbību. PowerShell ISE automātiski iesaka visus pieejamos parametrus un parāda to veidu. Piemēram, Get-Service-NameW* atgriež pakalpojumu sarakstu, kuru nosaukums sākas ar W . Ja esat aizmirsis, kādi parametri ir ievadītajai cmdlet, izmantojiet Get-Member . Piemēram, Get-Process | Piesakies dalībai:

Ja neatrodat vajadzīgo vai neesat pārliecināts, kā pareizi iestatīt parametrus, varat pat pieprasīt piemērus, izmantojot parametru -Examples:

Dažas cmdlet var izsaukt arī, izmantojot aizstājvārdus, piemēram, Get-Help vietā varat vienkārši uzrakstīt Help .

Rakstot lielus skriptus vai komandas izstrādi, varat izmantot komentārus. Katrs komentārs sākas ar # rakstzīmi, un komentāru bloks ir ierobežots ar rakstzīmju kombinācijām<# и #>attiecīgi sākumā un beigās.

Konveijers

PowerShellĻauj apmainīties ar datiem starp cmdlet, izmantojot konveijeru. Piemēram:

  • GetService | SortObject -rekvizīts Statuss - darbojas pakalpojumu kārtošana pēc statusa;
  • "Sveika pasaule!" | Out-File C:\ps\test.txt — teksta rakstīšana failā.

Var izmantot vairākus konveijerus. Piemēram, šajā skriptā ir uzskaitīti visu pakalpojumu nosaukumi, izņemot apturētos:

Get-Service | WHERE ($_.status -eq “Running”) | ATLASĪT parādāmo nosaukumu

Secinājums

Tātad, pateicoties šai apmācībai, iesācējiem ir priekšstats par PowerShell būtību. Mēs arī apskatījām iespējas mainīt skripta izpildes politiku, kas ir cmdlet, kā tās apmainās ar datiem, izmantojot konveijeru, un kā iegūt vajadzīgā objekta rekvizītus. Atcerieties, ka, ja rodas problēmas, varat izmantot cmdlet Get-Help.

Pieredzējuši operētājsistēmas Windows 10 lietotāji, iespējams, ir dzirdējuši par PowerShell komandrindas utilītu. Tie, kuriem ir pieredze darbā ar operētājsistēmām Windows 7 un 8.1, var būt pazīstami arī ar to. Pēc gadiem ilgas Windows komandrindas lietojumprogrammas un .bat failu lietošanas ir pienācis laiks iepazīties ar jaudīgāku rīku.

PowerShell ir vērtīgs papildinājums Windows rīku sarakstam, un tā apjoms dažiem lietotājiem var būt biedējošs. Kas tā ir - skriptu valoda vai komandu apvalks? Neuztraucieties: neskatoties uz plašajām iespējām, ikviens var apgūt PowerShell.

1. darbība. Instalēšana

Pirmkārt, mums ir nepieciešama pati PowerShell utilīta. Ja izmantojat operētājsistēmu Windows 10, jums jau ir instalēta PowerShell versija 5. Windows 10 jubilejas atjauninājumā tiek izmantota versija 5.1, taču atšķirība nav pamanāma. Windows 8 un 8.1 izmanto PowerShell 4, kas arī ir diezgan pietiekami. PowerShell instalēšana operētājsistēmā Windows 7 neradīs problēmas, taču jums joprojām būs jāveic pāris papildu darbības. Jo īpaši jums ir papildus jāinstalē .Net Framework. Varat instalēt Windows pārvaldības ietvaru, kas ietver PowerShell.

PowerShell ir divas saskarnes. Pieredzējuši lietotāji var izvēlēties pilnu GUI saskarni, kas pazīstama kā integrētā skriptēšanas vide (ISE). Iesācējiem vislabāk ir izmantot PowerShell konsoli, vienkāršu uz tekstu balstītu Windows komandrindas stila interfeisu vai pat DOS 3.2.

Lai palaistu PowerShell kā administratoru sistēmā Windows 10, noklikšķiniet uz pogas Sākt un ritiniet uz leju līdz Windows PowerShell. Operētājsistēmā Windows 8.1 meklējiet Windows PowerShell sistēmas Windows mapē. Operētājsistēmā Windows 7 apvalks atrodas mapē Piederumi. Kā parasts lietotājs, PowerShell var palaist tādā pašā veidā, izmantojot peles kreiso pogu, nevis labo pogu.

Jūs varat izmantot meklēšanu jebkurā Windows versijā. Lai atvieglotu turpmāko lietošanu, varat piespraust PowerShell uzdevumjoslai.

2. darbība: vecās Windows komandas

Windows komandu sintakse programmā PowerShell darbojas kā parasti. Piemēram, CD maina mapes, rež parāda visu pašreizējā mapē esošo failu un mapju sarakstu.

Atkarībā no tā, kā palaižat PowerShell konsoli, varat sākt c:\Windows\system32 vai c :\Lietotāji\ . Ekrānuzņēmuma piemērā tiek izmantota komanda CD..(ar atstarpi), lai vienlaikus pārvietotos par vienu līmeni uz augšu, pēc tam palaidiet komandu rež lai parādītu direktorijā esošo failu un mapju sarakstu C:\.

3. darbība. Instalējiet palīdzības failus

Komandām patīk CD Un rež nav aktīvas PowerShell komandas. Tie ir tā sauktie aizstājvārdi - īstu PowerShell komandu aizstājēji. Pseidonīmi ir noderīgi tiem, kam ir liela pieredze darbā ar komandrindu. Tomēr tie neskar PowerShell dziļumus.

Lai sāktu darbu ar PowerShell, ierakstiet palīdzēt un nepieciešamo komandu. Ekrānuzņēmums parāda komandu .

Komanda palīdzēt tā saka rež ir PowerShell komandas aizstājvārds Get-ChildItem. Ja rakstāt get-childitem V PS C:\>, jūs redzēsit to pašu, ko izmantojot komandu rež.

Kā norādīts ekrānuzņēmuma apakšā, PowerShell palīdzības faili netiek instalēti automātiski. Lai tos iegūtu, palaidiet PowerShell kā administratoru un ierakstiet atjaunināšana-palīdzība. Palīdzības failu instalēšana prasīs vairākas minūtes; var trūkt vairāku moduļu, piemēram, šajā gadījumā netika instalēta palīdzība NetWNV un SecureBoot. Kad viss būs gatavs, pilnā palīdzības sistēma vienmēr sniegs nepieciešamos padomus.

Tagad ierakstiet komandu iegūt palīdzību un jebkuru jūs interesējošo komandu (“cmdlet” PowerShell, cmdlet krievu valodā), tiks parādīts tās apraksts. Piemēram, get-help get-childitem parāda opciju sarakstu get-childitem. Varat arī parādīt dažādas iespējamās opcijas. Piemēram

get-help get-childitem -piemēri

sniegti septiņi detalizēti lietošanas piemēri get-childitem. Komanda

get-help get-childitem -detalizēti

ietver šos septiņus piemērus un detalizētus paskaidrojumus par katru cmdlet parametru get-childitem.

4. darbība. Saņemiet palīdzību saistībā ar iestatījumiem

Ekrānuzņēmumā jūs, iespējams, pamanījāt divus sarakstus SINTAKSE Priekš get-childitem. Ja ir divas dažādas sintakses, ir divi veidi, kā palaist cmdlet. Kā saglabāt sintaksi atsevišķi vienu no otras un ko nozīmē parametri? Atbilde ir vienkārša, ja zināt triku.

Lai iegūtu sīkāku informāciju par cmdlet parametriem get-childitem vai kāds cits lietošanas parametrs - pilns:

get-help get-childitem -full

Tas sniedz sarakstu ar to, ko varat darīt ar cmdlet un kas notiks. Apskatiet ekrānuzņēmumu.

Pārskatot parametru aprakstus, jūs to ievērosit get-childitemļauj iegūt objektu bērns(piemēram, apakšmapes nosaukums vai faila nosaukums) noteiktā vietā, ar vai bez atbilstošām rakstzīmēm. Piemēram:

get-childItem “*.txt” -recurse

atgriež sarakstu ar "*.txt" failiem pašreizējā mapē un visās apakšmapēs (parametra dēļ -atkārtots). Tā kā

get-childitem “HKLM:\Software”

atgriež visu augstākā līmeņa reģistra atslēgu sarakstu HKEY_LOCAL_MACHINE\Software.

Ja kādreiz esat mēģinājis iekļūt reģistrā, izmantojot Windows komandrindu vai .bat failus, jūs novērtēsiet šīs piekļuves opcijas funkcionalitāti.

5. darbība: vārdu apgūšana

Ir iemesls, kāpēc līdz šim parādītās cmdlet izskatās līdzīgi: get-childitem, update-help, get-help izmantojiet vienu darbības vārda un lietvārda modeli. Visas PowerShell cmdlet izmanto šo konvenciju; tās izmanto darbības vārdu pirms viena lietvārda. Tas patiks tiem, kuri kādreiz cieta no nekonsekventiem komandu nosaukumiem VB un VBA valodās.

Apskatiet visbiežāk izmantotās cmdlet:

set-atrašanās vieta: iestata pašreizējo darba vietu uz noteiktu vietu

iegūt saturu: iegūst faila saturu

get-prece: izgūst failus un mapes

kopēt vienumu: kopē objektu no vienas vietas uz citu

noņemt vienumu: izdzēš failus un mapes

: palaiž procesus lokālā vai attālā datorā

saņemt pakalpojumu: nodrošina pakalpojumu darbību lokālā vai attālā datorā

invoke-webrequest: izgūst saturu no tīmekļa lapas internetā

Lai skatītu, kā darbojas konkrēta cmdlet, izmantojiet iegūt palīdzību kā gadījumā

get-help kopēt vienumu -pilns

Pamatojoties uz palīdzības aprakstu, varat saprast, kas ir nepieciešams cmdlet. Piemēram, ja vēlaties kopēt visus failus un mapes no Dokumenti V c:\temp, izmantojiet

kopēt vienumu c:\users\ \documents\* c:\temp

Ierakstot šo komandu, jūs redzēsit vairākas interesantas PowerShell vides funkcijas. Piemēram, ja rakstāt kopija-i un nospiediet tabulēšanas pogu, PowerShell aizpildīs Vienuma kopēšana. Ja nepareizi ierakstāt cmdlet un PowerShell nevar to atpazīt, tiek sniegts pilns apraksts par to, kas tika izdarīts nepareizi.

Izmēģiniet šo cmdlet:

invoke-webrequest askwoody.com

Jūs saņemsiet īsu tīmekļa lapas nosaukumu, attēlu, saišu un cita satura sarakstu. Lūdzu, ņemiet vērā iegūt palīdzību uz sarakstu invoke-webrequest, kas "atgriež veidlapu, saišu, attēlu un citu svarīgu HTML elementu kolekciju" — tieši to, kas jāparāda ekrānā.

Dažas cmdlet palīdz pārvaldīt pašu PowerShell:

saņemt-komanda: visu pieejamo cmdlet saraksts

get-darbības vārds: visu pieejamo darbības vārdu saraksts

skaidrs-saimnieks: notīriet resursdatora programmas ekrānu

Dažādi parametri ļauj samazināt komandas un sašaurināt noderīgo opciju klāstu. Piemēram, lai skatītu sarakstu ar visām cmdlet, kas darbojas ar Windows pakalpojumiem, ierakstiet

get-command *-service

Tiks parādīti visi darbības vārdi, kas pieejami ar lietvārdu apkalpošana. Šeit ir viņu saraksts:

Get-Service

Jauns pakalpojums

Restartēt-pakalpojums

Resume-Service

Set-Service

Starts-Pakalpojums

Stop-Pakalpojums

Apturēšana-Pakalpojums

Varat apvienot šīs cmdlet ar citām.

6. darbība: cauruļu izmantošana

Ja esat iepazinies ar Windows komandrindas vai pakešu failiem, tad jūs zināt par novirzīšanu un caurulēm. Pārvirzīšana (> simbols) un caurules (| simbols) izmanto darbības rezultātu un pievieno to citai vietai. Piemēram, varat novirzīt komandas rezultātu rež teksta failā vai nodod komandas rezultātu ping uz komandu atrast lai filtrētu interesantus rezultātus, piemēram,

dir > temp.txt

ping askwoody.com | atrast “paketes” > temp2.txt

Šeit, otrajā komandā atrast meklē virkni paciņas, ko komanda paņēmusi no adreses askwoody.com ping un saliek visas atbilstošās rindas failā, ko sauc temp2.txt.

Pirmā no šīm komandām darbojas labi programmā PowerShell. Lai palaistu otro komandu, jums būs nepieciešams kaut kas līdzīgs

ping askwoody.com | Select-string paketes | ārpus faila temp2.txt

Pārvirzīšanas un cauruļu izmantošana ievērojami paplašina Windows komandrindas iespējas: tā vietā, lai bezgalīgi ritinātu ekrānu, lai meklētu teksta virkni, varat filtrēt vajadzīgās Windows komandas.

Powershell ir atbalsts caurule, un tas neaprobežojas tikai ar tekstu. PowerShell ļauj nodot visu objektu no vienas cmdlet citai, kur objekts ir datu (ko sauc par rekvizītiem) un darbību (metožu) kombinācija, kas var izmantot šos datus.

Sarežģītā daļa rodas, novietojot objektus rindā. Objektiem, ko nodrošina viena cmdlet, ir jāatbilst saņēmēja cmdlet pieņemto objektu veidam. Teksts ir ļoti vienkāršs objektu veids, tādēļ, ja strādājat ar tekstu, objektu līdzināšana ir vienkāršs uzdevums. Pārējie objekti nav tik elementāri.

Kā to saprast? Izmantojiet cmdlet kļūt par biedru. Ja vēlaties uzzināt, kāda veida objektu cmdlet apstrādā, palaidiet to kļūt par biedru. Piemēram, ja mēģināt izprast procesus, kas darbojas datorā, un esat sašaurinājis savas iespējas līdz cmdlet , tālāk ir norādīts, kā uzzināt cmdlet rezultātu:

get-process | kļūt par biedru

Palaižot šo cmdlet, tiek izveidots garš rekvizītu un metožu saraksts , bet pašā saraksta sākumā var redzēt, kāda veida objektu veido :

TypeName: System.Diagnostics.Process

Tālāk esošajā ekrānuzņēmumā ir parādīti arī rekvizīti tiesīgs get-process Rokturi, Vārds, NPM, PM, SI, VM Un W.S..

Ja vēlaties manipulēt ar rezultātu Lai strādātu ar šo cmdlet (nevis monitorā parādītu garu aktīvo procesu sarakstu), jums jāatrod cita komanda, kas tiek izmantota kā ievade. Sistēma. Diagnostika. Process. Lai atrastu vajadzīgo cmdlet, vēlreiz izmantojiet PowerShell:

get-command -Parametertype Sistēma.Diagnostika.Process

Šī cmdlet nodrošina apstrādājamo cmdlet sarakstu Sistēma. Diagnostika. Process.

Ir zināms, ka dažas cmdlet pieņem gandrīz jebkura veida datus. Galvenais no tiem ir . Šī cmdlet pa vienam iziet cauri katram objektam, kas nosūtīts caur cauruli, un piemēro tam norādītos atlases kritērijus. Ir īpašs marķieris, ko sauc $_ , kas ļauj izmantot katru caurulē esošo vienumu pa vienam.

Pieņemsim, ka vēlaties iegūt sarakstu ar visiem datorā palaistajiem procesiem ar nosaukumu "svchost", tas ir, vēlaties saskaņot rekvizītu Vārds process svchost. Izmantojiet komandu:

get-process | kur-objekts ($_.Name -eq “svchost”)

Cmdlet skatās uz katru objektu Sistēma. Diagnostika. Process, salīdzina .Vārdsšis objekts ar "svchost"; ja ir sērkociņi, tie tiek parādīti monitorā. Apskatiet ekrānuzņēmumu.

7. darbība. Analizējiet noderīgās PowerShell komandas

Tagad jūs jau zināt pietiekami daudz, lai varētu sabojāt datoru, tāpēc esiet piesardzīgs. Apskatīsim, piemēram, bieži pieprasītās PowerShell komandas.

Šīs komandas darbojas tikai operētājsistēmā Windows 10 un tikai tad, ja palaižat PowerShell kā administrators. Tie ir paredzēti, lai atkārtoti instalētu iepriekš instalētās Windows 10 lietojumprogrammas, un tie var būt noderīgi tiem, kuri vispirms atinstalēja šīs programmas un pēc tam nolēma tās atgriezt. Komandas izskatās šādi:

Get-AppXPackage | Foreach (Add-AppxPackage - DisableDevelopmentMode - Reģistrējieties “$($_.InstallLocation)\AppXManifest.xml”)

Ja palaižat šo komandu, ignorējiet sarkanos brīdinājumus un, kad komanda ir pabeigta, restartējiet datoru; visas operētājsistēmā Windows 10 iepriekš instalētās programmas parādīsies savās vietās.

Lūk, kā šī komanda darbojas. Get-AppXPackage pārbauda visas lietojumprogrammu pakotnes lietotāja profilā. Pat ja lietojumprogrammu izdzēšat, tā paliek lietotāja profilu sarakstā.

Cmdlet Get-AppXPackage atgriež objektu Tipa nosaukums Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, kas ietver pilnībā kvalificētu lietojumprogrammas pakotnes nosaukumu un atbilstošā XML manifesta faila atrašanās vietu. Ja palaižat cmdlet get-appxpackage, jūs redzēsit garu lietojumprogrammu pakotņu sarakstu. Ekrānuzņēmumā ir redzams Xbox lietotnes apraksts.

Cmdlet Katram cilpas caur katru objektu AppXPackage nosūtot tos uz cmdlet Add-AppxPackage. Saskaņā ar iegūt palīdzību Priekš Add-AppxPackage, ir divi atslēgas slēdži:

  • Slēdzis -Reģistrēties izmanto esošo lietojumprogrammu pakotņu instalāciju reģistrēšanai, varat iestatīt parametrus DisableDevelopmentMode Un Reģistrēties
  • Slēdzis -DisableDevelopmentMode liek operētājsistēmai Windows atkārtoti reģistrēt esošu lietojumprogrammu pakotni, kas ir atspējota, nereģistrēta vai bojāta.

Līnija " $($_.InstallLocation)\AppXManifest.x ml" apraksta, kur atrodas fails manifest.xml. Ja paskatās uz failiem AppXManifest.xml, jūs redzēsit sarežģītu sarakstu ar lietojumprogrammu ID, izpildāmajiem failiem un lielu skaitu vizuālo elementu, kas saistīti ar lietojumprogrammu.

Pēc atsāknēšanas visas pievienotās lietojumprogrammu pakotnes tiek lejupielādētas un instalētas no Windows veikala.

Pēc pārejas uz operētājsistēmu Windows 10 daudzi lietotāji Explorer saskarnē pamanīja pogu “Palaist PowerShell”. Šajā sakarā internetā parādījās daudzi jautājumi, lietotāji interesējās par to, kāda veida Windows PowerShell programma tā ir un kam tā nepieciešama. Ja arī jūs interesē šis jautājums, tad šim materiālam vajadzētu jums palīdzēt.

Windows PowerShell ir skriptu valoda un komandrindas programma šo skriptu izpildei. Šī valoda tika izlaista 2006. gadā kā daļa no otrās Windows XP servisa pakotnes, un kopš tā laika PowerShell ir daļa no visām Microsoft operētājsistēmām. 2008. gadā parādījās šīs valodas otrā versija, un, sākot ar Windows 7, tiek izmantota šī versija. Failiem ar Windows PowerShell skriptiem ir PS1 paplašinājums, un tos var palaist kā pazīstamus BAT un CMD failus.

Windows PowerShell ir skriptu valoda, kas galvenokārt paredzēta Microsoft biznesa klientiem, kuriem nepieciešami jaudīgi rīki, lai automatizētu Windows serveru un datoru pārvaldības uzdevumus. Par pamatu šai valodai tika izmantota .NET platforma, ko Microsoft izstrādāja kopš 2002. gada.

Windows PowerShell ļauj automatizēt dažādus uzdevumus. Ar to jūs varat pārvaldīt failus, pakalpojumus, procesus, kontus un iestatījumus. PowerShell valoda saprot daudzas komandas, kas atrodamas parastajā Windows komandu uzvednē (CMD), taču tai ir arī sava valoda, kas sastāv no savām komandām, kuras sauc par cmdlet.

Cmdlets (angļu valodā cmdlet) tiek veidotas saskaņā ar darbības vārda-lietvārda likumu, piemēram, Get-Help. Windows PowerShell pamatus varat apgūt, izmantojot palīdzību (cmdlet Get-Help). Lai iegūtu vispārīgu informāciju, vienkārši ievadiet komandu “Get-Help”; lai saņemtu palīdzību par konkrētu cmdlet, ievadiet “Get-Help Cmdlet-name”. Piemēram, ja ievadīsim komandu “Get-Help Get-Process”, mēs saņemsim palīdzību par Get-Process cmdlet.

Kā palaist programmu Windows PowerShell

Programmu Windows PowerShell var palaist dažādos veidos. Vienkāršākā iespēja ir vienkārši izmantot meklēšanu izvēlnē Sākt. Lai to izdarītu, atveriet izvēlni Sākt, ievadiet meklēšanas vaicājumu “Windows PowerShell” un pēc tam atveriet atrasto programmu.

Varat arī izmantot Windows taustiņu kombināciju-R un ievadīt komandu “powershell”.

Operētājsistēmā Windows 10 PowerShell var palaist no jebkuras mapes. Lai to izdarītu, Explorer augšējā kreisajā stūrī noklikšķiniet uz pogas "Fails" un atlasiet "Palaist Windows PowerShell".

Kā lietot Windows PowerShell

Kā jau teicām, izmantojot programmu PowerShell, jūs varat automatizēt daudzus ikdienas uzdevumus operētājsistēmā Windows. Kā piemēru mēs parādīsim dažas šī rīka iespējas, lai skaidri parādītu, kā to izmantot.

Atkritnes iztukšošana. Atkritnes iztīrīšanai ir īpaša cmdlet ar nosaukumu “Clear-RecycleBin”. Šī cmdlet ir noderīga, rakstot skriptus datoru apkalpošanai. Palaižot cmdlet, ir jānorāda disks, kurā vēlaties iztukšot atkritni. Piemērs:

Clear-RecycleBin c:

Tālāk esošajā ekrānuzņēmumā ir parādīts, kā šī cmdlet tiek izpildīta. Pēc komandas “Clear-RecycleBin c:” ievadīšanas tiek parādīts apstiprinājuma pieprasījums. Lai turpinātu cmdlet izpildi, ievadiet burtu “Y” un nospiediet taustiņu Enter.

Ja cmdlet “Clear-RecycleBin c:” pievienosit “-Force”, atkritne tiks iztīrīta, neprasot apstiprinājumu. Ekrānuzņēmums zemāk.

Failu arhivēšana. Failu arhivēšanai un izpakošanai tiek nodrošinātas cmdlet “Saspiest-arhīvs” un “Izvērst-arhīvs”. Piemēram, lai mapi “C:\test\” arhivētu arhīvā “C:\archive\test2.zip”, ir jāpalaiž šāda cmdlet:

Saspiest-arhīvs -LiteralPath C:\test\ -Galamērķa ceļš C:\archive\test2.zip

Iepriekš redzamās komandas izpildes rezultātā mapē “C:\archive\” parādīsies fails “test2.zip”, kurā tiks arhivēts mapes “C:\test\” saturs.

Windows PowerShell cmdlet saraksts

Windows PowerShell ir ļoti daudz dažādu cmdlet, un tos visus nevarēs aprakstīt vienā rakstā. Tāpēc mēs iesakām iepazīties ar populārākajiem no tiem:

  • Get-Help – palīdzības saņemšana;
  • Update-Help – palīdz atjaunināt;
  • Get-Command - meklēt cmdlet;
  • Get-Alias — meklējiet cmdlet aizstājvārdus;
  • Get-PSDrive – skatiet pievienotos diskus;
  • Get-Member – apskatiet objekta īpašības un metodes;
  • Get-WindowsFeature — skatiet informāciju par pieejamajām servera lomām un līdzekļiem;
  • Install-WindowsFeature (analogs Add-WindowsFeature) - instalē lomas vai komponentus vēlamajā serverī;
  • Uninstall-WindowsFeature (analogs Remove-WindowsFeature) – noņem servera lomas vai komponentus;
  • Get-History – šajā sesijā ievadīto komandu vēstures apskate;
  • Get-Variable – apskatīt mainīgo un to vērtību sarakstu;
  • New-Variable – jauna mainīgā izveide;
  • Set-Variable – mainīgā vērtības iestatīšana;
  • Clear-Variable – mainīgā vērtības dzēšana;
  • Remove-Variable – mainīgā un tā vērtības noņemšana;
  • Format-List – komandas rezultāta skatīšana rekvizītu saraksta veidā, kur katrā rindā ir atsevišķs rekvizīts;
  • Format-Table — skatīt komandas rezultātu tabulas formātā;
  • Format-Wide - skatiet komandas rezultātu plašas tabulas veidā, kurā katram objektam tiek parādīts tikai viens rekvizīts;
  • Format-Custom – skatīt komandas rezultātu, izmantojot pielāgotu skatu;
  • Export-Csv – eksportēt datus CSV formātā;
  • Import-Csv – importēt datus no CSV faila;
  • Export-Clixml - eksportēt datus XML formātā;

Pilnu Windows PowerShell cmdlet sarakstu var iegūt, palaižot cmdlet Get-Command -CommandType.

Lietotāji, kuri apgūst operētājsistēmas Windows 8.1 vai Windows 7 sākuma ekrānu, bieži palaiž lietojumprogrammas, kas viņiem ir pilnīgi svešas. Viens no tiem ir Power Shell, Microsoft produkts.

Kas ir Power Shell

Ja kāds smagi strādāja, lai uzrakstītu preces kodu, tas nozīmē, ka tas ir kādam vajadzīgs, kādam paredzēts. Visticamāk, parasts lietotājs no šīs programmatūras klātbūtnes varēs gūt minimālu labumu, taču sistēmas administratoram šī programma ir lielisks palīgs.

Power Shell ir moderns, standartizēts komandrindas apvalks, kas nodrošina piekļuvi elastīgākai Windows datora pārvaldībai. Būtībā tā pati komandrinda, taču iespējas ir daudz plašākas.

Administrēšanas rīka funkcionalitāte

Programmatūras funkcionalitāte ir iespaidīga. Ar to jūs varat pārvaldīt pakalpojumus, kontus, failu krātuvi, procesus un pat serverus. Apvalks nodrošina piekļuvi darbam ar COM, NET, XML objektiem, ārējo komandu palaišanai, savu skriptu izveidei un izpildei un citu darbību veikšanai.

Power Shell ir sava komandu kopa, tāpat kā CMD, ko sauc par cmdlet. Valodas sintakse, cmdlet definīcijas un to parametri šajā programmā atšķiras no parastās, lai gan utilīta spēj atpazīt daudzas CMD komandas.

Labi saprotamās Power Shell komandas, piemēram, cd, dir, copy un tamlīdzīgi šajā apvalkā, ir aizstājvārdi vai, kā saka, aizstājvārdi, kas kalpo vienkārši ērtības labad. Piemērs: Lietotāja ievadītā dir komanda, lai skatītu failu sistēmu, atbilst cmdlet Get-ChildItem.

Kā saprast programmu

Personai, kas nepārzina komandrindas pamatus, būs grūti saprast darba ar utilītu sarežģītību. Diemžēl par šo tēmu ir maz vienkāršu un saprotamu uzziņu grāmatu.

Pieņemot lēmumu sākt apgūt Power Shell skriptu valodu, vēlams izlasīt Frenka Koha izveidoto rokasgrāmatu vai atsaukties uz pašas programmas palīdzības sistēmu. Pēdējais ir diezgan spēcīgs, un tajā ir daudz konkrētu piemēru. Pamatinformācija šeit būs pieejama apskatei pēc Get-Help cmdlet ievadīšanas.