De flesta av oss föredrar PowerShell på grund av dess automatiseringsmöjligheter. Det är ett kommandoradsskal med ett fullt utvecklat skriptspråk. Du kan använda de inbyggda cmdletarna eller skriva ditt eget skript för att automatisera de administrativa uppgifterna för Windows och andra kompatibla operativsystem. Det låter dig göra allt du kan göra med GUI-apparna och mer.
Att bemästra funktionaliteten och flexibiliteten hos PowerShell innebär dock en brant inlärningskurva. Om du precis har börjat med PowerShell, här är de viktiga kommandon du kan lära dig för att behärska detta skriptspråk på lång sikt.
1. Få hjälp
Få hjälp, som namnet antyder, är en del av PowerShells integrerade hjälpsystem. Det hjälper dig att hitta nödvändig information för kommandot, begrepp och funktioner, identifiera alias, skript och mer.
För att få hjälp med en PowerShell-cmdlet måste du använda Get-help-cmdleten följt av ett cmdlet-namn. Om du till exempel vill se synopsis och syntaxer som är associerade med get-process cmdlet skriver du:
Skaffa sig-HjälpSkaffa sig-Bearbeta
Detta kommando kan läsa både kommentarsbaserad och XML-baserad hjälp från funktionsförfattaren.
Alternativt kan du använda Få hjälp -online kommando för att få hjälp med en PowerShell-cmdlet online. Till exempel för att se Microsofts onlinedokumentation för Get-Content cmdlet, skriv:
Skaffa sig-HjälpSkaffa sig-Innehåll -uppkopplad
2. Get-Process
De Get-Process kommandot hjälper dig att hämta och visa en lista över alla aktiva systemprocesser med deras identifierare (ID). Du kan använda den som en effektivt alternativ till Windows Task Manager för att visa, stoppa och starta om systemprocesser.
Om du till exempel behöver stoppa GameBar-processen måste du först hitta process-ID: t som är kopplat till den. Så skriv:
Get-Process
Detta kommando visar alla systemprocesser som körs. Hitta sedan det ID som är kopplat till processen du vill stoppa. För att stoppa processen, skriv:
Get-Process -ID 20496 | Sluta-Bearbeta
Här -ID 20496 är ID för processen (GameBar) du vill stoppa.
3. Start-process
Du kan använda Start-process cmdlet i PowerShell för att starta en eller flera processer på en lokal dator. För att använda cmdleten, skriv Start-Process följt av processnamnet. Om du till exempel vill starta en ny anteckningsblocksprocess, skriv:
Start-Bearbeta anteckningsblock
Dessutom kan du använda parametrarna för Start-Process för att ange alternativ. Om du till exempel behöver starta en process som administratör, skriv:
Start-Process -FilePath "anteckningsblock" -Verb runAs
4. Hämta-kommando
De Hämta-kommando låter dig se alla PowerShell-kommandon som är installerade på din dator. I likhet med Get-Help kan du använda Get-Command följt av en sökfråga för att hitta kommandon för en specifik funktion.
Eftersom Get-Command visar alla kommandon kan du ange parametrar för att hitta funktioner med ett specifikt namn och CommandType. Till exempel, för att hitta cmdlets (CommandTypes) som börjar med A (namn), skriv:
Get-Command -Name A* -CommandType cmdlet
Alternativt, skriv Få-hjälp Get-Command -Exempel för att se fler exempel.
5. Get-Service
De Get-Service cmdlet låter dig se din dators status och lista över tjänster. Som standard returnerar kommandot Get-Service alla (stoppade och pågående) tjänster.
Du kan använda parametrarna för att specificera och hitta tjänster beroende på deras status, namn och beroende tjänster. Till exempel, för att se alla tjänster som börjar med namnet Win, skriv:
Get-Service -Name "Vinna*"
6. Get-ChildItem
Du kan använda PowerShell för att söka igenom kataloger. De Get-ChildItem command är en praktisk cmdlet för att leta efter mappar och filer och snabbt utföra innehållsbaserade sökningar utan att använda File Explorer.
Om du vill visa alla mappar på toppnivå i katalogen C:\ skriver du:
Get-ChildItem "C:\"
Använd dessutom -Väg parameter för att visa en viss mapp, undermappar och innehåll. Om du till exempel vill visa alla undermappar och filer i mappen Program Files skriver du:
Get-ChildItem -Path "C:\Program Files"
Använd dessutom -Återfall parameter för att visa alla filer i den angivna mappen och -Namn parameter för att visa objektnamn i en katalog.
Get-ChildItem -Path "C:\Program Files\Fodler_Name" -Återfall | Välj Fullständigt namn
I kommandot ovan, ersätt undermapp med mappnamnet för att se dess innehåll.
7. Copy-Item
De Copy-Item cmdlet låter dig kopiera-klistra in filer och mappar och deras innehåll till en annan katalog. För att kopiera filer och mappar, skriv Copy-Item följt av källan -Väg, -Destination parameter och destinationsadress. Till exempel att kopiera E:\Folder1 och dess innehåll till E:\Folder2, typ:
Copy-Item "E:\Folder1" -Destination "E:\Folder2" -Återfall
Observera att -Återfall parametern i kommandot ovan är ansvarig för att flytta allt mappinnehåll. Utan det kommer PowerShell bara att kopiera mappen på översta nivån (Folder1) och filer som anges i kommandot.
8. Flytta objekt
På samma sätt, för att flytta ett objekt, kan du använda Flytta objekt cmdlet. Om du till exempel vill flytta mappen, filerna, undermappar och allt dess innehåll till din angivna destination skriver du:
Flytta objekt -Sökväg "E:\Folder1" -Destination "E:\Folder2"
9. Ta bort sak
De Ta bort sak cmdlet låter dig ta bort filer, mappar, funktioner och andra datatyper från den angivna katalogen. Om du till exempel vill ta bort filen Test.txt i mappen E:\Folder1 skriver du:
Ta bort sakE:\Mapp 1\Testa.Text
10. Get-Content
De Get-Content cmdlet låter dig se innehållet i ett objekt utan att använda en textredigerare. Om du till exempel vill hämta innehållet i filen Test.txt skriver du:
Get-Content "E:\Mapp1\Test.txt"
Du kan ytterligare specificera innehållslängden som ska visas med hjälp av -Totalt antal parameter.
11. Klart innehåll
Du kan använda Klart innehåll cmdlet för att radera innehållet i en angiven fil utan att ta bort själva filen. Användbar för uppgiftsautomatisering där du har ett hårdkodat filnamn men vill ha en ren fil varje gång skriptet körs.
För att testa kommandot, skapa en textfil med något innehåll i den. Skriv sedan:
Clear-Content -Path "E:\Mapp1\Test1.txt"
Detta kommer att radera innehållet i filen utan att radera filen.
12. Set-ExecutionPolicy
Standardkörningspolicyn i PowerShell är inställd på Begränsad. Detta förhindrar exekvering av skadliga skript i PowerShell-miljön. Men när du kör ett lokalt PowerShell-skript kan du stöta på att körningsskriptet är inaktiverat på detta systemfel.
De Set-ExecutionPolicy cmdlets låter dig ändra säkerhetsnivåerna för skriptkörning. För att känna till din nuvarande exekveringspolicy, skriv:
Get-ExecutionPolicy
Om du behöver köra ett osignerat skript, i en förhöjd PowerShell-prompt, skriv:
Uppsättning- ExecutionPolicy Remote Signed
Andra giltiga Set-ExecutionPolicy-värden inkluderar Begränsad, Allsignerad, och Obegränsad.
13. Ställ-plats
Som standard använder PowerShell C:\Användare\Användarnamn som standard arbetskatalog. De Ställ-plats cmdlet låter dig ställa in den aktuella arbetskatalogen till en angiven plats. Användbart om du vill köra ett skript eller kommando från en specifik plats utan att behöva ange sökvägen varje gång.
Till exempel att ställa in C:\Users\Användarnamn\Documents som den aktuella arbetskatalogen, skriv:
Ställ-plats "C:\Users\usrename\Documents"
Detta är en tillfällig åtgärd eftersom PowerShell kommer att återställa arbetskatalogen till dess standardkatalog efter omstarten.
14. Exportera-CSV
Om du vill exportera och presentera PowerShell-utdata på ett mer organiserat sätt kan du använda Exportera-CSV cmdlet. Den tar utdatafilen för det angivna kommandot och konverterar den till en CSV-fil.
För att testa kommandot, prova följande kommando:
Get-Process | Export-CSV PSprocess.csv
Kommandot ovan skapar en psporcess.csv fil med alla aktiva processers data.
15. Konvertera till HTML
Om du hellre vill skapa en HTML-rapport kan du använda Konvertera till HTML Cmdlet. För att skapa en HTML-rapport för alla pågående processer på din PC, skriv:
Get-Process | Konvertera till HTML > PSprocess.html
I kommandot ovan, psprocess är namnet på exportfilen och HTML är förlängningen. Du kan komma åt den exporterade HTML-filen i den aktuella arbetskatalogen som finns på C:\Users\användarnamn.
16. Get-History
Du kan använda Upp ner piltangenten för att bläddra igenom de nyligen körda kommandona i PowerShell. Men för att se en lista över alla nyligen utförda kommandon i din nuvarande session på en gång, kan du använda Get-History cmdlet.
Det kommer att visa en lista över alla nyligen utförda kommandon med deras ID. Användbart om du vill se hela sammanhanget för de tidigare utförda kommandona. För att göra detta, skriv:
Get-History ID | fl
Till exempel, för att se exekveringsdetaljer som status, start- och sluttid och varaktighet för det tredje kommandot, skriv:
skaffa sig-historia 3 | fl,
För att köra ett kommando från listan igen, skriv:
Invoke-History följt av kommando id
Till exempel, typ Invoke-History 3 för att köra om ett tidigare kört kommando utan att skriva det igen.
Använd dessutom Rensa historik för att rensa historiken för den aktuella sessionen.
Nu när du har en grundläggande idé om PowerShell-kommandon, fortsätt och utforska vår guide om bästa PowerShell Cmdlets för att förbättra dina Windows-administratörsfärdigheter. Här kan du lära dig att arbeta med data med hjälp av cmdlets, formatera tabeller och lista, och en snabb översikt över kommandot Get-Member.
PowerShell-kommandon för att effektivisera dina uppgifter
PowerShell är känt för sina automationsmöjligheter. Detta kan hjälpa dig att automatisera hundratals aktiviteter i ditt utvecklingsarbete för att spara tid och förbättra produktiviteten.
Även om vi bara har täckt de grundläggande kommandona, försök att utforska syntax, alias och variabler, funktioner som finns tillgängliga på många av dessa kommandon för att behärska detta mycket effektiva skriptspråk.