Windows PowerShell-kommandoer Cheat Sheet

Hvis du er en superbruker av Windows, vet og forstår du sannsynligvis hvordan ulike operasjoner på PC-en kan ha mer enn bare én tilnærming, og at spesialiserte GUI-apper ofte er mer begrensende (og mindre tilfredsstillende, la oss være ærlige) enn å legge inn kommandoer i en kommandolinje manuelt. Det er bare den følelsen av tilfredshet når du ser den tekstveggen utfolde seg foran deg, og hvis resultatet ikke er en feil, gjør det det enda mer verdt.

På Windows-PCer er det bare to måter du kan oppnå dette på: gjennom CMD eller PowerShell. Selv om CMD er litt mer populær enn PowerShell, er den også mindre kraftig, gitt at motparten lar deg utføre mye flere operasjoner, inkludert de du kan kjøre gjennom CMD. Du kan si at PowerShell kombinerer kraften til den gamle CMD med skripting og cmdlet-evner, og gir deg en mengde muligheter angående operasjoner du kan utføre med den.

Imidlertid kan det store antallet mulige operasjoner du kan utføre ved å bruke PowerShell være ganske skremmende selv for erfarne brukere, for ikke å nevne brukere som aldri har hørt om CMD (for ikke å snakke om PowerShell) før. Ikke bekymre deg, men vi skal prøve å lære deg noen enkle triks du kan få med PowerShell og kanskje til og med huske på i det lange løp. Selv om dette «krasjkurset» vårt ikke vil tjene som en omfattende manual for PowerShell, vil det forhåpentligvis hjelpe deg å finne veien rundt PowerShell ved å gi deg noen tips og forklare en haug med kommandoer. Hvis du er klar, la oss begynne.

Hva er PowerShell?

Som vi kort har nevnt ovenfor, er PowerShell et kraftig verktøy som du kan bruke til et stort spekter av operasjoner. Mer enn det, PowerShell er en oppgaveautomatiseringsløsning som omfatter flere kraftige verktøy under panseret, inkludert, men ikke begrenset til, et kommandolinjeskall (som CMD), et skriptspråk, samt et rammeverk for konfigurasjonsadministrasjon.

I motsetning til andre skjell som bare kan akseptere og returnere tekst, kan PowerShell også godta og returnere .NET-objekter takket være den enestående mengden funksjoner som den omfatter. Noen av de viktigste skallrelaterte funksjonene til PowerShell er som følger:

Kommandoprediksjon og tabulatorfullføring
Støtte for parametere og kommandoalias
Omfattende kommandolinjehistorikk
Evnen til å kjede kommandoer gjennom rørledningen
Et hjelpesystem i konsollen som ligner på man-sider i Unix-baserte systemer

Det er imidlertid bare å skrape toppen av isfjellet siden, som vi har nevnt før, PowerShell er mer enn bare et skall; du kan bruke det som et kraftig skriptspråk for å automatisere systemadministrasjonsoperasjoner, men også hvis du ønsker å bygge, analysere, teste og distribuere løsninger i ulike miljøer.

Gitt at PowerShell er basert på .NET CLR (.NET Common Language Runtime), er det lett å se hvorfor alle inngangene og utgangene PowerShell jobber med er .NET-objekter. I tillegg er det absolutt ikke nødvendig å analysere tekstutdata bare slik at PowerShell kan trekke ut informasjon fra den. Blant PowerShells skriptfunksjoner du desember finn følgende:

Et omfattende formateringssystem som sikrer en ren, enkel utskrift
Lag dynamiske typer gjennom et omfattende typesystem
Du kan utvide PowerShells evner gjennom klasser, funksjoner, moduler og skript
Innebygd støtte for ulike dataformater, inkludert XML, JSON og CSV

Hvis du er mer interessert i å administrere og konfigurere bedriftsinfrastrukturen din gjennom kode, vil du gjerne høre at PowerShell også tilbyr deg denne muligheten gjennom administrasjonsrammeverket Desired State Configuration (DSC). Blant operasjonene du enkelt kan utføre ved å bruke PowerShells DSC, minner vi deg om:

Implementer ulike konfigurasjonsskjemaer ved å bruke enten push- eller pull-modeller
Design tilpassede skript og deklarative konfigurasjoner som du kan bruke for repeterbare distribusjoner i miljøet ditt
Håndheve ulike konfigurasjonsskjemaer
Rapport om konfigurasjonsavvik

PowerShell har en proprietær kommandolinje som kommer med et proprietært programmeringsspråk som ligner litt på Perl. Merk at PowerShell i begynnelsen ble utviklet for å hjelpe brukere med å administrere objekter på datamaskinene sine, men som du kan skjønne, har den kommet langt og brukes nå til mer omfattende, komplekse jobber.

For eksempel kan du bruke PowerShells omfattende arbeidsmiljø ikke bare til å utføre ulike systemadministrasjonsoperasjoner, men også for å automatisere dem slik at du ikke trenger å engasjere deg i kjedelige, repeterende oppgaver innimellom. Det er også ganske viktig å nevne at du kan få tilgang til en mengde ressurser gjennom bare ett program (dvs. PowerShell), inkludert, men ikke begrenset til:

Windows-administrasjonsinstrumentering
.NET Framework API
Ledeteksten
Windows-komponentobjektmodell
PowerShell-kommandoer

Nå for tiden er en av PowerShells mest populære formål å hjelpe sluttbrukere med å automatisere systemadministrasjonsoppgaver, og dermed hjelpe dem med å unngå å engasjere seg i en rekke kjedelige, repeterende operasjoner. Å eliminere den menneskelige faktoren fra repeterende handlinger har vist seg å øke effektiviteten og redusere menneskelige feil på grunn av ulike årsaker, så det er virkelig en vinn-vinn for alle.

Du kan bruke PowerShell til å utstede enkle eller mer komplekse kommandoer, men dette programmet kan også hjelpe deg med å lage skript basert på disse kommandoene, som kjøres automatisk av PowerShell. Videre er det en enestående mengde kommandoer du kan tilpasse og utstede etterpå kalt cmdlets.

Det er verdt å nevne at PowerShell er på tvers av plattformer og åpen kildekode, noe som betyr at du også kan bruke det på andre systemer som Mac eller Linux, uten å ty til triks og kompatibilitetsforbedrende verktøy som Wine eller Boot Camp.

Liste over grunnleggende PowerShell-kommandoer

Vi forstår at PowerShell desember føles litt skremmende, spesielt nå som du har oppdaget at det er mer enn bare en annen ledetekst på datamaskinen din, og den omfatter faktisk CMD-funksjoner, men også et spesifikt programmeringsspråk og forskjellige skript du kan bruke til å automatisere systemadministrasjonsoperasjoner.

Men hvis du føler deg fast bestemt på å mestre PowerShell og alt det har å tilby, anbefaler vi sterkt at du starter med de mest grunnleggende funksjonene. På den måten slipper du å rulle tilbake på måneder med fremgang når du har oppdaget at du ved et uhell brukte feil funksjon og alt arbeidet du har utført i mellomtiden begynner å ligne mer som et fjernt minne.

