PowerShell cmdlets. Kas ir Windows PowerShell un kas tas ir nepieciešams, lai to, kas

2014. gada 5. novembris plkst. 20:07

Jump sākt PowerShell (I daļa)

  • Sistēmas administrēšana, \\ t
  • PowerShell.
  • Apmācība

Tikai automatizācija. Tikai PowerShell.

Priekšvārds

Kā hobijs un laika klātbūtnē es mācu studentus Ukit (bijušais Maskavas valsts koledža) informācijas tehnoloģijas). Uz Šis brīdis Man ir maz laika, lai dotu tai studentu grupu, bet tas ir pietiekami, lai sagatavotu amatu šeit uz Habré.

Es strādāju kā sistēmas administrators lielā ne IT uzņēmumā ar lielu IT resursu virkni. Pēc darbības rakstura, šķiet, izlemj liels skaits Lietotāju pakalpojumu uzdevumi.

Ar PowerShell valodu es iepazīstos ar aptuveni diviem gadiem, bet tas aizņēma viņu tuvu tikai gadu vēlāk, nesaprotot sākotnējās iespējas sākumā. Pirmkārt, es koncentrēsies uz tiem, kas vēlas sākt strādāt ar PowerShell, bet līdz brīdim, kad viņš uzticas viņam vai nezina, kā tuvoties šim brīnumam.

Uzmanību: PowerShell ir atkarību.

Ieviešana

Wikipedia stāsta mums:
Windows PowerShell - paplašināms automatizācijas līdzeklis no Microsoft.Sastāv no apvalka ar komandrindas interfeisu un saistītiem skriptiem.

PowerShell izskatās kā komandrinda:


powerShell.exe.

Vai pieteikuma veidā:


powerShell_ise.exe.

PowerShell_ise.exe. To sauc par integrētu scenāriju vidi - Windows PowerShell ISE. Ļauj strādāt ar valodu ērtā sintakses iezīmētā vidē, komandu konstruktorā, autofill komandās, nospiežot cilni un citus piekariņus. Ideāli piemērots skriptu izveidei un testēšanai.

Vides uzsākšanai powerShell.exe. vai powerShell_ise.exe. Tas ir pietiekami, lai rindā izsauktu līdzīgu nosaukumu.

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

Skripts nevarēs palaist dubultu LKM. Tas tiek darīts tieši tādā secībā, lai kaitētu sistēmas nejauši skriptu.

Lai sāktu, noklikšķinot uz PCM, izvēlieties "Run izmantojot PowerShell":

Papildus tam, ka ir ierobežots LKM skriptu uzsākšanas, pēc noklusējuma, scenāriju izpilde sistēmā ir aizliegta, atkal, saskaņā ar iepriekš aprakstīto iemeslu - nekaitē sistēmai. Lai pārbaudītu pašreizējo izpildes politiku, mēs izpildīsim komandu:

Get-izpildePolicy

Mēs saņemam vienu no šādām vērtībām. Ar lielu varbūtību, ja tā būtu pirmā palaišana, mēs saņemam Ierobežots.

  • Ierobežots - nevar uzsākt skriptus;
  • Allssigned. - Var uzsākt tikai uzticamajam izdevējam parakstītos scenārijus. Pirms veicat uzticamo izdevēja scenāriju, tiks pieprasīts apstiprinājums;
  • Remotesigned. - atļauts veikt skriptus un lejupielādētos scenārijus, ko parakstījis uzticamais izdevējs;
  • Neierobežots - Nav ierobežojumu, visus skriptus var uzsākt.

Lai izpildītu un pārbaudītu politikas Remotesigned. Komandējot:

Set-izpildespolicy remotesigned

Darbs

Cmll
  • Komandas sauc par PowerShell komandām, kurās ir izveidotas dažādas funkcijas;
  • Tases var būt gan sistēma, gan pēc pasūtījuma, ko rada kāds;
  • Clasles tiek minētas Glagol-lietvārda noteikumā, kas vienkāršo to iegaumēšanu;
  • Coldcles produkcijas rezultāti ir objektu vai to kolekciju veidā;
  • Cmdlets var gan saņemt datus pārstrādei un pārsūtīt datus par cauruļvadiem (par konveijeriem vēlāk);
  • Tases nav jutīgi pret reģistru (varat rakstīt un saņemt procesu un iegūt procesu un saņemt procesu);
  • Pēc cmdlets, tas nav nepieciešams likt " ; ", izņemot gadījumus, kad vienā rindā veicam vairākas cmdlets (iegūt process; saņemt pakalpojumus).

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

Un mēs iegūstam rezultātu:

Mēģiniet veikt sevi:

Get-Service # Lai iegūtu datoru pakalpojumu statusu

Get-Content C: Windows \\ System32 \\ draiveri ut Hosts #, lai iegūtu faila saturu. Iebildums Šis gadījums, Hosts fails

Nav nepieciešams zināt visas cmdlets. Iegūt palīdzību. Saglabājiet situāciju.
Informācija par visām pieejamajām cmdles var iegūt, ievadot šādu komandu:

Saņemt-help -category cmdlet

Ja mēs izmantojam PowerShell ISE, mēs atvieglojam attīstības procesu.
Vienkārši ievadiet domuzīmi zīmi " - "Pēc tam, kad tika ieviesta Clarket, un mēs saņemsim visu iespējamās iespējas Parametri un to veidi:

Mēģiniet izpildīt:

Get-Service -Name p *

Ja, tomēr, mēs aizmirsīsim, kādas īpašības ir no viena vai cita cēlo, mēs braucam pa to cauri Dalībnieks.:

