Hvordan skrive og kjøre PowerShell-skript. Hvordan åpne PowerShell, alle metoder

1. Skrive et manus

Et PowerShell-skript (uansett hvilken versjon) er en tekstfil med filtypen *.ps1.

Her er et eksempel på et enkelt Power Shell-skript (fil systemInfo.ps1):

# Hent WMI-objekt for operativsystemet

Get-WmiObject Win32_OperatingSystem

Denne filen kan opprettes og redigeres, for eksempel i FAR Manager.

Merkat FAR Manager, selv om den kan fungere i Power Shell-konsollen, kjører skript fra under seg selv i miljøet til en vanlig Windows-konsoll cmd . Det vil si at FAR Manager bare kan brukes til å lage og redigere PowerShell-skript, men ikke til å kjøre dem. Men før du blir skuffet, les punkt 3.

2. Kjøre skriptet

Skriptet må kjøres fra Power Shell-konsollen, og ikke fra den vanlige Windows-konsoll. I Power Shell-konsollen må du gå til katalogen der skriptet er plassert (med kommandoene CD ), og kjør deretter selve skriptet, og pass på å inkludere tegnene foran".\" . For eksempel har vi banen til skriptfilen d:\arbeid\systemInfo.ps1 . Deretter vil startkommandoene se slik ut:

cd\

cd fungerer

.\systemInfo.ps1

eller som dette (bare spesifiser hele banen til skriptet):

d:\arbeid\systemInfo.ps1

Mest sannsynlig vil følgende feil vises når du kjører skriptet:

Filen D:\work\systemInfo.ps1 kan ikke lastes fordi skriptutførelse ikke er tillatt på dette systemet. Skriv "get-help about_signing" for mer informasjon.

linje:1 tegn: 18

CategoryInfo: NotSpecified: (:), PSSecurityException

FullyQualifiedErrorId: RuntimeException

Feilen vises fordi Power Shell som standard har den maksimale sikkerhetspolicyen aktivert, som lar deg kjøre PowerShell-kommandoer på kommandolinjen, men ikke tillater deg å kjøre et skript med PowerShell-kommandoer på samme kommandolinje.

For å tillate kjøring av PowerShell-skript, må du opprette *. bat-fil, for eksempel enableScript.bat med følgende innhold:

powershell -Command Set-ExecutionPolicy Remote Signed

Denne *.bat-filen kan kjøres i hvilken som helst konsoll: enten i PowerShell eller i en vanlig konsoll cmd . Etter å ha kjørt denne filen, kjøres PowerShell-skript i PowerShell-konsollen.

3. Kjøre et PowerShell-skript fra en vanlig Windows cmd-konsoll

PowerShell-skriptet kan også kjøres fra en vanlig Windows-konsoll. For å gjøre dette kan du bruke kommandoen:

Powershell -fil ./systemInfo.ps1

På denne måten kan du kjøre skript direkte fra FAR Manager og de vil fungere.

Men det er en liten subtilitet her. Parameter-Fil bare fyrer på lokale stier, selv om stien er relativ"./" . Det vil si hvis *.ps1 - filen er på den lokale disken Ledning: , så vil en slik samtale fungere. Men hvis du prøver å kjøre et skript som ligger på en domeneressurs, vil ikke skriptet bli funnet. Kanskje dette vil bli fikset i fremtidige versjoner av PowerShell.

Hei alle sammen! I dag et kort notat om emnet, hvordan åpne powershell som administrator. La meg minne deg på at PowerShell er et kraftig programmerings- og administrasjonsspråk fra Microsoft, hvert år vokser det, alt stor kvantitet cmdlets og funksjonalitet. I hovedsak er det en erstatning for Windows-ledeteksten. Nedenfor vil vi vurdere metoder som lar deg åpne og konfigurere den.
.

Metoder for å åpne en PowerShell-snap-in

Powershell utvikler seg veldig bra og med utgivelsen av Windows 10 har den allerede mottatt versjon 4, men temaet vårt er annerledes. Så hvordan åpner jeg powershell? Alt er enkelt hvis i Windows XP, så ingenting. Siden den leveres separat, kommer den i alle påfølgende utgivelser som en innebygd komponent. Mest universell metodeåpne powershell dette klikket

Win+R og skriv inn powershell

Ved å trykke enter vil PowerShell-konsollen starte, det eneste problemet er at den ikke åpnes som administrator. Og som et resultat vil mange kommandoer ikke bli utført nedenfor, vi vil se hvordan du gjør dette på vegne av administratoren.

Slik åpner du Windows Powershell som administrator i Windows 8.1 og Windows 7

Du kan åpne Windows Powershell gjennom Start. I Windows 8.1, Windows 2012 R2, gå til Systemverktøy - Windows og høyreklikk og velg Kjør som administrator.

I Windows 7 og Windows 2008 R2 ser det slik ut Start > Tilbehør > Windows PowerShell

Du kan også lage en snarvei i oppgaveelementet og høyreklikke på det og velge riktig element

Det ville være praktisk hvis PowerShell alltid åpnet som administrator, la oss implementere det. Dette gjøres på samme måte i alle versjoner av Windows. Åpne kontrollpanelet

Høyreklikk på den og velg Egenskaper. Du kan umiddelbart se banen til filen der den ligger i systemet.