Det er nettopp derfor vi har utarbeidet en liste over grunnleggende kommandoer du trygt kan bruke i PowerShell-øktene dine for å teste funksjonene til dette kraftige programmet og se hvilken som gjør nøyaktig hva. Listen nedenfor inneholder kommandonavnene, deres aliaser og en kort beskrivelse av hva hver kommando gjør.

Merk at du kan bruke enten kommandonavn eller deres aliaser, og resultatet blir nøyaktig det samme. Grunnen til at man foretrekker å bruke aliaser er at de er mye raskere å skrive, og hvis du kan huske dem riktig og assosiere dem med deres tilsvarende kommandonavn, er det mer fornuftig hvis du vil få jobben gjort raskt.

Kommandonavn
Alias
Beskrivelse
Legg til innhold
ac
Lar deg legge til innhold (f.eks. ord eller data) til en fil
Add-PSSnapIn
asnp
Hjelper deg å legge til flere Windows PowerShell-snap-in-moduler til
denne timen
Klart innhold
clc
Sletter innholdet i et element uten å slette det faktiske elementet
Slett logg
clhy
Fjerner alle oppføringer fra kommandohistorikken
Clear-Host
klar
Tømmer vertsprogrammets skjerm
Clear-Host
cls
Gjør det samme som klart
Clear-Item
cli
Fjerner innholdet i et element uten å slette det faktiske elementet
Clear-ItemProperty
clp
Sletter en eiendoms verdi uten å slette selve eiendommen
Klar-variabel
clv
Sletter en variabels verdi
Sammenlign-objekt
sammenligne
Lar deg sammenligne to sett med objekter
Sammenlign-objekt
diff
Gjør det samme som å sammenligne
Connect-PSSession
cnsn
Lar deg koble til økter du har koblet fra på nytt
Konverter-bane
cvpa
Lar deg konvertere en Windows PowerShell-bane til en Windows
PowerShell-leverandørbane
Kopi-element
kopiere
Hjelper deg med å kopiere et element fra et bestemt sted til et annet
Kopi-element
cp
Gjør det samme som kopiering
Kopi-element
cpi
Gjør det samme som kopi og cp
Copy-ItemProperty
cpp
Lar deg kopiere en verdi og en egenskap fra et gitt sted til en
en annen
Deaktiver-PSBreakpoint
dbp
Hjelper deg å deaktivere bruddpunkter i gjeldende konsoll
Koble fra-PSSession
dnsn
Kobler deg fra gjeldende økt
Aktiver-PSBreakpoint
ebp
Lar deg aktivere bruddpunkter i gjeldende konsoll
Enter-PSSession
etsn
Hjelper deg å starte en interaktiv økt med en ekstern enhet
Avslutt-PSSession
exsn
Avslutter en interaktiv økt med en ekstern enhet
Eksport-alias
epal
Lar deg eksportere informasjon om aliaser som er definert for øyeblikket
til en utdatafil
Eksporter-Csv
epcsv
Lar deg konvertere objekter til flere kommaseparerte (CSV)
strenger og eksporterer strengene til et CSV-dokument
Eksport-PSSession
epsn
Importerer kommandoer fra en annen økt og eksporterer dem til en
Windows PowerShell-modul
For hvert objekt
%
Utfører en spesifikk operasjon mot hvert av elementene som finnes
i en samling av inngangsobjekter
For hvert objekt
for hver
Gjør det samme som %
Format-Egendefinert
fc
Hjelper deg å bruke en tilpasset visning for å formatere utdataene
Format-liste
fl
Lar deg formatere utdataene som en egenskapsliste hvor hver egenskap
er plassert på en ny linje
Format-tabell
ft
Lar deg formatere utdataene som en tabell
Bredt format
fw
Hjelper deg å formatere objekter som brede tabeller hvor kun én egenskap av
hvert objekt vises
Få-alias
gal
Henter aliaser for gjeldende økt
Get-ChildItem
dir
Henter en liste over alle filene og mappene i en filsystemstasjon
Get-ChildItem
gci
Gjør det samme som dir
Get-ChildItem
ls
Gjør det samme som dir og gci
Hent-kommando
gcm
Henter en liste over alle kommandoer du kan bruke
Hent-innhold
katt
Viser innholdet i en fil
Hent-innhold
gc
Gjør det samme som katt
Få-historie
ghy
Henter en liste over alle kommandoene du skrev inn under gjeldende økt
Få-historie
h
Gjør det samme som ghy
Få-historie
historie
Gjør det samme som ghy og h
Get-Item
gi
Lar deg hente filer og mapper
Get-ItemProperty
gp
Henter egenskapene til elementet du spesifiserte
Få jobb
gjb
Henter en liste over alle Windows PowerShell-bakgrunnsjobbene som er
kjører i økten din
Få plassering
gl
Henter informasjon om gjeldende posisjonsstabel eller arbeidsplassering
Få plassering
pwd
Gjør det samme som gl
Få-medlem
gm
Henter alle egenskapene og metodene til spesifiserte objekter
Få-modul
gmo
Henter en liste over importerte moduler eller moduler som kan importeres til
denne timen
Få-prosess
gps
Henter en liste over alle prosessene som kjører lokalt eller på en ekstern
datamaskin
Få-prosess
ps
Gjør det samme som gps
Få-PSBreakpoint
gbp
Henter alle bruddpunktene som er satt i gjeldende økt
Get-PSCallStack
gcs
Viser gjeldende anropsstabel
Få PSDrive
gdr
Henter stasjonene i gjeldende økt
Get-PSSession
gsn
Henter en liste over lokale og eksterne Windows PowerShell-økter
Få-PSSnapIn
gsnp
Henter en liste over alle Windows PowerShell-snap-in-modulene på datamaskinen
Få-service
gsv
Viser alle tjenestene på en lokal eller ekstern datamaskin
Get-Unique
gu
Henter unike elementer fra en sortert liste
Get-Variable
gv
Viser en liste over alle variablene i gjeldende konsoll
Get-WmiObject
gwmi
Henter Windows Management Instrumentation (WMI) klasser
forekomster eller informasjon om tilgjengelige klasser
Gruppe-objekt
gruppe
Lar deg gruppere objekter som inneholder samme verdi for egenskapene
som du spesifiserer
hjelp
Mann
Viser flere detaljer om Windows PowerShell-kommandoer og
begreper
Import-alias
ipal
Lar deg importere en liste over aliaser fra en fil
Import-Csv
ipcsv
Bygg tabelllignende egendefinerte objekter ved å bruke alle elementene i
en CSV-fil
Import-modul
ipmo
Importer moduler til gjeldende økt
Import-PSS sjon
ipsn
Importerer kommandoer fra en annen økt til gjeldende økt
Påkalle-kommando
icm
Lar deg utføre kommandoer på lokale og eksterne datamaskiner
Invoke-Expression
iex
Lar deg utføre kommandoer eller uttrykk på den lokale datamaskinen
Invoke-Historie
ihy
Utfører kommandoer fra økthistorikken din
Invoke-Historie
r
Gjør det samme som ihy
Invoke-Item
ii
Utfører standardhandlingen på et spesifisert element
Invoke-RestMethod
irm
Sender enten en HTTP- eller en HTTPS-forespørsel til en RESTful-netttjeneste
Invoke-WebRequest
krølle
Henter innhold fra en nettside på Internett
Invoke-WebRequest
iwr
Gjør det samme som curl
Invoke-WMIM-metoden
iwmi
Lar deg ringe Windows Management Instrumentation (WMI)
metoder
Mål-objekt
måle
Bestemmer numeriske egenskaper til objekter, så vel som ord,
linjer og tegn i strengobjekter
mkdir
md
Oppretter et nytt element (katalog)
Flytt-element
mi
Lar deg flytte et element fra et bestemt sted til et annet
Flytt-element
bevege seg
Gjør det samme som mi
Flytt-element
mv
Gjør det samme som mi og flytte
Move-ItemProperty
smp
Lar deg flytte en eiendom fra et bestemt sted til et annet
Ny-alias
nal
Lar deg opprette et nytt alias
Ny gjenstand
ni
Lar deg lage et nytt element
Ny-modul
nmo
Genererer en ny dynamisk modul som bare eksisterer i minnet
Ny PSDrive
montere
Lar deg lage midlertidige og vedvarende kartlagte nettverksstasjoner
Ny PSDrive
ndr
Gjør det samme som å montere
Ny-PSSession
nsn
Etablerer en vedvarende tilkobling til en lokal eller ekstern datamaskin
Ny-PSSessionConfigurationFile
npssc
Oppretter en øktkonfigurasjonsfil
Ny-variabel
nv
Lar deg lage en ny variabel
Out-GridView
ogv
Lar deg sende utdata til en interaktiv tabell i et eget vindu
Ut-vert
Åh
Sender utdataene til kommandolinjen (CMD)
Ut-skriver
lp
Lar deg sende utdataene til en skriver
Pop-Location
popd
Endrer din nåværende posisjon til posisjonen som ble skjøvet til
stabel sist. Du kan bruke Push-Locationcmdlet (pushd) til
pop plasseringen enten standardstabelen eller fra en stabel du oppretter.
powershell_ise.exe
jeg forstår
Viser en forklaring på hvordan du kan bruke PowerShell_ISE.exe
kommandolinjeverktøy
Push-Location
pushd
Legger til gjeldende plassering til toppen av en plasseringsstabel
Motta-Jobb
rcjb
Henter resultatene av gjeldende økt Windows PowerShell bakgrunn
arbeidsplasser
Motta-PSSession
rcsn
Henter resultater av kommandoer fra frakoblede økter
Fjerne gjenstand
del
Fjerner filer og mapper
Fjerne gjenstand
viske ut
Gjør det samme som del
Fjerne gjenstand
rd
Gjør det samme som del og slett
Fjerne gjenstand
ri
Gjør det samme som del, erase og rd
Fjerne gjenstand
rm
Gjør det samme som del, erase, rd og ri
Fjerne gjenstand
rmdir
Sletter mapper
Remove-ItemProperty
rp
Lar deg slette en egenskap og dens verdi fra et gitt element
Fjern-jobb
rjb
Lar deg slette en Windows PowerShell-bakgrunnsjobb
Fjern-modul
rmo
Hjelper deg å fjerne moduler fra din nåværende økt
Fjern-PSBreakpoint
rbp
Lar deg fjerne bruddpunkter fra gjeldende konsoll
Fjern-PSDrive
rdr
Fjerner midlertidige Windows PowerShell-stasjoner, samt kobler fra
kartlagte nettverksstasjoner
Fjern-PSSession
rsn
Lar deg lukke én eller flere Windows PowerShell-økter (PSSessions)
Fjern-PSSnapin
rsnp
Lar deg fjerne Windows PowerShell-snap-in-moduler fra gjeldende
økt
Fjern-variabel
rv
Fjerner en variabel og dens verdi
Fjern-WMIObject
rwmi
Lar deg slette en forekomst av en eksisterende Windows-administrasjon
Instrumentering (WMI) klasse
Gi nytt navn til element
ren
Hjelper deg å gi nytt navn til et element i et Windows PowerShell-leverandørnavneområde
Gi nytt navn til element
rni
Gjør det samme som ren
Gi nytt navn til vareegenskap
rnp
Gjør det mulig å gi nytt navn til en vares egenskap
Løs-sti
rvpa
Løser jokertegn i en bane, samt viser innholdet
av stien
Gjenoppta jobb
rujb
Hjelper deg å starte en jobb som ble suspendert på nytt
Velg-objekt
plukke ut
Lar deg velge objekter så vel som deres egenskaper
Set-alias
sal
Lar deg opprette eller endre en cmdlets eller kommandoelements alias
(alternativt navn) i den gjeldende Windows PowerShell-økten
Sett-innhold
sc
Lar deg erstatte en fils innhold med innhold du angir.
Sett-vare
si
Endrer et elements verdi til en verdi som er angitt i kommandoen
Sett-plassering
cd
Lar deg angi gjeldende arbeidsplassering til et spesifisert sted (endringer
den aktive plasseringen)
Sett-plassering
chdir
Gjør det samme som cd
Sett-PSBreakpoint
sbp
Lar deg angi et bruddpunkt på en kommando, variabel eller linje
Sett-variabel
sett
Gjør det mulig å angi en variabels verdi eller genererer en variabel hvis en med
det forespurte navnet eksisterer ikke
Vis-kommando
shcm
Viser en liste over Windows PowerShell-kommandoer i en grafikk
kommandovinduet
Start-Jobb
sajb
Starter en bakgrunnsjobb i Windows PowerShell
Start-prosess
sapper
Lanserer en eller flere lokale prosesser
Start-Service
sasv
Lar deg starte en eller flere stoppede tjenester
Stopp-prosess
drepe
Hjelper deg å stoppe en eller flere prosesser som kjører
Hvor-objekt
?
Lar deg velge bestemte objekter fra en samling basert på deres
eiendomsverdier
Skrive-utgang
ekko
Lar deg sende et objekt til neste kommando i pipelinen. Hvis det
når den siste kommandoen i pipelinen, vil kommandoen vises
objektene i konsollen