Get-Process | Saņemt-loceklis # zīme "|" sauc par konveijeri. Par viņu zemāk.

Nav pietiekami daudz informācijas? Vērsties pie palīdzības ar parametru -Examples.:

Saņemt-palīdzēt iegūt procesu -Examples

Mēs saņemam aprakstu Procesu.Jā, un ar lietošanas piemēriem:

  • Claslles var būt saīsinātie vārdi - pseidonīmi. Piemēram, tā vietā Iegūt palīdzību. Jūs varat izmantot vienkāršu Palīdzēt.. Visiem samazinājumiem veiciet Saņemt-alias..

Mēģiniet izpildīt:

Start-Process Notepad

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

Sāciet notepad.

Un tagad pārtrauciet procesu:

Stop-Process -Name Notepad

SPPS -Name notepad.

Nedaudz agrāk mēs teicām, ka klociņi tiek saukti par glagol-lietvārdu noteikumu. Precizējiet, ka vārdam nav jābūt Gūt.. Bez tam, ko mēs varam saņemt, mēs varam jautāt . (Atcerieties, iestatiet izpildespolicy), palaišana Sākt.apstāšanās Apstāties., izeja Ārā.Radīt Jauns un daudzi citi. Cmdlet nosaukums nav ierobežots ar kaut ko, un, kad mēs izveidosim savu ar jums, mēs varam to saukt par savu sirdi.

Mēģināsim izpildīt failu:

"Sveiki, Hub!" | Out-File C: test.txt & c: test.txt

Starp citu, to var rakstīt tādā pašā veidā kā:

"Sveiki, Hub!" \u003e C: test.txt & c: test.txt

Ar noslēpumainiem burtiem un pastāvīgi mirgojošu kursoru? Tā ir komandrinda. Lietderība ir klāt visās windows versijas. Ar to ir ērti pārvaldīt sistēmu, zvanu programmas, atrast failus. Bet profesionālai darbam CMD nav pietiekami funkcionāls. Tāpēc Microsoft nolēma noteikt visas konsoles mīnusi un izlaida produktu zem ar Windows nosaukumu PowerShell. Kas tas ir un kā izmantot attīstību, lasiet tālāk.

Kas ir PowerShell no Windows

PowerShell ir interaktīva objektu orientēta komandu vide ar skriptu valodas funkcijām. PowerShell oficiālā atbrīvošana no Microsoft notika 2006. gada 14. novembrī. Izstrādātāji apvienoja parastās CLI komandrindas saskarni ar platformu vietējo un attālo tīklu pārvaldībai .NET Framework.

Ņemiet vērā, ka Windows PowerShell nav vienkāršs darba apvalks. Microsoft izdevās izveidot spēcīgu, paplašināmu un vienlaikus elastīgu kontroles rīku, kas spēj funkcionēt kā izvēlētu scenāriju valodu.

2016. gada 18. augustā Microsoft paziņoja, ka Windows PowerShell tagad ir pieejams atvērtā koda produkts, kas pieejams katram izstrādātājam. Arī uzņēmums pievienoja atbalstu Unix orientētām operētājsistēmām, tostarp Linux un OS X sadalījumiem.

Kā pārvaldīt Powerhell

Cmdlets tiek izmantoti, lai veiktu uzdevumus vai cmdlets. Tās ir nelielas komandas, kas ierakstītas izpildāmu failu veidā. Versijā 2.0 PowerShell Windows XP un Server 2008 R2, veidotājiem ir pievienoti moduļi, kas ļauj jums pārvaldīt liels daudzums Resursi, tostarp Active Directory un Exchange Server.

Tagad PowerShell automatizācijas rīkā vairāk nekā 130 moduļi un komandas ir iestrādātas. Tie nodrošina piekļuvi failiem, tīkliem, reģistram, administrācijai un citām sistēmas funkcijām:

  • iestatīšanas laiks un datumi;
  • strādāt ar mapēm un atsevišķiem failiem;
  • saņemt palīdzību un papildu informāciju;
  • importa un datu glabāšana;
  • skriptu izveides metodes;
  • atsevišķi skripti un lietojumprogrammas;
  • pārbaudiet drošības sistēmu un darbu ar deskriptoriem;
  • sistēmas administrēšana;
  • pārbaudiet diska vietu.

Ņemot vērā, ka Windows PowerShell ir paplašināma vide, lietotāji var izveidot savas komandas, rakstīt "autora" moduļus, izmantojot valodu .NET.

Darba sākšana ar PowerShell

2016. gadā tika izlaista pēdējā beta versija 6.0 PowerShell. Windows 7, 8 un 10 lietderība ir iebūvēta. Ja izmantojat citu operētājsistēmu, lietojumprogrammai būs lejupielādēt. Lai to izdarītu, dodieties uz MicroFoft.com oficiālo vietni un meklēšanas logā, ievadiet Windows PowerShell instalēšanu. Sistēma automātiski pārveidosies uz lapu ar jaunākajiem produktu izlaidumiem. Izvēlieties savu OS no saraksta un noklikšķiniet uz Lejupielādēt.

Kad fails ir pilnībā ielādēts, atveriet to ar dubultu peles klikšķi. Pēc noklusējuma vide tiks instalēta programfilos PowerShell un izveidojiet īsceļu izvēlnē Sākt. Ja esat Happy Windows lietotājs, noklikšķiniet uz sistēmas ikonas apakšējā kreisajā stūrī un ievadiet PowerShell uz "Atrast programmas un failus". Palaidiet programmu, ievadiet savu pirmo cmdlet un sākt darbu.