Klikk på "Avansert"-knappen. Du vil se flere egenskaper. hvor du må merke av i boksen Kjør som administrator.

Alt er veldig enkelt. Jeg er sikker på at nå vil du ikke ha et spørsmål om hvordan du åpner Windows Powershell. En annen nyttig ting er å endre fonten i powershell-vinduet.

Slik åpner du PowerShell fra startknappens kontekstmeny i Windows 10

Microsoft legger i økende grad vekt fra kommandolinjen mot sitt sterke språk (PowerShell), og dette er logisk, siden dets evner for å administrere operativsystemer Windows-familien, er nesten ubegrensede, om ikke flere, enn i det grafiske grensesnittet. Begynner med Windows-versjoner 10 1709, i kontekstmenyen, PowerShell, erstattet den vanlige cmd for alle. Høyreklikk på startknappen i Windows 10 og velg det aktuelle elementet fra kontekstmenyen:

  1. Windows PowerShell
  2. Windows PowerShell (administrator) er akkurat modusen med maksimale rettigheter i Windows 10.

Start Windows PowerShell ved å bruke Søk i Windows 10

På Windows 10 og eldre versjoner kan du finne PowerShell ved å bruke vanlig søk, det er en spesiell seksjon for dette. Klikk ved siden av Start-knappen, forstørrelsesglassikonet. Skriv inn ordet PowerShell i søkeskjemaet som åpnes. Du vil søke etter alle alternativer, blant annet finner du skallet. Hvis du høyreklikker på den, kan du åpne den som administrator.

Starte Windows PowerShell fra Start-menyen i Windows 10

For å åpne PowerShell fra Start-menyen, åpne den og finn Windows PowerShell-elementet, det vil være i form av en mappe, åpne den og kjør den aktuelle versjonen.

Hvis du høyreklikker, kan du kjøre Vershel-skallet som administrator med administratorrettigheter.

Ytterligere og generiske skalllanseringsmetoder

Det er også veldig spesifikke metoder for å åpne et skall med et kraftig språk fra Microsoft. Den mest klønete, den er lett å finne kjørbar fil og kjøre den direkte fra et sted på systemet. La oss gå til Windows 10 langs følgende vei:

C:\Users\brukernavn\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

Som et resultat vil du se en mappe med snarveier som er til stede i Start-menyen, du kan starte dem.

Du kan også kjøre den originale kjørbare filen, som ligger langs banen:

C:\Windows\System32\WindowsPowerShell\v1.0

Og ved å høyreklikke på den kan du laste den ned som administrator, med maksimale rettigheter.

Du kan også starte Windows PowerShell fra kommandolinjevinduet for å gjøre dette, bare skriv inn det magiske ordet i det og trykk Enter.

Vel, la meg også minne deg på metoden for å starte en ny oppgave fra snapin-modulen "Oppgavebehandling". Åpne "Oppgavebehandling", velg menyelementet "Fil - Kjør ny oppgave"

Skriv inn PowerShell i vinduet som vises.

Vel, den siste metoden jeg kjenner til er å starte PowerShell, via Windows utforsker 10, for å gjøre dette, åpne Utforsker, velg menyelementet "Fil - start Windows PowerShell", det vil være begge modusene.

Hva er PowerShell ISE

Du har sikkert lagt merke til at PowerShell ISE-snarveien er overalt, og du vil gjerne vite hva den er. I et nøtteskall er dette et spesielt skall der du kan skrive skript og scenarier i PowerShell, ved å bruke alle de forskjellige cmdlets som Microsoft tilbyr deg.

Powershell endre font er veldig enkelt, gå til Font-fanen i egenskapene, hvor du kan stille inn størrelsen fra 5 til 72.

Du kan også komme til egenskaper fra selve verktøyvinduet, klikk på ikonet i øvre venstre hjørne og velg egenskaper

Her er skriftinnstillingene litt forskjellige, og etter hvert som de endres endres også størrelsen på konsollen.

På fanen Farger kan du angi skriftfargen i Powershell og selve vinduet. Ved å gjøre den svart, for eksempel, som kommandolinjen.

Jeg anbefaler også at hvis du er en aktiv konsollbruker, sett bufferstørrelsen ikke til 50 kommandoer, men minst til 100.

Takk for din oppmerksomhet. Dette er metodene for å åpne Power Shell-konsollen i Windows. Site materiale

Erfarne operasjonsstuebrukere Windows-systemer 10 kan ha hørt om PowerShell-kommandolinjeverktøyet. De som har erfaring med å jobbe med Windows 7 og 8.1 kan også være kjent med det. Etter mange år med bruk av kommando-appen Windows-strenger og .bat-filer, er det på tide å bli kjent med et mer funksjonelt verktøy.

PowerShell er et verdifullt tillegg til listen Windows-verktøy og omfanget kan avskrekke noen brukere. Hva er det - et skriptspråk eller et kommandoskall? Ikke bekymre deg: til tross for de omfattende mulighetene, kan hvem som helst mestre PowerShell.

Trinn 1: Installasjon

