20 Windows PowerShell-kommandoer, du skal vide
Windows PowerShell er den nye kommandolinjeskal, som er mere magtfulde og scriptable end kommandoprompt. I mine tre års erfaring med at bruge det fandt jeg det virkelig nyttigt, især hvis du er i automatisering eller scripting opgaver. Men de fleste af os enten ved ikke det eller foretrækker ikke at bruge det i stedet for den gamle kommandolinjeskal.
I dette indlæg vil jeg dele nyttige, men ligefrem kommandoer (med eksempler) af Windows PowerShell. Du kan bruge disse kommandoer til at udføre mange opgaver - fra at få hjælp til at starte processer. Skal vi begynde?
Bemærk: Windows PowerShell er bygget med bagudkompatibilitet i tankerne, og støtter således mange kommandoer i kommandoprompt. Når det er sagt, kan du fortsætte med at bruge de gamle kommandoer i sin nye farverige grænseflade.
Get-Help [hjælp]
Hvis du er ny til PowerShell, kan du løbe ind i problemer; og i sådanne situationer bliver Get-Help din frelser. Det giver nødvendige oplysninger om cmdlets, kommandoer, funktioner, scripts og workflows fra PowerShell.
Desuden er det nemt: du skal skrive Få hjælp
efterfulgt af kommandoen, hvoraf du søger detaljerne. For eksempel kan du få oplysninger om “Get-Proces” ved brug af Get-Help Get-Process
.
Get-Command [gcm]
Windows PowerShell gør det muligt at opdage sine kommandoer og funktioner ved hjælp af Get-Command. Det viser listen over kommandoer for en bestemt funktion eller til et bestemt formål baseret på din søgeparameter.
Du skal kun skrive Get-Kommando
efterfulgt af din søgeforespørgsel i PowerShell. For eksempel, Get-Command * -service *
viser kommandoer med “-service” i sit navn Husk venligst at brug asteriskerne på begge sider af din forespørgsel fordi det er et vildt kort, der hjælper med at søge efter det ukendte.
Invoke-Command [icm]
Når du vil Kør en kommando eller et script af PowerShell - lokalt eller eksternt på en eller flere computere - “Invoke-Command” er din ven Det er let at bruge og hjælper dig med at styre computere.
Du skal skrive Invoke-Command
efterfulgt af kommandoen eller scriptet med sin komplette sti. For eksempel kan du Kør en kommando “Get-EventLog” ved brug af Invoke-Command -ScriptBlock Get-EventLog system -Newest 50
eller på en fjerncomputer “Server01” ved brug af Invoke-Command -ScriptBlock Get-EventLog system -Newest 50 -ComputerName Server01
.
Invoke-Expression [iex]
Påberåbe-ekspression kører en anden kommando eller udtryk. Hvis du giver et udtryk eller en streng som input, vurderer denne kommando først den og kører den, men fungerer også kun lokalt i modsætning til den foregående kommando.
Du skal skrive Påberåbe-ekspression
efterfulgt af en kommando eller et udtryk. Du kan f.eks. Tildele en variabel “$ Kommando” med en streng, der fortæller kommandoen “Get-Proces”. Når du kører Invoke-Expression $ Command
, “Get-Proces” bliver kørt som en kommando på din lokale computer.
Invoke-WebRequest [iwr]
Du kan download, log ind og skrabe for information på websteder og webtjenester, mens du arbejder på Windows PowerShell ved hjælp af Invoke-WebRequest.
Du skal bruge det som Påberåbe-WebRequest
efterfulgt af dets parametre. For eksempel kan du få linkene på en given webside ved at bruge kommandoen som (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Selvom der oprettes og udføres scripts (med udvidelse “PS1”) i Windows PowerShell er muligt; Der er dog begrænsninger af sikkerhedsmæssige årsager. Men det kan du skift sikkerhedsniveauet ved hjælp af kommandoen Set-ExecutionPolicy.
Du kan skrive Set-ExecutionPolicy
efterfulgt af et af de fire sikkerhedsniveauer - Begrænset, fjerntegnet, All Signed, eller Ubegrænset at bruge kommandoen. Du kan f.eks. Tildele den begrænsede politikstatus ved hjælp af Set-ExecutionPolicy -ExecutionPolicy Begrænset
.
Get-Item [gi]
Hvis du leder efter Oplysninger om en vare På et givet sted, sig en fil på harddisken, er Get-Item den bedste måde at erhverve den i Windows PowerShell. Du skal vide det det får ikke indholdet af varen, f.eks. filer og underkataloger i en given mappe, medmindre det udtrykkeligt er angivet af dig.
Du skal skrive Get-Element
efterfulgt af en sti eller en streng sammen med dens parametre hvis nogen. For eksempel kan du få alle de elementer (filer eller mapper), der begynder med “M” i den aktuelle mappe ved hjælp af Get-Item M *
. Sammen med indholdet af mapper kan det også få indholdet af registreringsdatabasenøgler.
Copy-Item [copy]
Hvis du har brug for det kopiere filer og mapper På din lagringsdisk eller registreringsdatabasen og nøgler i registreringsdatabasen kan du bruge kopi-element. Det fungerer i lighed med “cp” kommando vi har i kommandoprompt, men det er meget bedre.
Du kan gøre brug af Copy-Element
kommandoen til kopiere og omdøbe varer i samme kommando også - giv et nyt navn som destination. Du kan f.eks. Kopiere og omdøbe “Services.htm” til “MyServices.txt” ved brug af Copy-Item "C: \ Services.htm" -Destination "C: \ MyData \ MyServices.txt"
.
Fjern-vare [del]
Hvis du ønsker for at slette elementer som filer, mapper, funktioner og registreringsnøgler og variabler, Fjern-Item er kommandoen til dig. Hvad jeg fandt interessant er, det giver parametre til at inkludere og ekskludere elementer.
Du kan gøre brug af Fjern-element
kommandoen til Slet elementer fra bestemte steder ved hjælp af parametre. Du kan f.eks. Slette filen “MyServices.txt” med kommandoen Fjern-vare "C: \ MyData \ MyServices.txt"
.
Get-Content [cat]
Når du skal se indholdet af en tekstfil på et bestemt sted, åbner og læser du det i en kode / teksteditor som Notepad ++. I Windows PowerShell kan du bruge Get-Content til hent indholdet uden at åbne filen.
For eksempel kan du hente 50 linjer indhold af “Services.htm”, så kan du bruge Get-Content "C: \ Services.htm" -TotalCount 50
.
Sæt-indhold [sc]
Du kan gemme tekst til filer ved hjælp af Set-Content, svarende til “ekko” kommando af Bash Shell. I kombination med Get-Content kan du også hent indholdet af en fil og kopiere det til en anden fil ved hjælp af denne kommando.
For eksempel kan du skrive Set-indhold
til skriv eller erstat indholdet af en fil med nyt indhold. Desuden kan du klubbe det med det foregående kommandos eksempel for at gemme dets output i en ny fil, der hedder navnet “Sample.txt” ved brug af Get-Content "C: \ Services.htm" -TotalCount 50 | Sæt-indhold "Sample.txt"
.
Get-Variable [gv]
Hvis du søger at bruge variabler i Windows PowerShell, hjælper Kommandoen Variabel dig med visualisere værdierne af variabler. Den viser dem i en tabelform og tillader at inkludere, ekskluderer og bruger jokertegn.
Du kan bruge denne kommando ved at skrive Get-variabel
efterfulgt af dets muligheder og parametre. For eksempel kan du hente værdien for en navngivet variabel “desc” ved hjælp af følgende kode: Get-Variable -Name "desc"
.
Set-Variable [set]
Du kan tildele eller ændre / nulstille værdien af en variabel ved hjælp af kommandoen Set-Variable. Som en genvej kan du også indstille en simpel variabel ved hjælp af formatet $ $ VarName = VarValue $, som $ desc = "En beskrivelse"
.
Du kan bruge kommandoen Set-variabel
efterfulgt af dets parametre for at indstille en variabel. For eksempel kan vi indstille værdien for en navngivet variabel “desc” ved hjælp af kommandoen Set-Variable -Name "desc" -Value "A Description"
.
Get-Process [gps]
Vi bruger normalt Task Manager til find de løbende processer på vores computer. I Windows PowerShell kan enhver bruge Get-Process for at få listen over de igangværende processer, som du også kan behandle yderligere.
Du kan skrive kommandoen som Get-Proces
sammen med din søgeforespørgsel. For eksempel, hvis du har brug for oplysninger om processerne med “udforske” i deres navn kan du skrive Get-Process * udforske *
(bemærk asteriskerne).
Start-proces [saps]
Windows PowerShell gør det nemt Start en eller flere processer på din computer. Jeg fandt denne kommando er praktisk i scripting apps, da det er en af de must-have kommandoer, du skal bruge til at automatisere en opgave.
Du kan skrive Start-Proces
efterfulgt af dets parametre for at bruge kommandoen. For eksempel kan du starte Notesblok ved at skrive Start-Process -FilePath "notesblok" -Verb runAs
i Windows PowerShell.
Stop-Process [kill]
Du kan stop specifikke eller alle tilfælde af en proces, der kører på din computer ved hjælp af navnet eller PID (Process ID), takket være kommandoen Stop-Process. Hvad gør det overbevisende er, at du kan opdage, at en proces er stoppet eller ej, og du kan endda stoppe de processer, der ikke ejes eller startes af den nuværende bruger.
Du kan skrive kommandoen Stop-Proces
efterfulgt af dets parametre for at stoppe de givne processer. Du kan f.eks. Stoppe alle processer i Notesblok ved hjælp af kommandoen Stop-Process-Name "notesblok"
.
Get-Service [gsv]
Når du har brug for det Oplysninger om specifikke tjenester (kører eller stoppet) på din computer, kan du bruge Get-Service. Det viser de tjenester, der er installeret i dit system, og giver mulighed for at filtrere og inkludere og ekskludere dem.
Hvis du vil bruge denne kommando, kan du skrive Get-service
efterfulgt af dets parametre. Skriv f.eks. Følgende Get-Service | Hvor-objekt $ _. Status -eq "Running"
at få tjenesterne “løb” på dit system.
Start-service [sasv]
Hvis du vil start en tjeneste På din computer kan Start-Service-kommandoen hjælpe dig med at gøre det samme fra Windows PowerShell. Jeg fandt det kraftigt nok til at starte en tjeneste, selvom den pågældende tjeneste er deaktiveret på din computer.
Du skal angive navnet på tjenesten, mens du bruger kommandoen Start-service
. For eksempel, Start-Service-Navn "WSearch"
starter tjenesten “Windows søgning” på din lokale computer.
Stop-Service [spsv]
Hvis du vil stop tjenester kører På din computer vil Stop-Service-kommandoen være nyttig. Du skal angive navnet på tjenesten sammen med Stop-service
. Skriv f.eks Stop-Service-Name "WSearch"
at stoppe tjenesten “Windows søgning” på din computer.
ConvertTo-HTML
PowerShell kan give fantastiske oplysninger om dit system. Det er dog for det meste præsenteret i et ufordøjeligt format, men du kan bruge ConvertTo-HTML til opret og formater en rapport at analysere det eller sende det til nogen.
Du kan bruge ConvertTo-HTML
sammen med output fra en anden kommando ved hjælp af rørledninger. For eksempel Get-Service | ConvertTo-HTML -Property Navn, Status> C: \ Services.htm
viser listen over alle tjenester og deres status i form af en webrapport, som er gemt i filen “Services.htm”.
Det handler om de væsentlige kommandoer .