Nepieciešamo komandu un instrukciju saraksts PowerShell

Katra cmdlet nosaukums ir attēlots formā "verb-lietvārds" vai "darbības objekts". Mēs piedāvājam sarakstu ar svarīgākajiem cmdlets PowerShell Windows 10 un iepriekšējās versijasSākot ar XP. Tie būs noderīgi pat iesācējiem, kuri tikko uzzinājuši, kā saglabāt teksta dokumentus.

  1. Iegūt palīdzību. Iebūvēts Core Cage Celler. Paredzēti, lai izsauktu sertifikātu un nodrošina noderīga informācija Sintaksē, programmās, viņu iecelšana, citi ķelti. Ja parastajā komandu tulks jūs rakstījāt ipconfig /?, Tad PowerShell jums ir nepieciešams, lai izsauktu Get-Help-Process.
  2. Saturs. Vienkāršo procedūru, lai lasītu failus iesācējiem un sistēmas administratoriem. Ja agrāk bija nepieciešams atvērt rokturi un izlasīt visas dokumenta līnijas, tagad vienkārši dodiet failu cmdlet. Lai to izdarītu, rakstiet c: \\\u003e Get-Content C: \\ ... "Faila nosaukums" konsolē. "Pagarinājums".
  3. Saņemt pakalpojumu. Piekļuve informācijai par datorā instalētajiem pakalpojumiem.
  4. Dalībnieks. Sniedz informāciju par atgriezto cmdlet objektu, ļauj redzēt tās īpašības un metodes.
  5. Saņemt komandu. Meklē cmdlets, atgriež visu informāciju par tiem, ieskaitot datus par funkcijām, skriptiem, lietojumprogrammām un citiem elementiem. Versijā 5.0 PowerShell Windows 10 Get-komandu, versija kolonna ir pievienota, un tagad komandieri parāda vairākas versijas tajā pašā modulī uzreiz.
  6. Stop-\\ start-service. Neaizstājams administratoru palīgs. Cmdlet uzsāk un aptur pakalpojumus dzēstos un vietējos datoros.

Īpaši skriptu simboli

Papildus cmdlets, PowerShell lietderība Windows 7 un vairāk ietver īpašas rakstzīmes, piemēram, $ _ vai (). Lielākais perpleksitāte ikonas izraisa jaunpienācējiem, kuriem nebija gadījumu ar Linux līdzīgu sistēmu vai programmēšanu.

  1. Vertikālā iezīme "|". Šis simbols tiek izmantots programmām ar konveijera datu pārsūtīšanu. Strādājot ar konsoli, tas ietver, kad viņi vēlas norādīt komandu vertikālās iezīmes labajā pusē, lai pieņemtu izlaidi no kreisās komandas. PowerShell, vertikālo funkciju izmanto gandrīz tāds pats mērķis, apvienojot vairākas komandas uzreiz. Piemēram, izveidojiet jaunu lietotājvārdu, pievienojiet to grupai un atiestatiet noklusējuma paroli.
  2. Funkcijas zīme "()". Ļauj efektīvi uzraudzīt scenāriju izpildes procesu. Tāpat kā C-kā programmēšanas valodās, PowerShell funkcija tiek veidota, ievadot vairākus cmdlets cirtaini kronšteinos un ir gatavs sākt nepieciešamo skaitu reižu.
  3. Īpašais simbols $ _. Izmanto, lai rakstītu skriptu blokus, filtrus un procesuālos izteiksmes. $ _ ņem vērā pašreizējā objekta vērtību un nosūta to uz sekojošo. Izmantojot dolāra zīmi, bez zemākas pasvītrojuma, jūs varat apzīmēt vai ievadīt mainīgo: $ var \u003d "Sveiki".

Kas ir Powershell ISE

Iekļauts PowerShell lietderība ir grafisks windows lietojumprogramma PowerShell ISE. Tas ir apvalks vai integrēta vide skriptu rakstīšanai. ISE nodrošina izstrādātājiem milzīgu iespēju klāstu. Ar to jūs varat izveidot, atkļūdot un rediģēt skriptus, atvērt tekstu un XML failus. Sintakses krāsu izcelšana ievērojami atvieglo testēšanu un meklēšanu kodā.

ISE ir daudz ērtāk nekā PowerShell konsole un to var pilnībā aizstāt. Izmantojot vidi, varat kopēt un ievietot lielus kodu fragmentus, ne visu skriptu, bet tās atsevišķās daļas. Atšķirībā no PowerShell, loga lielums ISE ir viegli mainām peles rādītāju, jo, strādājot ar parasto programmu.

Lai izmēģinātu ISE vidi, sākuma izvēlnē ievadiet PowerShell ISE. Ja neizmantojat Windows, bet citu OS, lejupielādējiet un instalējiet izplatīšanu no oficiālās vietnes. Pēc pieteikuma uzsākšanas tiks atvērta trīs daļu logs. Top skripti ir rakstīti apakšējā - PowerShell komandās, un vidū ir rezultāts.

Sāciet iepazīties ar ISE un apakšējā logā, ievadiet Get-Process. Nospiediet cilni vairākas reizes. Blakus cmdlet parādīsies tā parametri, kas mainīsies pēc katras taustiņslēguma. Tas būs jūsu pirmā sesija ar skriptu vidi no Microsoft.

Tāpat tas ļauj veikt parastās komandrindas komandas, lai izveidotu vienu vidi, kurā administratori varētu veikt dažādus uzdevumus vietējās un attālās sistēmās.