Ikke la den store mengden grunnleggende PowerShell-kommandoer skremme deg. Selv om vi kalte dem grunnleggende, er det absolutt ikke nødvendig for deg å begynne å huske dem. Det er faktisk den nøyaktige grunnen til at vi laget tabellen ovenfor slik at du kan fortsette arbeidet ditt uten å bekymre deg for å måtte huske hver eneste kommando vi nevnte ovenfor.

Du kan bruke den som en rask oppfriskning eller til og med bruke nettleserens søkefunksjon for å finne en bestemt kommando, dens alias og hva den gjør hvis du er forvirret. Selv om vi allerede har inkludert denne informasjonen i tabellen ovenfor, hvis du noen gang er forvirret mens du arbeider i PowerShell, vil bruk av hjelpekommandoen vise noen nyttige detaljer om hvordan du kan bruke dette programmet og dets kommandoer mer effektivt.

Du kan også pare hjelpekommandoen med en annen kommando eller alias hvis du vil ha mer informasjon om den spesifikke kommandoen. Dette er for eksempel hva PowerShell viser når du skriver hjelp Add-Computer:

Du kan imidlertid bruke hjelp med alle andre av kommandoene eller deres aliaser i tabellen ovenfor. Sørg for at du forstår at den samme kommandoen kan ha flere aliaser, noe som betyr at du kan oppnå samme resultat ved å bruke forskjellige aliaser. Selv om dette desember høres forvirrende ut, det gir deg faktisk mye fleksibilitet i tilfelle du ikke kan huske ett kommandoalias, men du husker en annen som kan hjelpe deg med å oppnå det samme målet.