Først trenger vi selve PowerShell-verktøyet. Hvis du kjører Windows 10, har du allerede PowerShell 5 installert. Windows-oppdatering 10 Jubileumsoppdateringen bruker versjon 5.1, men forskjellen er ikke merkbar. Windows 8 og 8.1 bruker PowerShell 4, som også er ganske tilstrekkelig. Installering av PowerShell på Windows 7 vil ikke forårsake problemer, men du må fortsatt ta et par ekstra trinn. Spesielt må du i tillegg installere .Net Framework. Du kan installere Windows Management Framework, som inkluderer PowerShell.

PowerShell har to grensesnitt. Avanserte brukere kan velge et komplett GUI-grensesnitt kjent som Integrated Scripting Environment (ISE). For nybegynnere er det best å bruke PowerShell-konsollen, et enkelt tekstbasert Windows-kommandolinje-grensesnitt, eller til og med DOS 3.2.

For å kjøre PowerShell som administrator i Windows 10, klikk på Start-knappen og bla ned til Windows PowerShell. På Windows 8.1, se etter Windows PowerShell i System-mappen i Windows. I Windows 7 er skallet plassert i Tilbehør-mappen. Som vanlig bruker PowerShell kan startes på nøyaktig samme måte ved å bruke venstre knapp mus i stedet for den høyre.

Du kan bruke søk på alle versjoner av Windows. For enkel fremtidig bruk kan du feste PowerShell til oppgavelinjen.

Trinn 2: Gamle Windows-kommandoer

Windows-kommandosyntaksen i PowerShell fungerer som vanlig. For eksempel, CD endrer mapper, dir viser en liste over alle filer og mapper i gjeldende mappe.

Avhengig av hvordan du starter PowerShell-konsollen, kan du starte i c:\Windows\system32 eller i c :\Brukere\ . Eksemplet i skjermbildet bruker kommandoen CD..(med et mellomrom) for å gå opp ett nivå om gangen, og kjør kommandoen dir for å vise en liste over filer og mapper i en katalog C:\.

Trinn 3: Installer hjelpefiler

Lag liker CD Og dir er ikke aktive PowerShell-kommandoer. Dette er såkalte aliaser – erstatninger for ekte PowerShell-kommandoer. Aliaser er nyttige for de som har lang erfaring med kommandolinjen. Imidlertid berører de ikke dypet av PowerShell.

For å komme i gang med PowerShell, skriv hjelp og kommandoen du trenger. Skjermbildet viser kommandoen .

Team hjelp sier det dir er et alias for PowerShell-kommandoen Get-ChildItem. Hvis du skriver få-barneelement V PS C:\>, vil du se det samme som når du bruker kommandoen dir.

Som nevnt nederst på skjermbildet, installeres ikke hjelpefiler for PowerShell automatisk. For å få dem, kjør PowerShell som administrator og skriv oppdatering-hjelp. Installering av hjelpefilene vil ta flere minutter, noen moduler kan mangle - for eksempel i i dette tilfellet Hjelp for NetWNV og SecureBoot ble ikke installert. Når alt er klart, vil det komplette hjelpesystemet alltid gi de nødvendige tipsene.

Skriv nå kommandoen få hjelp og enhver kommando du er interessert i ("cmdlet" i PowerShell, cmdlets på russisk), vil beskrivelsen vises. For eksempel, få-hjelp få-barneelement viser en liste over alternativer få-barneelement. Du kan også vise forskjellig mulige alternativer. For eksempel

få-hjelp få-barneelement -eksempler

gir syv detaljerte brukseksempler få-barneelement. Team

få-hjelp få-barneelement -detaljert

inkluderer disse syv eksemplene og detaljerte forklaringer av hver parameter i cmdleten få-barneelement.

Trinn 4: Få hjelp med innstillinger

I skjermbildet du har kanskje lagt merke til to lister under SYNTAKS Til få-barneelement. Å ha to forskjellige syntakser betyr at det er to måter å kjøre cmdleten på. Hvordan holde syntaksen adskilt fra hverandre og hva betyr parametrene? Svaret er enkelt hvis du kan trikset.

For detaljer om cmdlet-parametere få-barneelement eller andre bruksparametere -full:

få-hjelp få-barneelement -full

Dette gir deg en liste over hva du kan gjøre med cmdleten og hva som vil skje. Se på skjermbildet.

Når du ser gjennom parameterbeskrivelsene, vil du legge merke til det få-barneelement gjør det mulig å få tak i en gjenstand barn(som et undermappenavn eller filnavn) på et spesifisert sted, med eller uten samsvarende bestemte tegn. For eksempel:

get-childItem "*.txt" -rekurs

returnerer en liste over "*.txt"-filer i gjeldende mappe og alle undermapper (på grunn av parameteren -gjentakelse). Mens

get-childitem "HKLM:\Software"

returnerer en liste over alle registernøkler på toppnivå i HKEY_LOCAL_MACHINE\Software.

Hvis du noen gang har prøvd å komme inn i registret ved hjelp av Windows-kommandolinjen eller .bat-filer, vil du sette pris på funksjonaliteten til dette tilgangsalternativet.

Trinn 5: Lære navn

Det er en grunn til at cmdletene som er vist så langt ser like ut: get-childitem, update-help, get-help bruk et enkelt verb-substantiv-mønster. Alle PowerShell cmdlets bruker denne konvensjonen de bruker et verb før et enkelt substantiv. Dette vil appellere til de som en gang led av inkonsekvente kommandonavn på VB- og VBA-språkene.