Šie administratīvie uzdevumi parasti tiek veikti, izmantojot cmdlets (oriģinālā cmdlets.), kas ir specializētas .NET klases. Lietotājs var tos apvienot skriptos (scenārijos), izmantojot dažādus dizainus, komandrindas komunālos pakalpojumus un atsaucoties uz normālām klasēm .NET, WMI vai COM objektiem. Turklāt jūs varat izmantot dažādus datu noliktavas, piemēram, Windows failu sistēmu vai reģistru, ko nodrošina PowerShell, izmantojot piegādātājus (angļu valodā. pakalpojumu sniedzēji).

Windows PowerShell nodrošina arī iegulšanas mehānismu, pateicoties kuriem PowerShell izpildāmās sastāvdaļas var tikt iebūvētas citās lietojumprogrammās. Šīs lietojumprogrammas var izmantot PowerShell funkcionalitāti, lai īstenotu dažādas operācijas, tostarp sniedzot grafiskais interfeiss. Šī pieeja tiek piemērota Microsoft Exchange Server 2007, lai īstenotu kontroles funkcionalitāti powerShell cmdles un grafisko kontroles komunālo pakalpojumu veidā PowerShell čaulas, kas izraisa nepieciešamās cmdlets. Tādējādi grafiskais vadības interfeiss ir pār starpproduktu slāni - PowerShell. Citi microsoft lietojumprogrammas, Ieskaitot Microsoft SQL Server 2008, System Center Operations Manager un System Center datu aizsardzības pārvaldnieks arī nodrošina piekļuvi viņu pārvaldības saskarnēm, izmantojot PowerShell cmdlets. Nākotnē visi Microsoft servera lietojumprogrammas uz windows platforma vienā vai otrā veidā izmantos PowerShell.

Windows PowerShell ietver savu paplašināmo palīdzību, pieejama (ieskaitot no komandrindas), izmantojot Get-Help cmdlet.

Aizvēsture

Klejot

Scenāriji

PowerShell ietver scenāriju valodu ar dinamiskiem veidiem, uz kuriem jūs varat ieviest sarežģītas darbības, izmantojot cmdlets. Skriptu valoda atbalsta mainīgos lielumus, funkcijas, filiāļu dizainu (ja-tad-citus) ciklus (bet, par un foreach), strukturētu kļūdu apstrādi un daudzas citas funkcijas, tostarp C.NET integrāciju. Mainīgie lielumi PowerShell apzīmē ar $ prefiksu pirms nosaukuma; Tiem var piešķirt jebkuru nozīmi, tostarp cmdlets izņemšanu. Lai gan pati valoda nav stingri ievadīta, mainīgo iekšpusē tiek saglabāti ar to veidiem, kas var būt pamatveidi (ENG. primitīvie veidi.) vai objekti. Rindas var pievienot vienā citātos vai divkāršu citēs: izmantojot dubultās pēdiņas, virknē esošie mainīgie tiks aizstāti ar to vērtībām. Saskaņā ar mainīgo lielumu sintaksi, ja ceļš uz failu novieto cirtaini kronšteinos ar iepriekšēju dolāra zīmi (tas ir, $ (C: foo.txt)), tad tas būs saite uz saturu fails. Viss, kas tiks piešķirts šādam mainīgajam, tiks ierakstīts failā, un, gluži pretēji, faila saturs tiks izsniegts, piekļūstot tās saturam.

Jūs varat apstrādāt objekta īpašības un metodes, izmantojot punktu (.), Tāpat kā sintaksē. PowerShell nodrošina īpašus mainīgos lielumus, piemēram, $ args, kas satur masīvu visu nenosaukts komandrindas argumentus, pārraidītās funkcijas vai $ _, atsaucoties uz pašreizējo objektu konveijera un citās struktūrās. PowerShell satur arī masīvus un asociācijas blokus. Turklāt Powershell automātiski aprēķina aritmētiskās izteiksmes, kas ievadītas komandrindā, un saprot populāru Akrigamentu, piemēram, GB (GB), MB (MB) un KB (CB).

Jo PowerShell, jūs varat izveidot savas funkcijas, kas pieņem parametrus, izmantojot funkciju funkciju. Populārākā problēma daudziem iesācējiem ir tāda, ka funkcijas pieņem argumentus, kas atdalīti ar nav komatiem, bet telpas (piemēram, komandrindas komunālo pakalpojumu vai cmdlets):

  1. : Izraisa funkciju ar diviem argumentiem.

Šos argumentus var saistīt ar funkcijas deklarācijā norādītajiem parametriem. Tāpat viņi var arī sazināties ar viņiem, izmantojot masīvu $ args.

  1. (, ): Izraisa funkciju ar vienu argumentu, kas ir divu elementu masīvs.

PowerShell ļauj jums zvanīt uz jebkuru .NET metodes, noslēdzot to kosmosa nosaukumus kvadrātiekavās (), un pēc tam izmantojot pāris krāsas (: :), lai norādītu statisko metodi. Piemēram :: Rakstā ("PowerShell"). Objekti tiek izveidoti, izmantojot jauno objektu cmdlet, pievienojiet tām jaunas īpašības, izmantojot pievienoto cmdlet.

PowerShell kļūdu apstrādei nodrošina mehānismu, kas balstīts uz tiešsaistē. Kļūdas gadījumā objekti tiek izsniegti, kas satur kļūdas informāciju (izņēmuma objektu), kas ir aizturēts atslēgvārds Slazds. Tomēr uzvedība, kad notiek kļūdas konfigurētas. Tātad, jūs varat konfigurēt PowerShell tā, ka gadījumā, ja kļūda, tas klusi turpināja izpildīt bez pārtverot kļūdu. Otrā PowerShell versija arī pievienoja izmēģinājuma nozveju beidzot dizainu.