Bruker PowerShell

Naturligvis er det første du vil gjøre å finne PowerShell og starte det. En sikker måte å starte PowerShell fra omtrent hvor som helst du er på PC-en din, er å holde nede Shift-knappen på tastaturet, høyreklikke på et tomt sted på skjermen (ikke en meny, et ikon, en knapp eller lignende objekt), og velg Åpne PowerShell-vinduet her fra hurtigmenyen.

I tillegg til å gi deg rask tilgang til PowerShell-konsollen hvor som helst på PC-en din, vil dette automatisk bytte standard arbeidskatalog for PowerShell til den du befinner deg på. Hvis du er på en Windows 10-PC, kan du også starte PowerShell ved å trykke på Win-tasten på tastaturet, skrive PowerShell i Start-menyen og velge PowerShell når det blir synlig i resultatlisten.

På eldre versjoner av Windows, må du manuelt finne den kjørbare PowerShell-filen, som du enten finner i mappene Tilbehør eller System i Start-menyen. Videre, for å se hvordan eldre systemer (som Windows 7) ikke gir deg PowerShell som standard, må du også installere det på datamaskinen din, sammen med alle avhengighetene.

Legg merke til hvordan start av PowerShell fra Start-menyen vil sette den aktive arbeidskatalogen din til C:Users[your username here]. Til sammenligning vil bruk av Shift + Høyreklikk-metoden vi har presentert ovenfor sette PowerShells aktive katalog til den du befinner deg på når du starter konsollen. For eksempel, hvis du bruker Shift + høyreklikk og åpner PowerShell fra skrivebordet ditt, vil du legge merke til at den aktive katalogen vil være C:Users[your username here]Skrivebord. Av åpenbare grunner [your username here] delen vil være forskjellig avhengig av brukernavnet ditt.

Selv om du kan beholde PowerShell for hjemmebruk helt fint, er det bedre om du kan bruke alt det har å tilby. Disse funksjonene gjør forøvrig PowerShell fantastisk for bedriftsbruk, hvor du må utføre et stort antall operasjoner på kort tid, og mest sannsynlig på et stort antall enheter.

I stedet for å kjøre hver kommando manuelt på hver enkelt maskin, kan du ganske enkelt lage et automatiseringsskript i PowerShell og motta informasjonen du trenger automatisk, uten å måtte samhandle fysisk med enhetene i tilfelle eller til og med være i nærheten av dem. Akkurat som CMD kan PowerShell brukes gjennom kommandolinjer. Men i motsetning til det mer rudimentære motstykket (dvs. CMD), lar PowerShell deg også tilkalle skript og cmdlets, noe som gjør det kraftigere, men også mer komplisert å bruke.

Hvordan bruke cmdlets

Vi har brukt begrepet cmdlets ganske mange ganger i guiden vår, så du lurer nok på hva de betyr. Vel, for å starte på begynnelsen, er det verdt å minne deg på at CMD fungerer med kommandoer. En cmdlet, som uttales command-let, er også en kommando, men i motsetning til tradisjonelle CMD-kommandoer, er cmdlets spesifikke for PowerShell og lar deg utføre enkeltspesifikke operasjoner, som å kopiere filer, flytte elementer fra ett sted til et annet, endre den aktive katalog, eller se innholdet i et element.

Enkelt sagt, cmdlets er enkeltfunksjonskommandoer som du kan skrive direkte i PowerShells kommandolinje. Hvis du har noen tidligere erfaring med CMD, vil du finne PowerShell noe intuitivt å jobbe med. En interessant ting med PowerShell er at den deler mange kommandoer med CMD. Derfor vil bruk av CD med PowerShell fortsatt endre den aktive katalogen din, DIR vil fortsatt vise innholdet i gjeldende mappe, og CP vil fortsatt la deg kopiere et element fra ett sted til et annet.

Det er ganske verdt å nevne at PowerShell ikke skiller mellom store og små bokstaver, i motsetning til mange andre skjell, som returnerer feil hvis du savner å bruke riktig store og små bokstaver når du skriver kommandoene dine i dem. Dermed vil copy-item fungere like bra som Copy-Item, og hvis du ikke husker noen av dem kan du også bruke Copy, CP og CPI (men også copy, COPY, cp eller cpi).

De fleste PowerShell-cmdlets er skrevet i C# og er spesialbygd for å utføre operasjoner som vil returnere et .NET-objekt som resultat. For øyeblikket kan du finne mer enn et par hundre cmdlets du kan bruke i PowerShell, som, la oss være rettferdige, gir deg mer enn bare et lite albuerom når det gjelder å utføre operasjoner.

Selv om det vil være vanskelig å huske alle cmdletene du desember må jobbe med (husk at du kan bruke tabellen ovenfor), er det noen få du vil bruke oftere, noe som vil gjøre dem utrolig enkle å huske. For ikke å nevne det faktum at noen av dem er intuitive nok til at navnet deres faktisk gir bort deres formål (f.eks. kopiering brukes til å kopiere elementer, flytting kan brukes til å flytte filer, sammenligning hjelper deg med å sammenligne sett med objekter, osv.).

Men hvis du ikke akkurat er i humør til å bokmerke denne artikkelen for å bruke den senere, kan du også skrive inn Get-Command-cmdleten i PowerShell, eller gcm, hvis du vil holde ting kort. Hvis du gjør det, vises en fullstendig liste over kommandoer som er tilgjengelige for deg, og du kan bruke den listen til å planlegge på forhånd hva det er du prøver å gjøre.

Låser opp egendefinerte cmdlets

På minussiden gir Microsoft deg ikke bare full tilgang til hele utvalget av cmdlets som du kan bruke i PowerShell som standard, så du må hoppe gjennom en haug med ekstra bøyler for å låse opp denne funksjonen og bruke den på fritid. Den gode nyheten er at opplåsingsprosessen ikke tar lang tid, og så er det det faktum at det også kan gjøres gjennom PowerShell, noe som vil gi deg god trening. Uten videre, la oss se hvordan du kan låse opp tilpassede cmdlets-privilegier i PowerShell.