Ta en titt på de vanligste cmdletene:

sett-plassering: setter gjeldende arbeidsplassering til en bestemt plassering

få-innhold: Henter innholdet i filen

få-vare: Henter filer og mapper

kopi-element: kopierer et objekt fra ett sted til et annet

fjerne gjenstand: Sletter filer og mapper

: Får prosesser til å kjøre på en lokal eller ekstern datamaskin

få-tjeneste: Får tjenester til å kjøre på en lokal eller ekstern datamaskin

invoke-webrequest: Henter innhold fra en nettside på Internett

For å se hvordan en bestemt cmdlet fungerer, bruk få hjelp som i tilfellet

få-hjelp kopi-element -full

Basert på beskrivelsen i hjelpen kan du forstå hva cmdleten trenger. For eksempel hvis du vil kopiere alle filer og mapper fra Dokumenter V c:\temp, bruk

kopi-element c:\brukere\ \dokumenter\* c:\temp

Ved å skrive denne kommandoen vil du se flere interessante funksjoner i PowerShell-miljøet. For eksempel hvis du skriver kopi-i og trykk på Tab-knappen, PowerShell vil fylle ut Kopi-element. Hvis du skriver inn en cmdlet feil og PowerShell ikke kan gjenkjenne den, gis en fullstendig beskrivelse av hva som ble gjort feil.

Prøv denne cmdleten:

invoke-webrequest askwoody.com

Du får en kort liste over nettsidens titler, bilder, lenker og annet innhold. Vennligst merk inn få hjelp til listen invoke-webrequest, som "returnerer en samling av skjemaer, lenker, bilder og annet viktig HTML-elementer" - akkurat det som skal vises på skjermen.

Noen cmdlets hjelper deg med å administrere selve PowerShell:

få-kommando: liste over alle tilgjengelige cmdlets

få-verb: liste over alle tilgjengelige verb

klar-vert: Tøm vertsprogramskjermen

Ulike parametere lar deg redusere kommandoer og begrense utvalget av nyttige alternativer. For å se en liste over alle cmdlets som fungerer med Windows-tjenester, skriver du for eksempel

få-kommando *-tjeneste

Alle verb som er tilgjengelige med substantivet vil vises service. Her er listen deres:

Få-service

Ny-tjeneste

Restart-Service

Gjenoppta-tjeneste

Set-Service

Start-Service

Stopp-tjeneste

Suspend-Service

Du kan kombinere disse cmdletene med andre.

Trinn 6: Bruk av rør

Hvis du er kjent med Windows-kommandolinjen eller batchfiler, vet du om omdirigering og rør. Omdirigering (> symbol) og rør (| symbol) tar resultatet av en handling og fester den til et annet sted. Du kan for eksempel omdirigere resultatet av kommandoen dir til en tekstfil eller send resultatet av kommandoen ping til laget finne for å filtrere interessante resultater som

dir > temp.txt

ping askwoody.com | finn "pakker" > temp2.txt

Her på andrelaget finne søker etter en streng pakker, hentet fra adressen askwoody.com av teamet ping og setter sammen alle samsvarende linjer til en fil kalt temp2.txt.

Den første av disse kommandoene fungerer fint i PowerShell. For å kjøre den andre kommandoen trenger du noe sånt som

ping askwoody.com | select-string-pakker | ut-fil temp2.txt

Å bruke omdirigering og pipes utvider mulighetene til Windows-kommandolinjen betydelig: i stedet for å rulle nedover skjermen uendelig for å søke etter en tekststreng, kan du filtrere Windows-kommandoene du trenger.

Powershell har støtte rør, og det er ikke begrenset til tekst. PowerShell lar deg overføre et helt objekt fra en cmdlet til en annen, der objektet er en kombinasjon av data (kalt egenskaper) og handlinger (metoder) som kan bruke disse dataene.

Den vanskelige delen kommer når du setter opp gjenstandene. Objektene som leveres av én cmdlet må samsvare med typen objekter som aksepteres av den mottakende cmdleten. Teksten er veldig enkel type objekter, så hvis du jobber med tekst, er det en enkel oppgave å justere objekter. De resterende gjenstandene er ikke så grunnleggende.

Hvordan forstå dette? Bruk cmdlet få-medlem. Hvis du vil vite hvilken type objekt en cmdlet behandler, kjør den gjennom få-medlem. For eksempel, hvis du prøver å forstå prosessene som kjører på en datamaskin og har begrenset alternativene dine til cmdlets , her er hvordan du finner ut resultatet av cmdletene:

få-prosess | få-medlem

Å kjøre denne cmdleten produserer en lang liste med egenskaper og metoder for , men helt i begynnelsen av listen kan du se typen objekt som lager :

Typenavn: System.Diagnostics.Process

Skjermbildet nedenfor viser også egenskapene har krav på get-process Håndtak, Navn, NPM, PM, SI, VM Og W.S..

Hvis du vil manipulere resultatet For å jobbe med denne cmdleten (i stedet for å vise en lang liste over aktive prosesser på skjermen), må du finne en annen kommando som tar som input System.Diagnostikk.Prosess. For å finne cmdleten du trenger, bruk PowerShell igjen:

get-command -Parametertype System.Diagnostics.Process