Scenāriji, kas rakstīti PowerShell, var saglabāt starp sesijām failos.PS1. Tad jūs varat izmantot visu skriptu vai atsevišķas funkcijas no tā. Skripti un funkcijas tiek izmantotas, piemēram, cmdtam, tas ir, tie var būt komandas konveijera, viņi var pārraidīt parametrus. Objekti var tikt nosūtīti starp scenārijiem, funkcijām un cmdlets konveijera. Tomēr pēc noklusējuma ir aizliegta PowerShell skriptu izpilde, un tas ir jāiespējo, izmantojot komplektu izpildesPolicy cmdlet. PowerShell skriptus var parakstīt ar digitālo parakstu, lai pārbaudītu to integritāti.

PowerShell 2.0

Microsoft ir izlaidusi PowerShell 2.0 kā daļu no Windows 7 un Windows Server 2008 R2. Windows PowerShell 2.0 ir iepriekš iestatīta šajās sistēmās. Izņēmums ir režīms windows iekārtas Server 2008 R2 Core režīmā, kur PowerShell 2.0 var konfigurēt manuāli. Vecākām platformām tas ir pieejams kā daļa no Windows pārvaldības sistēmas. PowerShell 2.0 padara dažas izmaiņas skriptu valodā un API iekļaušanai, papildus jaunajam 240 cmdth.