Logg på en administratorkonto (det fungerer ikke uten administratorrettigheter)
Start PowerShell med administratorrettigheter (Kjør som administrator)
Skriv inn følgende kommando i PowerShell og trykk Enter:

Hvis det gjøres riktig, vil PowerShell spørre deg med en dialogboks som ber deg om den nye ExecutionPolicy-verdien
Skriv RemoteSigned i PowerShell-ledeteksten og trykk Enter
PowerShell vil gi deg beskjed om risikoen ved å endre verdien av ExecutionPolicy
Skriv Y og trykk Enter-tasten
Hvis du trenger å slå av egendefinerte cmdlets, følg bare trinn 1-4, og når PowerShell ber deg om å skrive inn verdien, skriv Begrenset og bekrefte valget ditt som du gjorde i trinn 7

Hvis du ønsker å strømlinjeforme hele prosessen og ikke kaste bort tid på å skrive alt ned i PowerShells ledetekst, vil du gjerne lære at det er en enda enklere måte å oppnå samme resultat på. Start PowerShell med administratorrettigheter som du gjorde i trinn én, og i stedet for å skrive hver kommando og vente på ledeteksten, vil du sende alt frem til bekreftelsen ved å skrive dette:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Naturligvis må du fortsatt bekrefte valget ditt ved å skrive Y og trykke Enter på tastaturet, men du hoppet bare over et trinn og utførte en rekke operasjoner samtidig. Dette er nettopp grunnen til at avanserte PowerShell-brukere lager automatiseringsskript for å utføre ulike administrasjonsoperasjoner automatisk: for å spare tid og bryderi. Hvis du vil, kan du bruke samme kommando ovenfor for å deaktivere tilpassede cmdlets på systemet ditt, men du må erstatte RemoteSigned med Restricted og også bekrefte valget ditt på slutten.

Du kan også bruke AllSigned og Unrestricted for å gi deg selv enda flere privilegier når det gjelder å kjøre potensielt usikre skript på Windows PowerShell. AllSigned-alternativet lar deg kjøre alle skript som ble opprettet av pålitelige utgivere, mens alternativet Ubegrenset vil gjøre det mulig for PowerShell å kjøre et hvilket som helst skript, uavhengig av dets opprinnelse og pålitelighet. Naturligvis er alternativet Ubegrenset også det farligste, så prøv å unngå det så godt du kan, hvis mulig, spesielt hvis du er en nybegynner på PC.

Se? PowerShell begynner allerede å se mye mer tilgjengelig ut enn det gjorde for bare noen få minutter tilbake.

Hvordan lage og bruke skript i PowerShell

Som vi har nevnt før, og vi er helt sikre på at du husker, kan du bruke PowerShell til å kjøre automatiseringsskript. Du kan imidlertid ikke bare rope til PowerShell «Hei du, lag dette skriptet for meg!» og forvent at det på magisk vis fungerer, så du må legge i litt albuefett og få det gjort selv. Uansett upraktisk dette desember lyd akkurat nå, stol på oss, du vil være takknemlig i det lange løp, med tanke på alt arbeidet du ikke trenger å gjøre lenger.

Selv om de fleste av oss er avhengige av spesialisert programvare som IDE-er for å lage skript eller programmer på et spesifikt programmeringsspråk, kan du ærlig talt bruke hvilken som helst tekstredigerer så lenge den kan lagre filer til riktig utvidelse. Og selv om den ikke kan det, kan du bare navigere til filen du opprettet og endre utvidelsen manuelt ved å gi den nytt navn, men la oss gå tilbake til sauene våre.

Hvis du er interessert i å lage et skript som kan fungere i PowerShell, vil du bli begeistret over å lære at dette skriptet du sikkert har hørt mye om, bare er et tekstdokument med en utvidelse som gjør det kompatibelt med PowerShell, PS1 . Derfor er det lett å se hvorfor det å lage disse skriptene faktisk kan håndteres fra praktisk talt et hvilket som helst tekstredigeringsprogram, så lenge du lagrer det med riktig (PS1)-utvidelse.

Write-host «Vennligst skriv inn navnet ditt:»

$Name = lesevert

«Hei $Name! Besøk wdzwdz.com for flere fantastiske opplæringsprogrammer og guider!»

Nå for selve skapelsen:

Start Notisblokk (eller et annet tekstredigeringsprogram for den saks skyld)
Kopier koden ovenfor (skriptet du skal lage og kjøre)
Lim den inn i det nye Notisblokk-dokumentet
Bruk CTRL + S for å lagre dokumentet
Skriv inn script.ps1 som filnavn
Lagre filen et tilgjengelig sted
Åpne en PowerShell-instans med administratorrettigheter (veldig viktig)
Sørg for at du har aktivert tilpassede skript på systemet ditt (sjekk avsnittene ovenfor)
Naviger til stedet der du lagret skriptet
Skriv inn hele banen til skriptet for å kjøre det
For eksempel, hvis skriptet ditt er i en Script-mappe på C-stasjonen, vil kommandoen din være C:Scriptsscript.ps1
Alternativt kan du ganske enkelt navigere til plasseringen av skriptet ditt og bruke denne kommandoen til å kjøre det: .script.ps1

Hvis du ikke kan kjøre skriptet og PowerShell returnerer en feil, må du kontrollere at du har aktivert PowerShell til å kjøre tilpassede skript på systemet ditt, og at du kjører PowerShell som administrator. Hvis du ikke gjør noen av eller begge tingene som vi har spesifisert i instruksjonene våre, vil det mest sannsynlig resultere i en feil og du vil ikke kunne kjøre skriptet.

Husk at dette bare er et grunnleggende manus som ligner litt på klassikeren «Hallo, verden!» en. Den setter en snurr på det ved å samhandle med deg (dvs. spørre hva du heter) og la deg samhandle med det (dvs. skrive navnet ditt som vil bli brukt til å skrive ut en melding for deg). PowerShell er imidlertid i stand til å kjøre langt mer komplekse skript, alt fra å samle inn data fra en rekke maskiner til intrikate dataadministrasjon, avanserte systemkonfigurasjonsoperasjoner og til og med lage sikkerhetskopier av SQL-databaser på et øyeblikk.

Hvordan kan jeg sikkerhetskopiere SQL-databaser med PowerShell?

Vi er glade for at du spurte. Som vi har nevnt utallige ganger i guiden vår, er det nesten uendelige muligheter når det kommer til operasjoner som PowerShell kan hjelpe deg med å utføre. En av de mest populære er å sikkerhetskopiere en SQL-database uten å måtte gå langt eller ha ekstraordinære databaseadministrasjonsegenskaper. Alt du trenger å gjøre er å starte opp en forhøyet forekomst av PowerShell (med administratorrettigheter) og bruke Backup-SqlDatabase-kommandoen. Ting er imidlertid litt mer komplisert enn som så, men vi kommer til det om noen få.