Denne cmdleten gir en liste over cmdlets som kan behandles System.Diagnostikk.Prosess.

Noen cmdlets er kjent for å akseptere nesten alle typer data. Den øverste blant dem er . Denne cmdleten går gjennom hvert objekt som sendes gjennom røret, én etter én, og bruker de angitte utvalgskriteriene på det. Det er en spesiell markør som heter $_ , som lar deg bruke hver gjenstand i røret, en om gangen.

La oss si at du vil ha en liste over alle prosesser som kjører på en datamaskin med navnet "svchost", det vil si at du vil matche egenskapen Navn prosess svchost. Bruk kommandoen:

få-prosess | where-object ($_.Name -eq “svchost”)

Cmdlet ser på hver gjenstand System.Diagnostikk.Prosess, sammenligner .Navn dette objektet med "svchost"; hvis det er treff, vises de på skjermen. Se på skjermbildet.

Trinn 7: Analyser nyttige PowerShell-kommandoer

Nå vet du allerede nok til å kunne skade datamaskinen, så vær forsiktig. La oss for eksempel se på ofte etterspurte PowerShell-kommandoer.

Disse kommandoene fungerer bare på Windows 10 og bare når du kjører PowerShell som administrator. De er designet for å reinstallere forhåndsinstallert Windows-applikasjoner 10 og kan være nyttig for de som først slettet disse programmene og deretter bestemte seg for å returnere dem. Kommandoene ser slik ut:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -Registrer "$($_.InstallLocation)\AppXManifest.xml")

Hvis du kjører denne kommandoen, ignorer de røde advarslene og når kommandoen er fullført, start datamaskinen på nytt. alle forhåndsinstallerte programmer i Windows 10 vises på sine steder.

Slik fungerer denne kommandoen. Get-AppXPackage sjekker alle applikasjonspakker i brukerprofilen. Selv om du sletter applikasjonen, forblir den i brukerprofillisten.

Cmdlet Get-AppXPackage returnerer et objekt Typenavn Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, som inkluderer fullt navn applikasjonspakken og plasseringen av den tilsvarende XML-manifestfilen. Hvis du kjører cmdleten get-appxpackage, vil du se en lang liste med applikasjonspakker. Skjermbildet viser beskrivelsen av Xbox-appen.

Cmdlet For hver går gjennom hvert objekt inn AppXPackage ved å sende dem til cmdleten Add-AppxPackage. I følge få hjelp Til Add-AppxPackage, det er to nøkkelbrytere:

  • Bytte om -Registrere brukes til å registrere eksisterende installasjoner av applikasjonspakker, kan du angi parametere Deaktiver utviklingsmodus Og Registrere
  • Bytte om -Deaktiver utviklingsmodus ber Windows om å registrere en eksisterende programpakke som har blitt deaktivert, avregistrert eller ødelagt.

Linje " $($_.InstallLocation)\AppXManifest.x ml" beskriver hvor filen er plassert manifest.xml. Hvis du ser på filene AppXManifest.xml, vil du se en kompleks liste over applikasjons-IDer, kjørbare filer og et stort antall visuelle elementer knyttet til applikasjonen.

Etter omstart lastes alle tilførte applikasjonspakker ned og installeres fra Windows Store Butikk.

PowerShell er en alternativ kommandolinje med omfattende funksjonalitet. Mange datamaskineiere som er godt kjent med systemprosesser, er interessert i mulighetene for å bruke den på Windows 10 og tidligere versjoner denne programvaren for å endre spesifikke prosesser og PC-innstillinger for deg selv.

Det er ikke noe komplisert med å bruke PowerShell. Bare følg alle instruksjonene i denne artikkelen, og du vil lykkes.

Hvis du ikke er en ekspert på dette emnet, har du nettopp begynt å studere kommandolinjer og handlingene som kan utføres i dem, det vil være nyttig for deg å vite svarene på hovedspørsmålene om bruk av et slikt program. For eksempel hvordan du kjører Windows PowerShell ISE Windows 10 og skriver og jobber med skript.

Hvordan åpne PowerShell?

Dette kan gjøres på flere på følgende måter:

  • - du finner applikasjonen i den generelle listen over komponenter under bokstaven W.
  • Bruk søk ​​i oppgavelinjen - åpne den og skriv inn ordet PowerShell for å søke.
  • Bruk "Kjør"-menyen, kjør den gjennom Win + R-kombinasjonen og skriv navnet på verktøyet, hvoretter det vil bli funnet i systemet.
  • Angi PowerShell-handlingen i Commander - men du bør vite at du skal jobbe med applikasjonen gjennom en allerede kjørende linje, og ikke i et eget vindu.
  • I Windows-innstillinger Velg Oppgavelinjeegenskaper og Start-meny. I "Navigering"-fanen, merk av i boksen ved siden av "Erstatt" kommandolinje Kraftskall..." Nå kan du aktivere verktøyet ved å bruke Win+X-kombinasjonen.

Hvordan skrive og kjøre skript?

Hvordan lage et PowerShell-skript og kjøre det? Dette kan ganske enkelt gjøres i en notisblokk - bruk den, angi kommandoene du trenger i det nye dokumentet. Lagre det så, men endre formatet til .ps1 - dette er filtypen filene til dette systemverktøyet har.

