Powershell-veiledning for nybegynnere: Lær Powershell-skripting
Hva er PowerShell?
Windows PowerShell er en objektorientert automatiseringsmotor og skriptspråk. Den er hovedsakelig designet for IT-fagfolk og systemadministratorer for å kontrollere og automatisere administrasjonen av Windows OS og andre applikasjoner. Det gir overbevisende nye konsepter for å utvide kunnskapen du har fått og skriptene du har laget innenfor Windows Ledetekst og Windows Script Host-miljøer.
Den kombinerer fleksibiliteten til skripting, kommandolinjehastighet og kraften til et GUI-basert admin-verktøy. Den lar deg løse problemer effektivt ved å hjelpe systemadministratoren med å eliminere fremtidige manuelle arbeidstimer. Vi vil gå gjennom alle de viktige aspektene du bør vite for å lære PowerShell.
Dette er en komplett guide til grunnleggende Powershell-skript... la oss begynne!
Hvorfor bruke Powershell?
Her er noen viktige grunner til å bruke Powershell:
- Powershell tilbyr en godt integrert kommandolinjeopplevelse for operativsystemet
- PowerShell gir full tilgang til alle typene i .NET-rammeverket
- Godkjent av systemadministratorer.
- PowerShell er en enkel måte å manipulere server- og arbeidsstasjonskomponenter på
- Den er rettet mot systemadministratorer ved å lage en enklere syntaks
- PowerShell er sikrere enn å kjøre VBScript eller andre skriptspråk
PowerShell-historie
PowerShell første versjon 1.0 ble utgitt i 2006. I dag er PowerShell på versjon 7.2. Etter hvert som året og versjonen gikk, vokste PowerShells evner og vertsmiljøer betydelig.
La se versjonsvis historie om Powershell:
- PowerShell versjon 1 støttet lokal administrasjon av Windows serveren 2003
- PowerShell 2.0 ble integrert med Windows 7 og Windows Server 2008 R2. Denne versjonen støtter fjerning og forbedrer mulighetene til PowerShell som transaksjoner, bakgrunnsjobber, hendelser, feilsøking, etc.
- PowerShell 3.0 ble utgitt som en intern del av Windows styringsramme. Den ble installert på Windows 8 og Windows Server 2012. Du kan legge til og planlegge jobber, økttilkobling, automatisk modullasting osv.
- PowerShell 4.0 ble levert med Windows 8.1 og Windows Server 2012 R2. I denne versjonen lagt til støtte for ønsket tilstandskonfigurasjon, forbedret feilsøking, nettverksdiagnostikk.
- PowerShell 5.0 ble utgitt som intern del av Windows management framework 5. Funksjonstilbudene i denne versjonen er ekstern feilsøking, klassedefinisjoner, .NET-oppregninger osv.
- PowerShell 7.2 ble utgitt. Den er bygget på .NET 6.0. Denne versjonen tilbyr nye operatører, forenklet og dynamisk feilvisning, automatiske varsler om nye versjoner, etc.
Neste i denne Powershell-skriptopplæringen vil vi lære om funksjonene til Powershell.
Funksjoner i Powershell
- Fjernstyring av PowerShell: PowerShell lar skript og cmdlets startes på en ekstern maskin.
- Bakgrunnsjobber: Det hjelper deg å starte skript eller pipeline asynkront. Du kan kjøre jobbene dine enten på den lokale maskinen eller flere fjernstyrte maskiner.
- Transaksjoner: Aktiver cmdlet og lar utviklere utføre
- Kveld: Denne kommandoen hjelper deg å lytte, videresende og handle på administrasjons- og systemhendelser.
- Filoverføring via nettverk: Powershell tilbyr innebygd støtte for prioritert, asynkron, strupet, overføring av filer mellom maskiner ved hjelp av Background Intelligent Transfer Service (BITS)-teknologi.
Hvordan starte PowerShell
Nå i denne Powershell-skriptopplæringen vil vi lære hvordan du starter Powershell på Windows OS.
PowerShell er forhåndsinstallert i alle nyeste versjoner av Windows. Vi må starte PowerShell for at vi må følge de gitte trinnene:
Trinn 1) Søk etter PowerShell i Windows. Velg og klikk
Trinn 2) Power Shell-vinduet åpnes
PowerShell Cmdlet
En cmdlet som også kalles Command let er en lettvektskommando som brukes i Window-base PowerShell-miljøet. PowerShell påkaller disse cmdletene i ledeteksten. Du kan opprette og påkalle cmdlets-kommandoen ved å bruke PowerShell APIS.
Cmdlet vs Command
Cmdlets er forskjellige fra kommandoer i andre kommandoskallmiljøer på følgende måter ?
- Cmdlets er . NET Framework klasseobjekter Det kan ikke kjøres separat
- Cmdlets kan konstruere fra så få som et dusin linjer med kode
- Parsing, utdataformatering og feilpresentasjon håndteres ikke av cmdlets
- Cmdlets-prosessen fungerer på objekter. Så tekststrøm og objekter kan ikke sendes som utdata for pipelining
- Cmdlets er postbaserte, da de behandler et enkelt objekt om gangen
Det meste av PowerShell-funksjonaliteten kommer fra Cmdlet's som alltid er i verb-substantiv-format og ikke flertall. Dessuten returnerer Cmdlets objekter ikke tekst. En cmdlet er en rekke kommandoer, som er mer enn én linje, lagret i en tekstfil med filtypen .ps1.
En cmdlet består alltid av et verb og et substantiv, atskilt med en bindestrek. Noen av verbene du bruker for å lære PowerShell er:
- Ta – For å få noe
- Start – Å drive noe
- Out — Å gi ut noe
- Stopp — Å stoppe noe som går
- Sett – Å definere noe
- Ny — Å skape noe
PowerShell-kommandoer
Følgende er en liste over viktige PowerShell-kommandoer:
Få hjelp: Hjelp om PowerShell-kommandoer og emner
Eksempel: Vis hjelpeinformasjon om kommandoen Format-Tabell
Get-Help Format-Table
Hent-kommando: Få informasjon om alt som kan påberopes
Powershell-skripteksempel: For å generere en liste over cmdlets, funksjoner installert på maskinen din
Get-Command
Få-tjeneste: Finner alle cmdlets med ordet 'tjeneste' i.
Eksempel: Få alle tjenester som begynner med "vm"
Get-Service "vm*"
Få medlem: Vis hva som kan gjøres med et objekt
Eksempel: Hent medlemmer av vm-prosessene.
Get-Service "vm*" | Get-Member
Andre kommandoer:
- Hent modul Viser pakker med kommandoer
- Hent innhold Denne cmdleten kan ta en fil og behandle innholdet og gjøre noe med den
- Get-get Finner alle cmdlets som begynner med ordet 'get-
Eksempel: Opprett en mappe
New-Item -Path 'X:\Guru99' -ItemType Directory
Utgang:
Powershell Datatyper
Spesielle variabler
Spesiell variabel | Tekniske beskrivelser |
---|---|
$Error | En rekke feilobjekter som viser de siste feilene |
$Vert | Vis navnet på gjeldende vertsapplikasjon |
$Profile | Lagrer hele banen til en brukerprofil for standardskallet |
$PID | Lagrer prosessidentifikatoren |
$PSUICulture | Den har navnet på den nåværende UI-kulturen. |
$NULL | Inneholder tom eller NULL verdi. |
$False | Inneholder FALSE verdi |
$True | Inneholder SANN verdi |
PowerShell-skript
Powershell-skript lagres i .ps1-fil. Som standard kan du ikke kjøre et skript ved å dobbeltklikke på en fil. Dette beskytter systemet mot utilsiktet skade. Slik kjører du et skript:
Trinn 1: Høyreklikk på den og klikk "Kjør med PowerShell."
Dessuten er det en policy som begrenser kjøring av skript. Du kan se denne policyen ved å kjøre kommandoen Get-ExecutionPolicy.
Du vil få en av følgende utdata:
- begrenset— Ingen skript er tillatt. Dette er standardinnstillingen, så den vises første gang når du kjører kommandoen.
- Allsignert— Du kan kjøre skript signert av en pålitelig utvikler. Ved hjelp av denne innstillingen vil et skript be om bekreftelse på at du vil kjøre det før det kjøres.
- Fjernsignert— Du kan kjøre ditt eller skript signert av en pålitelig utvikler.
- Ubegrenset— Du kan kjøre et hvilket som helst skript du vil kjøre
Trinn for å endre utførelsespolicy
Trinn 1) Åpne en forhøyet PowerShell-ledetekst. Høyreklikk på PowerShell og "Kjør som administrator"
Trinn 2) Skriv inn følgende kommandoer
- Get-ExecutionPolicy
- Angi utførelsespolicy ubegrenset
- Skriv inn Y i ledeteksten
- Get-ExecutionPolicy
Første PowerShell-skript
Skriv følgende kommando i en notisblokk
Write-Host "Hello, Guru99!"
PowerShell-skript har en utvidelse ps1. Lagre filen som FirstScript.ps1
I Powershell kaller du skriptet ved å bruke kommandoen
& "X:\FirstScript.ps1"
Hva er PowerShell ISE?
Ocuco Windows PowerShell Integrated Scripting Environment (ISE) er standardredigering for Windows PowerShell. I denne ISE kan du kjøre kommandoer, skrivetest og feilsøke skript i et GUI-miljø i et vindu. Du kan gjøre multiline redigering, syntaksfarging, tabulatorfullføring, selektiv utførelse og mange andre ting.
Windows PowerShell ISE lar deg også kjøre kommandoer i en konsollrute. Den støtter imidlertid også ruter som du kan bruke til samtidig å vise kildekoden til skriptet ditt og andre verktøy som du kan koble til ISE.
Du kan til og med åpne flere skriptvinduer samtidig. Dette er spesielt nyttig når du feilsøker et skript som bruker funksjoner definert i andre skript eller moduler.
Det samme skriptet som vi laget i notepad, kan lages i ISE
- Lim inn kode i editoren
- Lagre skript
- Bruk F5 for å kjøre skriptet
- Se utdata i konsollen
Eksempel 2:
Følgende kode vil gi gratis Virtuelt minne i maskinen din
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Nå i denne Powershell for nybegynneropplæringen vil vi lære om viktige Powershell-konsepter:
Cmdlets | Cmdlet er build-kommando skrevet på .net-språk som VB eller C#. Det lar utviklere utvide settet med cmdlets ved å laste og skrive PowerShell snap-ins. |
Funksjoner | Funksjoner er kommandoer som er skrevet på PowerShell-språket. Det kan utvikles uten å bruke andre IDE som Visual Studio og utviklere. |
scripts | Skript er tekstfiler på disk med filtypen .ps1 |
Applikasjoner | Applikasjoner er eksisterende Windows-programmer. |
Hva om | Forteller cmdleten om ikke å kjøre, men å fortelle deg hva som ville skje hvis cmdleten skulle kjøre. |
Bekrefte | Instruer cmdleten til å spørre før du utfører kommandoen. |
utførlig | Gir et høyere detaljnivå. |
Debug | Instruerer cmdleten å gi feilsøkingsinformasjon. |
Feilhandling | Instruerer cmdleten til å utføre en spesifikk handling når det oppstår en feil. Tillatte handlinger fortsetter, stopp, stille – fortsett og spør. |
ErrorVariable | Den spesifiserer variabelen som inneholder feilinformasjon. |
Utvariabel | Forteller cmdleten å bruke en spesifikk variabel for å holde utdatainformasjonen |
OutBuffer | Instruerer cmdleten å holde det spesifikke antallet objekter før den kaller neste cmdlet i pipelinen. |
Fordeler med å bruke PowerShell-skript
- PowerShell-skript er veldig kraftige og kan gjøre mye på færre linjer.
- Variabler er deklarert i formen $
- Variabler kan brukes til å holde utdataene til kommandoer, objekter og verdier.
- "Type" av en variabel trenger ikke spesifiseres.
PowerShell vs. Kommandoprompt
PowerShell | Ledetekst |
---|---|
PowerShell integreres dypt med Windows OS. Den tilbyr et interaktivt kommandolinjegrensesnitt og skriptspråk. | Kommandoprompt er et standard kommandolinjegrensesnitt som leveres av Microsoft. Det er en enkel win32-applikasjon som kan samhandle og snakke med alle win32-objekter i Windows operativsystem. |
PowerShell bruker det som er kjent som cmdlets. Det kan påberopes enten i kjøretidsmiljøet eller automatiseringsskriptene. | Ingen slike funksjoner tilbys via ledetekst. |
PowerShell anser dem som objekter. Så utgangen kan sendes som en inngang til andre cmdlets gjennom rørledningen. | Kommandoprompt eller til og med *nix-skallet, utdataene generert fra en cmdlet er ikke bare en tekststrøm, men en samling objekter. |
PowerShell er svært avansert når det gjelder funksjoner, muligheter og indre funksjon. | Kommandoprompten er veldig grunnleggende. |
Applikasjoner av Powershell
I dag har PowerShell blitt et ideelt valg for IT-administratorer ettersom det letter administrasjonsdrift og innsats i store bedriftsnettverk. La oss for eksempel anta at du administrerer et stort nettverk som inneholder mer enn fire hundre servere. Nå vil du implementere en ny sikkerhetsløsning. Denne sikkerhetsløsningen avhenger av en bestemt tjeneste som må kjøres på disse serverne.
Du kan sikkert logge på hver server og se om de har den tjenesten installert og kjører eller ikke. Men det krever absolutt mange menneskelige feil, da personalet trenger å bruke mye tid på denne ikke-produktive prosessen.
Men hvis du bruker PowerShell, kan du fullføre denne oppgaven på bare noen få minutter. Det er fordi hele operasjonen gjøres med et enkelt skript som samler informasjon om tjenestene som kjører på serverne.
Sammendrag
- Windows PowerShell er objektorientert automatiseringsmotor og skriptspråk
- Powershell tilbyr en godt integrert kommandolinjeopplevelse for operativsystemet
- PowerShell første versjon 1.0 ble utgitt i 2006
- PowerShell lar skript og cmdlets startes på en ekstern maskin
- PowerShell er forhåndsinstallert i alle nyeste versjoner av Windows
- En cmdlet er en lett kommando som brukes i Windows-base PowerShell-miljøet
- Get, Start, Out, Stop, Set, New er viktige PowerShell-kommandoer
- Boolean, Byte, Chat, Desimal, Desimal, Long er viktige datatyper for PowerShell
- $Error. $Host, $Profile, $PID, $PSUICulture, $NULL er noen spesielle variabler som brukes i PowerShell
- Ocuco Windows PowerShell Integrated Scripting Environment (ISE) er standardredigeringsprogrammet for PowerShell
- PowerShell integreres dypt med Windows OS mens kommandoprompt er et standard kommandolinjegrensesnitt som leveres av Microsoft
- PowerShell har blitt et ideelt valg for IT-administratorer ettersom det letter administrasjonsdrift og innsats i store bedriftsnettverk