Å sikkerhetskopiere en SQL-database er ikke så enkelt som å kopiere filer fra PC-en til et trygt sted og håpe at de forblir trygge når du desember trenger dem for å utføre datagjenopprettingsoperasjoner, men på den lyse siden kan bruk av PowerShell få det til å se ut som en tur i parken. Selv om det er flere måter å oppnå dette på, er bruk av kommandoen vi har nevnt ovenfor den raskeste og enkleste måten å sikkerhetskopiere en SQL-database på.

Blant funksjonene til Backup-SqlDatabase-kommandoen er det mulig å finne fullstendige sikkerhetskopier av databaser, sikkerhetskopier av databasefiler, samt sikkerhetskopier av transaksjonslogger, slik at du får hele pakken i ett enkelt kommandolinjeverktøy. Som standard vil bruk av denne kommandoen utføre en fullstendig sikkerhetskopiering av databasen, så du må spesifisere om du vil at den skal følge et bestemt sett med regler ved å bruke parameteren BackupFile.

Merk at noen versjoner av PowerShell ikke har denne kommandoen som standard, så du må enten importere den eller installere den. Den gode nyheten er at installasjon av SQL-modulen ikke akkurat er rakettvitenskap og kan oppnås selv av nybegynnere. Her er hva du må gjøre hvis du ikke kan bruke Backup-SqlDatabase-kommandoen i PowerShell-økten:

Start PowerShell med administratorrettigheter
Skriv inn følgende kommando:

Når du blir bedt om å bekrefte handlingene dine, skriv Y og trykk Enter på tastaturet
Bekreft det uklarerte depotet en gang til ved å skrive Y og Enter
Når installasjonen er fullført, skriv inn følgende kommando:

Prøv å kjøre Backup-SqlDatabase-kommandoen ved å skrive den på PowerShell-kommandolinjen
Hvis det fungerer, bør du se at PowerShell ber deg om å oppgi verdier for noen parametere
Hvis det ikke fungerer, sørg for at du har satt PowerShells tillatelse til å la den kjøre tilpassede skript

1. Fullfør sikkerhetskopiering av SQL-databasen

Backup-SqlDatabase -ServerInstance «ComputerInstance» -Database «wdzwdz»

Kommandoen vi har eksemplifisert ovenfor vil generere en fullstendig databasesikkerhetskopi av en database kalt wdzwdz og lagre den til standard sikkerhetskopieringsplassering for «ComputerInstance»-serverforekomsten som «wdzwdz.bak».

2. Utfør en stedsbasert databasesikkerhetskopiering

Angi plassering «SQLSERVER:SQLComputerInstance»
PS SQLSERVER:SQLComputerInstance> Backup-SqlDatabase -Database «wdzwdz»

Den første kommandoen ovenfor vil endre posisjonen din til den aktive katalogen i serverforekomsten som sikkerhetskopieringen skal foregå på. I hovedsak fungerer denne teknikken nesten som den fullstendige databasesikkerhetskopieringen vi har eksemplifisert ovenfor, men i dette eksemplet kan du endre arbeidskatalogen for å finne serverforekomsten der sikkerhetskopieringen skjer.

Denne operasjonen vil også lage en fullstendig sikkerhetskopi av en database kalt wdzwdz og eksportere den som en «wdzwdz.bak»-fil på standardplasseringen til serverforekomsten du er koblet til.

3. Utfør en sikkerhetskopi av transaksjonslogg

Backup-SqlDatabase -ServerInstance «ComputerInstance» -Database «wdzwdz» -BackupAction Log

Hvis du bare trenger å sikkerhetskopiere transaksjonsloggen til en spesifikk database, kan PowerShell også hjelpe deg å gjøre det gjennom en enkelt kommando du kan legge inn rett i kommandolinjegrensesnittet. Kommandoen ovenfor vil generere en sikkerhetskopi av «wdzwdz»-databasens transaksjonslogg og eksportere den til standardplasseringen for «ComputerInstance»-serverforekomsten som en fil kalt «wdzwdz.trn».

4. Lag en kryptert SQL-databasesikkerhetskopi

$EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName «BackupCert»
Backup-SqlDatabase -ServerInstance «.» -Database «wdzwdz» -BackupFile «wdzwdz.bak» -CompressionOption On -EncryptionOption $EncryptionOption

Hvis du er bekymret for at databasen din sikkerhetskopieres desember faller i feil hender, kan PowerShell også hjelpe deg med å lage ferdigkrypterte sikkerhetskopifiler. Naturligvis må du spesifisere noen parametere som krypteringsalgoritmen, krypteringstypen (dvs. sertifikat), serverforekomst, databasenavn, sikkerhetskopifil, og hvorvidt du vil at utdataene skal komprimeres.

Eksemplet ovenfor vil lage en sikkerhetskopi av en bestemt «wdzwdz»-database, kryptere den med AES-256-kryptering og et serversertifikat, komprimere den og lagre den resulterende «wdzwdz.bak»-filen på serverforekomstens standard sikkerhetskopiplassering. Dette er ganske viktig hvis du planlegger en migrering og ikke har noen sikker måte å transportere alle sikkerhetskopifiler på uten å risikere å fremmedgjøre noen av dem.

5. Utfør en sikkerhetskopi av alle databaser i en serverforekomst

Get-ChildItem «SQLSERVER:SQLComputerInstanceDatabases» | Backup-SqlDatabase

Et annet verktøy som desember komme godt med er PowerShells evne til å sikkerhetskopiere alle databasene på en serverforekomst samtidig. Uavhengig av antallet, starter du bare opp PowerShell, skriver inn en tilpasning av kommandoen ovenfor og venter på at sikkerhetskopieringsprosessen skal avsluttes. Merk at siden dette vil sikkerhetskopiere alle databasene i serverforekomsten, vil du desember må vente en stund, så vær tålmodig.

Kommandoen ovenfor vil sikkerhetskopiere alle databasene som ligger på «ComputerInstance»-serverforekomsten og eksportere de resulterende filene til standard sikkerhetskopieringsplassering på samme serverforekomst. Navnene på sikkerhetskopifilene vil bli generert automatisk i henhold til hver enkelts tilsvarende database etterfulgt av BAK-utvidelsen (dvs. .bak).

Selv om det er flere metoder for å utføre SQL-sikkerhetskopiering med PowerShell på forskjellige måter, har vi bare presentert noen få som vi følte var viktigere. Merk at kommandoene vi brukte i eksemplene ovenfor sannsynligvis ikke vil fungere på miljøet ditt i sin nåværende form, så du må tilpasse dem til din nåværende situasjon.

Du må for eksempel endre «ComputerInstance»-parameteren slik at den samsvarer med din egen serverforekomst og endre navnet på databasen for å gjenspeile navnet på din egen database. Husk at du alltid kan gå til hjelpekommandoen i PowerShell hvis du noen gang føler at kommandoen du prøver å kjøre er forvirrende eller ikke fungerer som den skal.