Du kan skrive skript i selve applikasjonen slik:

  • Start den.
  • Klikk på "Opprett"-elementet.
  • Eller klikk på "Fil" og velg "Opprett" fra listen som vises.
  • Skriv alle kommandoene som må utføres, lagre filen.

Skript kan fortsatt skrives og redigeres i FAR Manager, men de kan ikke brukes direkte i en slik applikasjon, fordi den viser filer av denne typen gjennom standarden cmd linje. Andre handlinger utføres imidlertid på samme måte som i det "native" verktøyet.

Du kan kjøre skriptet på denne måten:

  1. Logg på PowerShell som administrator.
  2. Bruk cd-kommandoene til å spesifisere plasseringen av den nødvendige filen. For eksempel, e: cd\ cd work .\ filnavn. Ps1, eller e: \work\filnavn.ps1
  3. I dette tilfellet er e: navnet harddisk hvor filen ligger.
  4. Trykk enter.

Programmet vil definitivt vise deg en melding med teksten "Filen ___ .Ps1 kan ikke lastes fordi skriptkjøring er forbudt på dette systemet..." når du kjører kommandoen for første gang. Faktum er at Windows er utstyrt med beskyttelse mot forstyrrelser takket være utviklerne, så ingen av brukerne har som standard tilgang til å utføre slike handlinger. Men denne begrensningen kan veldig lett omgås.

Hvordan? Teksten som vises med feilen vil anbefale at du skriver inn kommandoen get-help about_signing for å få mer informasjon. Du kan følge disse instruksjonene, eller bruke den fjernsignerte kombinasjonen Set-ExecutionPolicy - etter at du har skrevet den inn, vil bekreftelse være nødvendig, og begrensningen vil bli fjernet.

Andre spørsmål om bruk

Mange mennesker har et spørsmål: hvordan finner jeg ut versjonen av PowerShell? For å gjøre dette, gjør følgende:

  1. Skriv inn $PSVersionTable.
  2. Hvis dette ikke fører til noe, så har du versjon 1.0 - det er en $host.version-kommando for det.
  3. Ellers vil det dukke opp detaljert informasjon om hvilken versjon av programmet som er installert på PC-en.

Mer enn ett år har gått siden Windows-utgivelse 7 og Server 2008.

Programmerere, systemadministratorer og avanserte brukere har funnet mange bruksområder for det blå vinduet, som ligner på kommandolinjen.

De fleste nybegynnere vet ikke engang hva PowerShell (PS) er.

Men skript for PowerShell lar deg automatisere nesten 100 % av handlingene og skriptene som utføres i operativsystem via kommandolinje og grafisk grensesnitt.

La oss bli kjent med hovedfunksjonene til dette programmet, og legge mer vekt på funksjonen for å lage og kjøre skript (fastvare).

Det finnes utallige manualer og dokumentasjon for programmet, inkludert på russisk. Formålet med artikkelen– gi brukeren konseptuell kunnskap, bringe oppdatert, men om det er verdt å bli nærmere kjent med tolken og utførelsen av manus i den, vil alle bestemme selv.

Hva er Windows PowerShell?

Kraftskall– en tolk basert på .NET Framework, utstyrt med sitt eget skriptspråk.

Den første betyr at han jobber i tekstmodus: du skriver inn en kommando, kjører den, og på skjermen ser du resultatet av dens utførelse.

Slik det var i MS-DOS og eldre versjoner av UNIX.

Den andre forenkler, fremskynder og automatiserer administrasjon og vedlikehold av systemer, applikasjoner, prosesser og relaterte tjenester av administratorer og vanlige brukere betydelig.

Sammenlignet med andre tolker, PS er annerledes:

  • integrasjon med – lar deg lage kraftige skript ved å introdusere programkode i dem;
  • alle returnerte data er objekter, ikke data av tekst/streng-typen, noe som innebærer overføring av dem til andre skript og eventuell behandling.

PowerShell versjon 2 har følgende egenskaper, La oss se på noen av dem mer detaljert:

  • Evne til å representere kommandoer som cmdlets– de startes inne i tolken ellers utføres kommandoen i en separat prosess.
  • Bruk av transportbånd– er designet for å overføre data fra en kommando til en annen samtidig som strukturen og typen opprettholdes.
  • Integrert multi-stream dataoverføring over nettverket med prioritering og gjenopptagelse av tilkobling.
  • Støtte for posisjonelle og navngitte parametere.
  • Bakgrunnsarbeid– asynkron oppkalling av kommandoer og lansering av skript på eksterne maskiner.
  • Sette opp begrensede økter med eksterne klienter og kjører skript på dem.
  • Moduler– en måte å organisere skript på når de blir selvforsynte og kjøres i sin egen beholder uten å påvirke modulens miljø.
  • Tilgjengelighet av en feilbehandler.
  • Grafisk miljø for språket: syntaks, debugger, utheving, automatisk kommandofullføring med støtte for Unicode og bokmerker.
  • Legge til bruddpunkter på linjer, kommandoer, operasjoner og variabler for feilsøking av skriptet.
  • Blokker og interlineære kommentarer.
  • Støtte for å lage aliaser for noen cmdlets, som konverteres til vanlige kommandoer på tidspunktet for utførelse.
  • Lage begrensede økter, hvor du kan utføre en strengt definert liste med kommandoer og mye mer.