Nepilnīga jauno funkciju saraksts, kas iekļautas PowerShell 2.0:

  • PowerShell tālredzība. WS-Management izmantošana PowerShell 2.0 ļauj zvanīt uz skriptiem un cmdlets uz attāliem mašīnām (ieskaitot vairākus vienlaicīgi), uzrauga to izpildes statusu un iegūt rezultātus objektu veidā (caur serialization - deterialization). Ir iespējams izveidot arī interaktīvas sesijas un sesijas ar ierobežotu funkcionalitāti.
  • Fona darbs. Spēja izsaukt komandu asinhronu secību. Darbus var darboties vietējā mašīnā vai vairākās tālvadības iekārtās. Darbi nevar izmantot interaktīvas cmdlets.
  • Darījumi. Ļaujiet attīstītājiem cmdlets un piegādātājiem īstenot darījumu operācijas. PowerShell 2.0 ietver darījumu inicializāciju, apstiprināšanu un atcelšanu un spēju pārvaldīt darījumus un izmantot tos CMDT un piegādātājos.
  • Papildu funkcijas. Spēja attīstīt pilnvērtīgas cmdlets, izmantojot tikai PowerShell pati.
  • Pakāpeniski. Ļauj lietotājam uzraudzīt sākuma uzraudzību (), procesu () un endprocessing () funkcijas, zvanot cmdlet.
  • Moduļi. Ļaujiet scenāriju autoriem un administratoriem organizēt Powerhell skriptus un ievietot tos pašpietiekamos moduļos. Kods no moduļa tiek veikta savā, neatkarīgā kontekstā un neietekmē vidi ārpus moduļa. Skripta izmantošana, moduļi var deklarēt ierobežotu vidi. Moduļi var saturēt publiskas un privātas funkcijas un mainīgos lielumus.
  • Datu valoda. PowerShell valodas apakškopa, kas ļauj atdalīt datu definīcijas no izpildāmā scenāriju koda un ļauj ievietot lokalizētas virknes uz skriptu izpildes laikā.
  • Atkļūdošanas skripti. Spēja instalēt pārtraukumus (ENG. pārtraukumi.) Powerhell skripti vai funkcijas. Pārtraukšanas punktus var uzstādīt uz virknēm, kolonnām, komandām vai lasīt darbībām un / vai ierakstīšanas mainīgajiem. Ir cmdlets uzstādīšanai un kontrolei pārtraukuma punktu scenārijos.
  • Notikums. Šī funkcija ļauj uzklausīt, novirzīt un veikt darbības, kad notiek vadības vai sistēmas notikumi. Pateicoties pasākumam, PowerShell uzņēmēja var paziņot par izmaiņām pārvaldīto objektu statusā. Ļauj arī scenārijiem parakstīties uz objektu, psevi- un wmievents un apstrādāt tos sinhroni un asinhroni.
  • Windows PowerShell integrēta skriptu vide (ISE). PowerShell 2.0 ietver grafisko apvalku valodā, kurā ir iekļauts iebūvētais atkļūdotājs, sintakses apgaismojums, komandu automatizācija. Shell ļauj jums vadīt vairākas neatkarīgas PowerShell konsoles ar pilnīgu atbalstu Unicode saskarnē ar grāmatzīmēm. Pateicoties tālvadības izpildes atbalstam, dažas konsoles var veikt citos datoros. Turklāt ISE ļauj jums veikt piešķirto daļu no scenārijiem, satur iebūvētu redaktoru un ļauj jums paplašināt un papildināt savu interfeisu, izmantojot PowerShell.
  • Bits pārskaitījums - iebūvēts atbalsts failu pārsūtīšanai tīklā ar prioritāšu noteikšanu, multithreading, atsākšanu un asinhrono darbu, pamatojoties uz fona viedo pārvedumu pakalpojumu tehnoloģiju.
  • Daudzi jauni cmdlets, tostarp, piemēram, out-Gridview, kas ļauj parādīt konveijera rezultātus grafiskā tabulā (pamatojoties uz WPF), ar šķirošanas un tūlītējām meklēšanas iespējām.
  • Jauni operatori -Plit, -join un aizvietošanas operators (@).
  • Apstrādes kļūdas ar izmēģinājuma - beidzot. Atšķirībā no citiem
  • Bloķēt komentārus. PowerShell 2.0 atbalsta bloku komentārus (plus jau esošās rindas #), izmantojot<# и #> kā ierobežotāji.
  • Jaunās API pievienoja dažādas iespējas, sākot no lielākas kontroles pār PowerShell parsētāju uz spēju radīt ierobežotas sesijas (angļu valodā. ierobežota Runspace.) Kurā varat veikt tikai ierobežotu instrukciju kopumu un PowerShell komandas.

Carplets salīdzinājums ar līdzīgām komandām

Nākamajā tabulā ir ar PowerShell piegādāto cmdlets paraugu ar maksimālajām līdzīgām komandām no citām plaši pazīstamām komandrindas čaulām.

Jāatzīmē, ka šī tabula ir dota virspusējai iepazīšanai, tas neattiecas uz visām attēloto čaumalu iezīmēm.

Windows PowerShell
(Cmdlet)
Windows PowerShell
(Alias)
cmd.exe / command.com.
(MS-DOS, Windows, OS / 2, uc)
Basks
(Unix, BSD, Linux, Mac OS X, uc)
Apraksts
Atrašanās vieta gL, PWD. pwd. Parāda pašreizējo darba direktoriju
Atrašanās vieta sL, CD, chdir , Chdir Maina pašreizējo katalogu
Skaidrs uzņēmējas. cLS, skaidrs cLS. skaidrs Notīra ekrānu
Kopēšanas objekts. pCI, kopija, KP kopēt. Kopē vienu vai vairākus failus vai katalogus (PowerShell varat arī kopēt citu datu sniedzēju objektus)
Iegūt palīdzību. palīdzība, cilvēks. palīdzēt. cilvēks. Komandu palīdzība
Noņemiet vienumu. ri, del, dzēst, rmdir, rd, rm del, dzēst, rmdir, , rmdir Dzēš failu / direktoriju (vai citu PowerShell datu sniedzēju vienumu).
Pārdēvēt objektu. rni, ren. ren, pārdēvēt. Pārdēvēt failu / direktoriju
Pārvietošanās objektu. mi, pārvietoties, mv pārvietot. Pārvieto failu / direktoriju uz jaunu atrašanās vietu
Bērni. gCI, dir, Ls dir. Parāda visus failus / katalogus pašreizējā direktorijā
Rakstīšanas produkcija atbalss, rakstiet. atbalss. atbalss. Parāda virknes, mainīgie standarta izejas
Pop-atrašanās vieta popda. popda. popda. Maina pašreizējo direktoriju uz vienu, kas pēdējo reizi novietots uz kaudzes
Push-atrašanās vieta pushd. pushd. pushd. Novieto pašreizējo direktoriju uz kaudzes
Set-mainīgais. sv, komplekts. . . Mainīgā lieluma vērtības iestatīšana
Saturs gC, tips, kaķis veids kaķis. Saņem faila saturu
Izvēlieties-virkne. atrast, Findstr. grep. Parāda virknes, kas piemērotas zem stāvokļa
Procesu. gPS, PS t saraksts, darba saraksts. Parāda visus darbības procesus
Stop-process. sppus, nogalināt nogalināt, taskkill nogalināt Aptur braukšanas procesu
Tee-objekts. tee. n / A. tee. Nosūta ievades datus uz failu vai mainīgo, tad pārraida tos tālāk ar konveijera

Skatīt arī

  • PowerShell ISE.

Piezīmes

Literatūra

  • Popov a.v. Ievads Windows PowerShell. - Sanktpēterburga. : Bhv-Petersburg, 2009. - P. 464. - ISBN 978-5-9775-0283-2

Saites

  • Windows PowerShell 1.0 instalācijas paketes lejupielādes centrs Windows Vista
  • Ziņojums par PowerShell iespējām un skriptu rakstīšanas pamatiem
  • Windows pārvaldības sistēma (ieskaitot PowerShell 2.0, WinRM 2.0 un biti 4.0) Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008
  • Blog "PowerShell un citi skripti" (RUS.)
  • (rus.)
  • "PowerShell emuārs un ne tikai" (RUS).
  • Bezmaksas krievu grāmata o PowerShell (RUS.)
  • Otrā bezmaksas angļu grāmata par PowerShell (angļu valodā)
  • Windows PowerShell Web mezgls (angļu valodā)
  • PowerShell kapteinis un nākotnes administrēšana (RUS.)

Windows PowerShell ir viens no svarīgākajiem sistēmas sistēmas instrumentiem windows administrators. PowerShell ir spēcīgs instruments, kas nevajadzētu atstāt novārtā. Šis raksta mērķis ir nodrošināt pamata darba prasmes ar Windows PowerShell.

PowerShell ir kaut kas vairāk nekā tikai komandrindas apvalks. PowerShell pirmā versija parādījās 2006. gadā, tās attīstības iemesls bija klasiskās komandas primitivitāte windows virknesnav atļauts veikt sarežģītus algoritmus.

Windows PowerShell ir iestatīts Windows 7, 8, 8.1 un Windows Server 2008 R2, 2012 R2 sistēmās, un to var pievienot arī Windows XP SP3, Vista un Windows Server 2003 SP2. PowerShell interfeiss atgādina labi pazīstamu komandrindas interfeisu.


Windows interfeiss PowerShell.

Kā minēts iepriekš, komandrindas interfeiss nav ierobežots. PowerShell nodrošina sistēmas administratora scenāriju valodu, kas ļauj automatizēt sarežģītas darbības.

PowerShell komandas var būt cmdlets, funkciju, skriptu un ārējo izpildāmo failu veidā.

Klejot - Tas ir jauna veida komandas, kas iebūvētas PowerShell. Šāda veida komandas tiek apkopotas DLL bibliotēkās un tās uzsākšanas laikā tiek ielādētas PowerShell procesā. Par sevi cmdlets kā pieteikumi nesākas.

Cmdlets nosaukumi atbilst veidnei "Verb-lietvārds". Vārds apraksta rīcību, ko mēs vēlamies darīt, un lietvārds - objekts, ko darbība tiks veikta. Piemēram, lai notīrītu konsoles ekrānu, jums ir jāievada Clear-Host komanda. Jūs varat apskatīt pieejamās komandas, ievadot komandu konsoli.

Kausiem var būt parametri. Kopumā tas izskatās šādi:

comandline nosaukums -Parameter1 -Parameter2 arguments1 arguments2

Argumenti nav nosaukuma parametri.

Kā tas strādā? Piemēram, mums ir Dir komanda, kas parāda direktorijas saturu.

Dire komandas darba piemērs

Pieņemsim, ka es pazaudēju konkrētu failu. Ļaujiet tai būt sertifikāta failam ar Photoshop. Es tieši atceros, ka faila nosaukums satur "Photoshop", un tas ir PDF fails. Kā es atceros, fails atrodas šajā direktorijā. Es varu parādīt sarakstu ar visiem direktoriju failus, kā norādīts iepriekš un meklēt failu manuāli. Un es varu piemērot -filter parametru, kas parādīs tikai tos failus, kas atbilst konkrētam argumentam. Kā arguments būs * Photoshop * .pdf. Zvaigznes ap vārdu "Photoshop" stāvēt, jo es neatceros precīzu faila nosaukumu un norādot PowerShell uz to, ka pirms un pēc "Photoshop" var stāvēt jebkuras rakstzīmes. Es arī norādīju uz PDF failu.

Tātad, tika atrasts meklēšanas fails. Vispārējā formā cmdlets, tas tika norādīts, ka viens cmdlet var būt vairāki parametri. Savukārt parametriem ne vienmēr ir argumenti.

Nedaudz sarežģī mūsu piemēru. Pieņemsim, ka tagad man ir jāatrod Christopher Dugurtestestes grāmata. Komanda dir -Filter * Dougherty * .pdf ES neko neizdarīju. Tas nozīmē, ka šajā katalogā nav grāmatu, bet es tieši atceros, ka tas ir kaut kur šeit, protams, subdirektorijās. Lai meklētu un subdirektorijās pievienotu -Recurse parametru.

Meklēšana prasīs nedaudz ilgāk, bet vēlamā grāmata tiks atrasts.

Kā redzat, -Recurse parametrs nesatur argumentu. Ar sevi, parametri var stāvēt jebkurā secībā, galvenais ir pilnībā novērot loģiku, ja vajadzīgais arguments atbilst parametram, par kuru tas paredzēts. Tātad komanda dIR -FILTER * DOGHERTY * .PDF -Recurse strādās tādā pašā veidā kā dir -Recurse -Filter * Dougherty * .pdf.

Parametru nosaukumus var rakstīt saīsinātajā formā, kas ir diezgan ērti ikdienas darbam ar komandrindu. Samazināšanai jābūt skaidram interpritācijai, t.i. Neļaujiet divreiz interpretēt. Piemēram, -ReCurse parametru var samazināt līdz vienkāršam -R, un samazinot -filter uz -f radīs kļūdu, jo Joprojām ir -force parametrs. Šādā gadījumā jūs varat samazināt -filter uz -fi.

Tātad, mēs saņēmām ideju par ķelti. Nākamais .

Pēc pārcelšanās uz Windows operētājsistēmu 10, daudzi lietotāji pamanīju pogu "palaist powerShell" diriģenta saskarnē. Šajā sakarā tīklā parādījās daudz jautājumu, lietotāji, kurus interesē Windows PowerShell programma un kas tas ir nepieciešams. Ja jūs interesē arī šis jautājums, šim materiālam ir jāpalīdz jums.

Windows PowerShell ir skriptu valoda un programma ar komandrindas interfeisu, lai veiktu šos skriptus. Šī valoda tika izlaista 2006. gadā kā daļa no otrā servisa pakotnes Windows XP, un kopš tā laika Powershell ir daļa no visām Microsoft operētājsistēmām. 2008. gadā parādījās otrā versija no šīs valodasUn sākot ar Windows 7 tas ir tas. Windows PowerShell skriptiem ir PS1 paplašinājums, un to var uzsākt kā LPTP un CMD failus pazīstami.

Windows PowerShell ir skriptu valoda, kas tika izstrādāta galvenokārt Microsoft biznesa klientiem, kuriem ir vajadzīgi spēcīgi rīki, lai automatizētu servera pārvaldības uzdevumus un datorus windows datu bāze. Šīs valodas pamatu izmantoja platform.NET, ko Microsoft izstrādāja kopš 2002. gada.

Windows PowerShell ļauj automatizēt daudz dažādu uzdevumu. Ar to jūs varat pārvaldīt failus, pakalpojumus, procesus, kontus un iestatījumus. PowerShell valoda saprot daudzas komandas no parastās Komandrinda Windows (CMD), bet tam ir arī sava valoda, kas sastāv no savām komandām, ko sauc par ķelti šeit.

Kausi (angļu cmdlets) veido glagol-lietvārda noteikums, piemēram, saņemt-palīdzību. Jūs varat iepazīties ar Windows PowerShell pamatiem, izmantojot palīdzību (Get-Help cmdlet). Lai iegūtu vispārīgu informāciju, vienkārši ievadiet komandu "Get-Help", ievadiet "Get-Help-Wead-cmdlet", lai saņemtu konkrētu cmdlet. Piemēram, ja ievadāt komandu "Get-Help-Process", tad mēs saņemsim Get-Process CMOT palīdzību.

Kā palaist Windows PowerShell programmu

Windows PowerShell programmu var uzsākt dažādi ceļi. Vienkāršākais variants ir vienkārši izmantot meklēšanu izvēlnē Sākt. Lai to izdarītu, atveriet izvēlni Sākt, ievadiet meklēšanas vaicājums "Windows PowerShell", pēc kura atverat atrodiet programmu.

Varat arī izmantot kombināciju windows-r taustiņi Un ievadiet komandu "PowerShell".

Windows 10, PowerShell programmu var palaist no jebkuras mapes. Lai to izdarītu, noklikšķiniet uz pogas "File" vadītāja augšējā kreisajā stūrī un izvēlieties "Run Windows PowerShell".

Kā lietot Windows PowerShell

Kā mēs teicām, ar PowerShell programmas palīdzību daudzi ikdienas uzdevumi var automatizēt operētājsistēma Windows. Piemēram, mēs parādīsim dažas no iezīmēm, ka šim rīkam ir, lai kļūtu skaidrs, kā to izmantot.

Tīrīšanas grozs. Groza tīrīšanai ir īpašs cmdlet, ko sauc par "Clear-Recyclbin". Šis cmdlet ir noderīgs, rakstot skriptus, lai uzturētu datorus. Izpildot cmdlet, jums ir jānorāda disks, kurā vēlaties iztīrīt grozu. Piemērs:

Clear-Recyclebin C:

Turpmāk ekrānuzņēmums var redzēt, kā šis cmdlet tiek veikts. Pēc komandas ievadīšanas "Clear-Recyclbin C:" parādās apstiprinājuma pieprasījums. Lai turpinātu cmdlet izpildi, jums ir jāievada burts "Y" un nospiediet Enter.

Ja jūs pievienojat "-force" uz cmdlet "Clear-Recyclbin C:", pēc tam grozu tīrīšana tiek veikta bez apstiprinājuma pieprasījuma. Ekrānuzņēmums apakšā.

Failu arhivēšana. Tiek nodrošināta failu arhivēšanai un izsaiņošanai, kompreses arhīva un paplašināt-arhīva cmdlets. Piemēram, lai arhivētu mapi "C: testa" arhīvu "C: arhīvs \\ t

Compress-Archive -LiteralPath C: testa \\ -Destinationpath C: arhīvs \\ TKIND2.zip

Tā rezultātā izpildes komandu, kas redzama iepriekš, "Test2.zip" fails parādās "C: mapē", kurā parādīsies C: \\ T TEST \\ T

Saraksts cmdlets for Windows PowerShell

Attiecībā uz Windows PowerShell, ir milzīgs skaits dažādu cmdlets un apraksta tos visus vienā rakstā nedarbosies. Tāpēc mēs iesakām iepazīstināt sevi ar visvairāk pieprasītajiem:

  • Saņemt palīdzību - saņem atsauces;
  • Atjaunināšana-palīdzība - atsvaidzināt atsauci;
  • Saņemt komandu - meklējiet cmdlets;
  • Saņemt-alias - meklējiet pseidonīmus cmdlets;
  • Get-PsDrive - skatīt savienotos diskus;
  • Get-loceklis - skatīšanās īpašības un metodes, kas ir objekts;
  • Get-WindowsFeature - skatiet informāciju par pieejamās lomas un serveru komponenti;
  • Instalēt-WindowsFeature (Analog Pievienot-WindowsFeature) - nosaka lomas vai sastāvdaļas uz vēlamo serveri;
  • Atinstalēt-WindowsFeature (noņemšanas-WindowsFeature) - noņem lomu vai servera komponentu;
  • Get-vēsture - apskatīt vēsturi komandu, kas tika ieviesti šajā sesijā;
  • Get-mainīgo - apskatīt mainīgo un to vērtību sarakstu;
  • Jauns mainīgais - jauns mainīgais radīšana;
  • Set-mainīgais - iestatīšana mainīgo vērtību;
  • Skaidra mainīga - mainīgās vērtības noņemšana;
  • Noņemiet mainīgo - mainīgo un tās vērtību noņemšanu;
  • Formāta saraksts - skatiet komandas kā īpašumu sarakstu, kur katrā rindā ir atsevišķs īpašums;
  • Formāta tabula - skatiet komandas rezultātu tabulas formātā;
  • Formāts - plašs - skatiet komandas rezultātu plaša galda veidā, kurā katram objektam ir redzams tikai viens īpašums;
  • Formāts pielāgots - skatiet komandas rezultātu, izmantojot lietotāja skatu;
  • Export-CSV - datu eksports uz CSV formātu;
  • Imports-CSV - Importēt datus no CSV faila;
  • EXPORT-CLIXML - eksporta dati uz XML formātu;

Jūs varat saņemt pilnu cmdlets sarakstu Windows PowerShell, palaižot komandu -CommandType cmdlet cmdlet.