Må kjenne til PowerShell-kommandoer

1. Få hjelp

Vi kan ikke understreke dette nok, men Get-Help-kommandoen bør være den første du noen gang lærer, siden den kan komme deg ut av mange vanskelige situasjoner der du ikke er helt sikker på om du bruker riktig kommando, eller nøyaktig hva du kan oppnå med kommandoen du prøver å distribuere.

Nå som du har installert sqlserver-modulen på systemet ditt, kan du prøve Get-Help-kommandoen nå og se hvordan Backup-SqlDatabase fungerer. Bare skriv Get-Help Backup-SqlDatabase på kommandolinjen i PowerShell og frisk opp ferdighetene dine for PowerShell SQL-databasesikkerhetskopiering.

Merk at hvis du nylig har installert sqlserver-modulen på systemet ditt, vil hjelpedatabasen desember fortsatt være utdatert, og du desember må kjøre en oppdatering på den slik at den kan fange opp nye skript. Som standard vil PowerShell oppdage at innholdet du prøver å nå er tilgjengelig online, men du kan ikke få tilgang til det lokalt, og til og med tilby å oppdatere databasen for deg. I dette tilfellet er alt du trenger å gjøre å skrive Y når du blir bedt om det og trykke Enter-tasten på tastaturet.

Men hvis PowerShell bare ber deg om en feilmelding om at det ikke er noen hjelpemanual tilgjengelig for kommandoen du er interessert i, kan du oppdatere den manuelt ved å skrive Update-Help og trykke Enter-tasten på tastaturet. Etter at oppdateringsprosessen er over, bør du kunne sjekke tilgjengelig hjelpedokumentasjon for kommandoen du er interessert i.

2. Få-prosess

Get-Process er viktig hvis du vil finne ut mer om systemet du jobber med. For å være mer spesifikk, selv om du kanskje har gjettet hva denne kommandoen gjør allerede ved bare å se på den, vil Get-Process gi deg en liste over alle prosessene som for øyeblikket kjører på systemet du jobber med.

Som standard vil Get-Process hente en liste over hver prosess som kjører på det gjeldende systemet du jobber med, slik at du desember må legge til noen ekstra parametere til denne kommandoen hvis du vil ha mer spesifikk informasjon og begrense listen over resultater. Sjekk ut i skjermbildene nedenfor hva du får når du kjører Get-Process-kommandoen alene versus hvordan den ser ut hvis du er mer spesifikk og formaterer resultatene.

Get-Process explorer | Format-liste *

Den andre kommandoen kan tilpasses for å vise ytterligere detaljer om enhver aktiv prosess på systemet ditt. Du kan erstatte explorer med svchost eller Chrome eller en annen aktiv prosess på systemet ditt som du er interessert i. Som vi har nevnt ovenfor, kan bruk av Get-Processer i seg selv hjelpe deg med det (dvs. å finne en liste over alle kjørende prosesser ).

3. Stopp-prosess

Denne kommandoen er ganske selvforklarende, som deg desember har allerede funnet ut at det kan hjelpe deg med å stoppe prosesser som for øyeblikket kjører på systemet ditt. Den vanligste årsaken til å gjøre det fra PowerShell og ikke ved å bruke Windows Task Manager er at noen ganger kan prosesser fryse og gjøre GUI-apper knapt brukbare.

PowerShell-brukere kan enkelt identifisere en plagsom prosess ved å bruke Get-Process-kommandoen vi tidligere har forklart, og deretter bruke Stop-Process for å avslutte den, og dermed fjerne tilstopping av systemet. Å kjøre Stop-Process av seg selv (uten noen ekstra parameter) i PowerShell-kommandolinjegrensesnittet vil be deg om å legge inn ID-en til prosessen du prøver å avslutte.

Du kan imidlertid også avslutte en prosess med navnet (hvis du kjenner det) ved å legge til -Name-parameteren til cmdleten, som i eksemplet nedenfor:

Stopp-prosess – Navn «utforsker»

Kommandoen ovenfor vil avslutte Explorer-prosessen, som kan være nyttig, spesielt hvis den fryser eller krasjer på deg og nekter å laste inn riktig. Merk at du må bruke anførselstegn når du spesifiserer navnet på prosessen du prøver å avslutte. Hvis en prosess er sta og nekter å avslutte (vanligvis gjør høyere klareringsprosesser det), kan du «overbevise» den ved å legge til en -Force-parameter til kommandoen din. Si for eksempel at du ikke kan avslutte Explorer-prosessen. I dette tilfellet kan du ganske enkelt skrive inn kommandoen nedenfor:

Stopp-prosess -Force -Navn «utforsker»

Videre er det verdt å nevne at bruk av -Force-parameteren i Stop-Process-kommandoen ikke vil be om bekreftelse, i motsetning til å kjøre kommandoen uten dette alternativet. Hvis du vil finne ut mer om denne cmdleten, sørg for å bruke Get-Help-kommandoen.

4. Få-service

Denne kommandoen er blant de essensielle kommandolistene av en god grunn: den kan gi deg en liste over alle tjenestene som for øyeblikket er installert på systemet du jobber med, uavhengig av om de kjører eller ikke. Som med mange andre cmdlets, kan du tilpasse Get-Service for å gi deg mer spesifikk informasjon, enten angående en bestemt tjeneste eller til og med vise en liste over alle kjørende (eller stoppede) tjenester på maskinen din.

Du kan gå videre og skrive Get-Service på PowerShell-kommandolinjen. Hvis du gjør det, bør du få en liste over alle tjenestene som er tilgjengelige på datamaskinen din, samt visningsnavn og statuser. Hvis du legger til en ekstra kommando til den originale cmdleten, kan du endre utdataene, slik at den bare viser resultater du er interessert i.

Hvis du for eksempel skriver kommandoen ovenfor, bør du returnere en liste over alle tjenester som er tilgjengelige på datamaskinen din, som starter med bokstaven «W». Du kan imidlertid gå enda lenger og tilpasse kommandoen din for å begrense listen over resultater enda mer.

Get-Service | Where-Object {$_.Status -eq «Running»}

Kommandoen ovenfor lar deg se en liste over alle tilgjengelige tjenester på datamaskinen din som også kjører på det tidspunktet du kjører cmdleten. Hvis du legger til «W*» som vi gjorde i forrige eksempel, vil du vise en liste over alle kjørende tjenester på datamaskinen din som starter med bokstaven «W», og kommandoen skal se slik ut:

Get-Service “W*” | Where-Object {$_.Status -eq «Running»}

5. Get-EventLog

Enhver ansvarlig systemadministrator bør kjenne sin vei rundt arbeidet med hendelseslogger, ettersom disse dokumentene kan gi deg nyttig kunnskap om hva som skjedde på systemet ditt, når det skjedde, og noen ganger til og med hva som utløste den spesifikke hendelsen.

