20 Windows PowerShell-kommandon du måste veta
Windows PowerShell är det nya kommandoradsskalet, vilket är kraftfullare och scriptable än Command Prompt. I mina tre års erfarenhet av att använda den tyckte jag att det var väldigt användbart, särskilt om du är med automatiserings- eller skriptuppgifter. Men de flesta av oss vet inte heller om det eller föredrar inte att använda det i stället för det gamla kommandoradsskalet.
I det här inlägget ska jag dela användbara men ändå enkla kommandon (med exempel) av Windows PowerShell. Du kan använda dessa kommandon för att utföra många uppgifter - från att få hjälp till att starta processer. Ska vi börja?
Notera: Windows PowerShell är byggd med bakåtkompatibilitet i åtanke, och stöder således många kommandon i kommandotolken. Med det sagt kan du fortsätta använda de gamla kommandona i sitt nya färgglada gränssnitt.
Få hjälp [hjälp]
Om du är ny i PowerShell, kan du få problem. och i sådana situationer blir Get-Help din frälsare. Det ger nödvändig information om cmdlets, kommandon, funktioner, skript och arbetsflöden i PowerShell.
Dessutom är det enkelt: du måste skriva Få hjälp
följt av kommandot, av vilket du söker detaljerna. Till exempel kan du få information om “Get-Process” använder sig av Get-Help Get-Process
.
Get-Command [gcm]
Windows PowerShell låter upptäcka sina kommandon och funktioner med hjälp av Get-Command. Den visar listan över kommandon för en specifik funktion eller för ett specifikt syfte baserat på din sökparameter.
Du behöver bara skriva Get-Command
följt av din sökfråga i PowerShell. Till exempel, Get-Command * -service *
visar kommandon med “-service” i sitt namn Kom ihåg att använd asteriskerna på båda sidor av din fråga eftersom det är ett vildt kort som hjälper till att söka efter det okända.
Invoke-Command [icm]
När du vill kör ett kommando eller ett skript av PowerShell - lokalt eller fjärranslutet på en eller flera dator (er) - “Invoke-kommando” är din vän. Det är lätt att använda och hjälper dig att styra datorer.
Du måste skriva Invoke-kommando
följt av kommandot eller manuset med dess fullständiga sökväg. Till exempel kan du kör ett kommando “Get-EventLog” använder sig av Invoke-Command -ScriptBlock Get-EventLog system -Newest 50
eller på en fjärrdator “server01” använder sig av Invoke-Command -ScriptBlock Get-EventLog system -Newest 50 -ComputerName Server01
.
Invoke-Expression [iex]
Åberopa-Expression kör ett annat kommando eller uttryck. Om du tillhandahåller ett uttryck eller en sträng som input, utvärderar det här kommandot det först och kör det, men fungerar även lokalt, till skillnad från det föregående kommandot.
Du måste skriva Åberopa-Expression
följt av ett kommando eller ett uttryck. Till exempel kan du tilldela en variabel “$ Command” med en sträng som berättar kommandot “Get-Process”. När du kör Invoke-Expression $ Command
, “Get-Process” får köra som ett kommando på din lokala dator.
Invoke-WebRequest [iwr]
Du kan ladda ner, logga in och skrapa för information på webbplatser och webbtjänster medan du arbetar med Windows PowerShell med Invoke-WebRequest.
Du måste använda den som Åberopa-WebRequest
följt av dess parametrar. Till exempel kan du få länkarna på en viss webbsida med kommandot som (Invoke-WebRequest -Uri "https://docs.microsoft.com") .Links.Href
.
Set-ExecutionPolicy
Även om du skapar och exekverar skript (har förlängning “ps1”) i Windows PowerShell är möjligt; Det finns dock begränsningar för säkerhetsändamål. Men du kan byt säkerhetsnivå med kommandot Set-ExecutionPolicy.
Du kan skriva Set-ExecutionPolicy
följt av en av de fyra säkerhetsnivåerna - Begränsad, fjärransluten, all signerad eller obegränsad att använda kommandot. Till exempel kan du tilldela den begränsade policystatusen med Set-ExecutionPolicy -ExecutionPolicy Begränsad
.
Get-Item [gi]
Om du letar efter information om ett objekt På en viss plats, säg en fil på hårddisken, är Get-Item det bästa sättet att förvärva det i Windows PowerShell. Du måste veta det det får inte innehållet i föremålet, till exempel filer och underkataloger i en viss katalog, om inte uttryckligen anges av dig.
Du måste skriva Get-Post
följt av en väg eller en sträng tillsammans med dess parametrar om någon. Till exempel kan du få alla objekt (filer eller mappar) som börjar med “M” i den aktuella katalogen med Get-Item M *
. Tillsammans med innehållet i kataloger kan det också hämta innehållet i registernycklarna.
Kopiera-objekt [kopia]
Om du behöver kopiera filer och kataloger På din lagringsdisk eller registerposter och nycklar i registret kan du använda Kopiera-objekt. Den fungerar som den “cp” kommando vi har i Command Prompt, men det är mycket bättre.
Du kan använda dig av Copy-Post
kommandot till kopiera och byt namn på objekt i samma kommando också - ge ett nytt namn som destination. Du kan till exempel kopiera och byta namn “Services.htm” till “MyServices.txt” använder sig av Kopiera-objektet "C: \ Services.htm" -Destination "C: \ MyData \ MyServices.txt"
.
Ta bort-artikel [del]
Om du vill att radera objekt som filer, mappar, funktioner och registernycklar och variabler, Ta bort-objekt är kommandot för dig. Vad jag tyckte var intressant är att det ger parametrar att inkludera och utesluta objekt.
Du kan använda dig av Ta bort sak
kommandot till radera objekt från specifika platser med parametrar. Du kan till exempel ta bort filen “MyServices.txt” med kommandot Ta bort-objektet "C: \ MyData \ MyServices.txt"
.
Get-Content [cat]
När du behöver se innehållet i en textfil på en viss plats öppnar du och läser den i en kod / textredigerare som Notepad ++. I Windows PowerShell kan du använda Get-Content till hämta innehållet utan att öppna filen.
Till exempel kan du hämta 50 linjer innehåll av “Services.htm”, då kan du använda Get-Content "C: \ Services.htm" -TotalCount 50
.
Set-Content [sc]
Du kan spara text till filer med hjälp av Set-Content, som liknar “eko” kommandot av Bash Shell. I kombination med Get-Content kan du också hämta innehållet i en fil och kopiera den till en annan fil använder det här kommandot.
Till exempel kan du skriva Set-innehåll
till skriv eller ersätt innehållet av en fil med nytt innehåll. Dessutom kan du klubba det med föregående kommandos exempel för att spara dess utdata till en ny fil med namnet “Sample.txt” använder sig av Få innehåll "C: \ Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.
Get-Variable [gv]
Om du vill använda variabler i Windows PowerShell hjälper kommandot Get-Variable dig att visualisera värdena för variabler. Den visar dem i en tabellform och tillåter att inkludera, exkludera och använda jokertecken.
Du kan använda det här kommandot genom att skriva Get-variabel
följt av dess alternativ och parametrar. Till exempel kan du hämta värdet för en variabel som heter “desc” med följande kod: Get-Variable -Name "desc"
.
Set-Variable [set]
Du kan Tilldela eller ändra / återställ värdet på en variabel med kommandot Set-Variable. Som en genväg kan du också ställa in en enkel variabel med formatet $ $ VarName = VarValue $, som $ desc = "En beskrivning"
.
Du kan använda kommandot Set-variabel
följt av dess parametrar för att ställa in en variabel. Till exempel kan vi ange värdet för en variabel som heter “desc” använder kommandot Set-Variable -Name "desc" -Value "A Description"
.
Get-Process [gps]
Vi brukar använda Task Manager till hitta de löpande processerna på vår dator. I Windows PowerShell kan alla använda Get-Process för att få listan över pågående processer, som du också kan bearbeta vidare.
Du kan skriva kommandot som Get-Process
tillsammans med din sökfråga. Till exempel, om du behöver information om processerna med “utforska” I deras namn kan du skriva Get-Process * utforska *
(notera asteriskerna).
Start-Process [saps]
Windows PowerShell gör det enkelt starta en eller flera processer på din dator. Jag fann att det här kommandot är användbart i scripting apps eftersom det är en av de måste ha kommandon som du behöver för att automatisera en uppgift.
Du kan skriva Start Process
följt av dess parametrar för att använda kommandot. Du kan till exempel börja anteckningsblock genom att skriva Start-Process -FilePath "anteckningsblock" -Verb runAs
i Windows PowerShell.
Stop-Process [kill]
Du kan stoppa specifika eller alla instanser av en process som körs på din dator med namnet eller PID (Process ID) tack vare kommandot Stop-Process. Det som gör det övertygande är att du kan upptäcka att processen är stoppad eller inte och du kan till och med stoppa processerna som inte ägs eller startas av den nuvarande användaren.
Du kan skriva kommandot Stop-Process
följt av dess parametrar för att stoppa de givna processerna. Till exempel kan du stoppa alla processer av anteckningsblock med kommandot Stop-Process-Name "anteckningsblock"
.
Get-Service [gsv]
När du behöver information om specifika tjänster (körs eller stoppas) på din dator kan du använda Get-Service. Den visar de tjänster som är installerade i ditt system och ger alternativ att filtrera och inkludera och utesluta dem.
Om du vill använda det här kommandot kan du skriva Get-Service
följt av dess parametrar. Skriv till exempel följande Get-Service | Var-objekt $ _. Status -eq "Running"
att få tjänsterna “löpning” på ditt system.
Start-service [sasv]
Om du vill starta en tjänst På din dator kan kommandot Start-Service hjälpa dig att göra detsamma från Windows PowerShell. Jag fann att det är tillräckligt starkt för att starta en tjänst även om den tjänsten är inaktiverad på din dator.
Du måste ange namnet på tjänsten när du använder kommandot Starta service
. Till exempel, Start-service-namn "WSearch"
startar tjänsten “Windows Search” på din lokala dator.
Stop-Service [spsv]
Om du vill stoppa tjänster som körs På datorn kommer Stop-Service-kommandot att vara till hjälp. Du måste ange tjänstens namn tillsammans med Stop-Service
. Skriv till exempel Stop-Service-Name "WSearch"
att stoppa tjänsten “Windows Search” på din dator.
ConvertTo-HTML
PowerShell kan ge fantastisk information om ditt system. Det presenteras dock mestadels i ett oförstörbart format, men du kan använda ConvertTo-HTML till skapa och formatera en rapport att analysera det eller skicka det till någon.
Du kan använda ConvertTo-HTML
tillsammans med utmatningen från ett annat kommando med hjälp av rörledningar. Till exempel Get-Service | ConvertTo-HTML -Property Name, Status> C: \ Services.htm
visar listan över alla tjänster och deras status i form av en webbrapport som lagras i filen “Services.htm”.
Det handlar om de väsentliga kommandon .