PowerShell kildekode gjort tilgjengelig for alle: Ethvert fellesskapsmedlem kan fritt lage sine egne utvidelser for å øke funksjonaliteten til kommandolinjetolken.

Du kan begynne å mestre et integrert skriptspråk uten noen programmeringskunnskaper.

Det er usannsynlig at du vil være i stand til å lage et komplekst scenario, men nesten alle vil være i stand til å utføre sekvenser av primitive handlinger.

Selv om det, uten kunnskap om de grunnleggende konseptene til PowerShell, er usannsynlig at du vil være i stand til å gjøre noe i kommandotolkervinduet. La oss begynne med dem.

Cmdlets

Cmdlets– særegne PS-kommandoer, bak hvilke en rekke funksjoner er skjult. Kommandoene som er innebygd i tolken er implementert på verb-substantiv-prinsippet, for eksempel Get-Process (å få en liste over prosesser). Denne løsningen lar deg forstå essensen av kommandoen bare fra navnet (på engelsk).

Noen cmdlets støtter mottak/overføring av data og matriser med informasjon mens de bevarer strukturen og typen. Dette fungerer etter prinsippet om en transportør (dette vil bli diskutert i neste avsnitt). Uansett kjører cmdletene og behandler objektene i rekkefølge.

For å implementere cmdlets kan alle støttede .NET APIer som er opprettet på et hvilket som helst .NET-språk, brukes.

Dermed får brukeren tilgang til spesifikke funksjoner i programmet.

Cmdlets kan få tilgang til nødvendig informasjon direkte eller gjennom unike stier (stasjonsbokstaver og katalogstier).

Ved å bruke cmdlets kan du jobbe med objekter filsystem og sertifikatbutikker, installerte applikasjoner og tjenester.

Transportbånd

Når du lager ikke veldig primitive skript eller for å utføre operasjoner med data innhentet som et resultat av skriptet, må du noen ganger også utføre noen handlinger.

Det finnes en transportør for dette. Som i UNIX, kombinerer den kommandoer ved å sende utdataene fra en cmdlet til inngangen til en annen, uendret, og bevarer typen.

I dette tilfellet kreves ingen beholder eller tegn-for-tegn-parsing av informasjon.

Del overført informasjon funksjon kan også inkluderes. Etter å ha fullført arbeidet med de kombinerte kommandoene, funksjonen for å konvertere informasjon til tekstvisning(konvertere data til strenger) ved hjelp av tekstformatering.

Skript

Til tross for at skallet lar deg automatisere mange handlinger, må du legge inn kommandoer manuelt, noe som ikke er veldig praktisk.

Spesielt når de samme operasjonene må utføres om og om igjen.

Og du kan ikke klare deg uten den menneskelige faktoren: skrivefeil, feil, utilsiktet treff på taster når du skriver kodelinjer, korrigering eller gjentasting av en linje krever en mer brukervennlig holdning.

For å utføre monotone handlingskjeder i PS, implementeres skript - tekstfiler med en rekke kommandoer inni som er forståelige for tolken.

Skript i PowerShell vil ytterligere forenkle og automatisere arbeidet på PC-en og vedlikeholdet av den, spesielt hvis skriptet inneholder grener, betingelser, logiske operasjoner og sykluser.

Men her "alt som glitrer er ikke gull": å skrive ditt eget manus eller laste opp et ferdig (riktignok litt skreddersydd til dine egne mål) vil ikke gå så lett.

Hvis iMicrosoftdet var lov uansett hvor mye trøbbel laget manus tilKraftskall , skrevet av svindlere og dårlige ønsker for egoistiske eller hooliganformål.

For å kjøre på Windows PS, må du passere startkontrollen.

Hvis det mislykkes, og skriptet må kjøres, må du endre konfigurasjonen av objektene som er ansvarlige for sikkerheten til makroer.

Før du bruker skript

Ved bruk av VBS oppstår det mange problemer som PowerShell-utviklerne ble helt kvitt dersom skriptsikkerheten ikke senkes for å tilfredsstille brukerskriptforespørsler eller løse problemer knyttet til sikkerhetsnivået til operativsystemet.

Å kjøre et nedlastet skript på en brukers maskin er et enkelt og effektivt alternativ for å spre skadelig programvare. programvare eller tyveri av personlig informasjon av angripere.

Alt skjer på grunn av grunnleggende uvitenhet om innholdet i skriptfilen (ps1) og ønsket om å raskt løse problemene deres på bekostning av andres arbeid. Objekter som kontrollerer sikkerhetsnivået for skriptutførelse skaper et miljø der det er umulig å kjøre skriptet.

Tilsiktet kjøring av makroer skjer etter endring av sikkerhetsnivået, hvis brukeren gir klarsignal, innser hva han gjør og vet sikkert hva som er i *.ps1-filen.

Fordi sikkerhetskonfigurasjon er upraktisk for folk som trenger å implementere og kjøre sine egne skript, er det mulig å endre konfigurasjonen.

Her kan du enten redusere beskyttelsen til et minimum eller fornuftig manøvrere mellom muligheten til å åpne hull for penetrering og enkelt arbeid med PowerShell.