Derfor kan vi trygt anta at PowerShells Get-EventLog-kommando ikke er noe du vil gå glipp av fra verktøybeltet ditt, spesielt hvis du planlegger å forbedre dine systemadministrasjonsferdigheter. Hvis du vet alt som er å vite om hendelseslogger og navnene deres, kan du skrive inn Get-EventLog direkte i PowerShells kommandolinje. Merk at PowerShell vil be deg om å skrive inn navnet på loggen du prøver å vise.

Hvis du skriver inn navnet på en tom hendelseslogg (en uten oppføringer), vil PowerShell spørre deg om en feilmelding og returnere deg til kommandolinjegrensesnittet. Derfor ville det være enklere hvis du bare brukte kommandoen nedenfor, som vil gi deg en liste over hendelseslogger på systemet ditt, sammen med ytterligere detaljer om hver enkelt, for eksempel standard overflyt-handling og antall oppføringer.

En av de mest populære brukstilfellene for hendelseslogger er å se etter feil, spesielt hvis de skjedde stille, ble kort etterfulgt av et systemkrasj eller fører til en BSOD, som vi alle vet hvor kryptisk kan være. Du må imidlertid være mer spesifikk med Get-EventLog cmdlet hvis du vil begrense listen over resultater, som ofte kan være enorm.

Get-EventLog -LogName Security -EntryType Error

Hvis du skriver inn kommandoen ovenfor i PowerShells kommandolinjegrensesnitt, bør du få en liste over alle feilene som er registrert i sikkerhetshendelsesloggen. Merk at du kan bruke parameteren -List for å se alle loggtypene i systemet ditt og erstatte Security i kommandoen ovenfor med en hvilken som helst annen loggtype du finner på listen din, så lenge den har mer enn null oppføringer.

Hvis du vil lære mer om bruk av Get-EventLog-kommandoen i PowerShell, kan du gjerne bruke Get-Help-kommandoen vi har snakket om i den første delen av dette underkapittelet.

6. Konverter til HTML

Noen ganger når du bruker PowerShell, kan du desember snuble over viss informasjon som du vil trekke ut og beholde for fremtidig referanse, lage rapporter eller ganske enkelt importere den fra et annet program. En av de mest brukte måtene å trekke ut disse dataene fra PowerShell og eksportere dem til en ekstern fil på datamaskinen din, er kommandoen ConvertTo-HTML.

Ved å bruke denne kommandoen kan du bygge omfattende rapporter som kan hjelpe deg med å analysere utvunnet informasjon og innsikt på en mer effektiv måte ved å gi deg HTML-tabeller som du kan tilpasse senere ved å legge til egendefinerte stiler og fargekodede data. Som med mange andre PowerShell-kommandoer, fungerer ikke ConvertTo-HTML av seg selv, og du må koble den sammen med en ekstra kommando som den vil bruke som input (eller en datakilde).

For eksempel, hvis du prøver å skrive ut en rapport som består av hver tjeneste som starter med bokstaven «W» og kjører på datamaskinen din, kan du skrive inn kommandoen nedenfor:

Get-Service “W*” | Where-Object {$_.Status -eq “Running”} | Konverter til HTML

Dette vil gi deg en HTML-kode for dataene du matet til ConvertTo-HTML-funksjonen, som du ganske enkelt kan kopiere direkte fra PowerShells kommandolinjegrensesnitt, lime den inn i favoritttekstredigereren og lagre den som en HTML-fil, som du kan bruke til å se resultatet i hvilken som helst nettleser.

Du kan bruke ConvertTo-HTML med praktisk talt hvilken som helst PowerShell-kommando, så lenge kommandoen du bruker som datakilde vil generere utdata. Du kan prøve det med andre cmdlets, for eksempel Get-Process, Get-EventLog eller Get-Help. Merk at bortsett fra HTML-konverteringer, kan ConvertTo-cmdleten også brukes til å generere JSON-, CSV- og XML-filer. Du må bare erstatte HTML i kommandosyntaksen med formatet du er interessert i.

7. Eksporter-CSV

Hvis du jobber med ulike objekter du føler desember passer mye bedre i en tabell, kan du bruke PowerShell til å konvertere elementene du for øyeblikket håndterer til en serie med CSV-strenger (kommaseparert verdi) og eksportere strengene til en fil i én rask bevegelse gjennom Export-CSV-cmdleten.

Som med ConvertTo-HTML, trenger Export-CSV en input som den kan konvertere til CSV-strenger, siden den ikke bare kan fungere alene. Dermed må du pare den med en kommando som kan brukes til å generere data, for eksempel Get-Service eller Get-Process som vi har forklart tidligere.

I hovedsak gjør Export-CSV nesten det samme som ConvertTo-HTML cmdleten vi har diskutert ovenfor, bortsett fra et viktig aspekt som ikke bør overses: denne cmdleten genererer faktisk en fil og lagrer den på datamaskinen din, i motsetning til kommandoen ConvertTo, som bare gir deg utdata og lar deg lage filen på egen hånd.

La oss for eksempel anta at du vil gjøre om listen over tjenester som kjører på datamaskinen din til en CSV-fil, slik at du kan behandle filen videre med tredjepartsprogramvare, eller legge den inn i et regneark for videre referanse. Alt du trenger å gjøre er å skrive inn Get-Service-kommandoen etterfulgt av Export-CSV-kommandoen, og nevne et sted der du vil at CSV-filen skal genereres, som i eksemplet nedenfor:

Get-Service | Eksporter-CSV c:wdzwdz.csv

Kommandoen ovenfor vil hente en liste over alle tjenestene som er tilgjengelige på datamaskinen din, kjører eller ikke, konvertere dem til en serie med CSV-strenger, og lagre resultatet som en CSV-fil kalt «wdzwdz» i roten av C-stasjonen. . Du kan deretter åpne filen i en tredjeparts programvareløsning, konvertere den til en fullverdig tabell, eller bare lagre den for fremtidig bruk.

PowerShell jukseark – KONKLUSJON

Selv om det fortsatt er mange som tar til orde for CMD, er PowerShell mer allsidig, mye kraftigere, men samtidig mer komplisert å jobbe med enn sin tradisjonelle CMD-motpart. Den store mengden funksjoner, kombinert med det faktum at du kan lage automatiseringsskript i PowerShell og utføre kompliserte systemadministrasjonsoperasjoner, etterlater bare CMD i en kjegle av skygge.

Hvis du akkurat har begynt å oppdage PowerShell og du sliter med å finne ut hva hver kommando gjør, hvordan du kan pipelinere flere kommandoer, eller hvordan du lager og kjører enkle PowerShell-skript på egen hånd, er guiden vår et flott utgangspunkt. Vi har tatt oss tid til å forklare noen av de viktigste kommandoene du bør vite om i PowerShell, laget noen korte opplæringsprogrammer, og også inkludert en liste over grunnleggende PowerShell-kommandoer, deres aliaser og korte beskrivelser for hvert element, bare for å forenkle din PowerShell-oppdagelsesreise.