Skallet har tre sikkerhetsnivåer:

  • filer med ps1-utvidelsen identifiseres ikke av systemet som kjørbar og er utpekt som ukjent eller tekst (ved å dobbeltklikke åpnes de i standard tekstredigerer som brukes på datamaskinen);
  • Skallet lar deg kjøre skript etter å ha spesifisert hele banen, skriptfiler i gjeldende katalog blir ikke søkt, noe som gjør det umulig å kjøre makroer som ligger i gjeldende katalog;
  • kjører det innebygde Execution Policy-skriptet, ansvarlig for å legge den nødvendige til listen over tillatte skript.

Ikke engang tenk på å endre konfigurasjonen, senke den til minst det andre nivået, uten å gjøre deg kjent med det grunnleggendeKraftskalltil du begynner å i det minste overfladisk forstå innholdet i *.ps1.

Det er også konseptet med en utførelsespolicy, laget for å forhindre at skript kjøres ved et uhell. Det er fem lanseringspolicyinnstillinger:

  • begrenset - installert som standard, kjøres bare skript signert av Microsoft, slik at du kan få informasjon om maskinvare og skall datamaskin;
  • å ha en signatur slettede filer – du kan kjøre alle makroer, men filer som sendes per post må signeres;
  • å ha digital signatur fra en pålitelig kilde– alle signerte skript blir utført;
  • ubegrenset– start eventuelle makroer;
  • bypass– er beregnet på programmerere som lager sitt eget sikkerhetssystem, i stedet for å bruke det som er gitt i skallet.

Du kan sjekke gjeldende tilstand for utførelsespolicyen ved å bruke kommandoen "Get-ExecutionPolicy".Uansett sikkerhetspolicy, vil ikke brukeren kunne kjøre et skript som inneholder kommandoer som han ikke har nok rettigheter til å utføre.

Starter PowerShell

Det er på tide å gå fra teori til praksis. Så for å utføre skript må du få en digital signatur eller (det andre alternativet er enklere).

Det er flere måter å åpne et PowerShell-vindu på.

Den presenteres i to former:

  • klassisk konsoll;

  • Kraftskall ISE - legger til støtte for faner, syntaks, kontekstuell hjelp, kontekstuelle og hovedmenyer, noe som i stor grad letter arbeidet i tolken.

Start

Den enkleste måten å ringe PS på er gjennom Start.

  1. Åpne menyen(i Windows 7 klikker du på "Alle programmer").
  2. Gå til Windows PowerShell-katalogen og klikk på ønsket ikon.

Ris. 4 – Start PS via Start

Du kan også ringe PS via integrert søkesystem.

Kommandotolk

Som elsker ikke-standard og raske måter start, bruk "Kjør"-vinduet. Den åpnes med knappen med samme navn i Start og tastekombinasjonen Win + R.

I dialogboksen skriver vi "kraftskall" og trykk "Enter".

Win+X

I Windows 10 kan PS hentes fra WinX-menyen. Faktum er at som standard ved å klikke på kommandoen "Kommandolinje"åpne CMD. Den kan erstattes med PowerShell.

Åpne "Egenskaper" på oppgavelinjen, i "Navigering" -fanen, sett et merke ved siden av det eneste alternativet og lagre innstillingene.

Du kan kalle PowerShell gjennom kommandolinjen ved å skrive "powershell" i den eller ved å kjøre den kjørbare filen langs banen: %WINDIR%\ System32\ WindowsPowerShell\v1.0 for 32-biters systemer og ved %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 for 64-bit Windows hvilken som helst redaktører.

Ris. 8 – Kjør PS fra katalogen der den kjørbare filen er lagret

Sette opp en sikkerhetspolicy

venstre litt– la PowerShell kjøre skript. Skriv inn kommandoen "Set-ExecutionPolicy RemoteSigned" og trykk "Y".

Det er alt. Nå kan du kjøre alle cmdlets og skript. La oss prøve, for eksempel, å vise en liste over aktive prosesser ved å utføre "Get-Process".

Kjører skript

Du kan lage skript i alle (det er bedre å holde seg til Win, eller noe lignende, med syntaks eller valideringsstøtte) eller i PowerShell ISE-programmet.

Sistnevnte gir praktisk tilgang til cmdlets, muligheten til å kjøre, feilsøke og lagre skript.

La oss anta at du skrev ditt første manus (dette får en liste kjørende prosesser), lagret via Fil-menyen, og den må startes. Dette gjøres på tre måter:

1 Vi skriver hele banen til skriptet i PowerShell (eller ISE);

Ris. 13 – Kjøre skript fra PowerShell ISE-vinduet

Viktig slik at det ikke er mellomrom i banen til filen!

Kraftskall– et kraftig verktøy for å forenkle rutineoperasjoner i Server 2008 og nyere. En viktig fordel med PowerShell er skript og tilgjengelighet versjon av programmet fra grafisk grensesnitt PS ISE. Kommandoene i den presenteres i form av cmdlets, som vil gjøre det mulig å gjøre deg kjent med skallet og forstå betydningen av hver kommando. Sikkerhetspolicyen vil ikke tillate en nybegynner å skade datamaskinen sin skript mottatt fra ukjente kilder, og feilsøkingsmodusen, å lage dine egne cmdlets, funksjoner og feilhåndteringsmekanismer åpner for ubegrensede muligheter for programmerere og administratorer.