Använda PowerShell för hemanvändare - En nybörjarguide

Admin

Vem önskar inte att de kunde vara en trollkarl och säga några ord för att magiska saker ska hända? Tja, vi kan inte visa dig hur du är en trollkarl, men vi kan visa dig hur du gör lite datormagi.

Om du har en Windows -dator med Windows 7 på har du PowerShell. Om du har en dator med Windows 7 på den, uppdatera den för säkerhets skull.

Innehållsförteckning

Men den här artikeln är inte bara för Windows -människor. Den senaste versionen av PowerShell är gratis och kan installeras och användas på Mac- och Linux -datorer.

Det är viktigt eftersom det du lär dig om PowerShell kan användas på nästan vilken dator som helst nu. Vem vet? Du kan ta denna färdighet till nästa nivå och ge dig in i en karriär inom informationsteknik.

Vad är PowerShell?

Det högteknologiska svaret från Microsoft är att det är ett "... kommandoradsskal utformat speciellt för systemadministratörer." Låter skrämmande. Men det är inte. Sköter du om din dator? Ja, då är du systemadministratör i ditt hus.

Berätta för din dator vad du ska göra med klick och knapptryckningar? Ja, så tänk på kommandoradsskalet som bara ett annat fönster där du skriver in saker för att berätta för din dator vad du ska göra. Du kan göra det här.

PowerShell är som ett programmeringsspråk, men inte så kryptiskt som de flesta. Det läser verkligen mycket som vanlig engelska, vilket var något Microsoft strävade efter så att det kunde hämtas av icke-programmerare.

Det är ett sätt att skriva några rader med kommandon, kallade ett skript, för att få Windows -operativsystemet att göra något som du vill att det ska göra. Sedan kan du spara dessa rader i en fil och köra den med ett klick eller schemalägga den för att köras regelbundet.

Vad kan du göra med PowerShell?

Högnivåpunkten för PowerShell är att kunna automatisera uppgifter, så att du inte behöver slösa tid på att göra vardagliga saker upprepade gånger. För en professionell systemadministratör kan det vara ungefär som att skapa nya användare, skapa lösenord för dem och skicka ett e-postmeddelande med informationen till sin nya chef.

Manuellt gjort, med klick och skrivning, kan processen ta 5 minuter till så mycket som en timme eller mer. Med rätt skript kanske systemadministratören inte ens behöver göra någon del av det.

Men du vill veta vad du kan göra med PowerShell hemma. I stort sett allt du inte gillar att göra om och om igen. Använd den för att frigöra utrymme på din hårddisk genom att radera tillfälliga och loggfiler som du inte behöver.

Sätt utegångsförbud på ditt barns dator. Byt namn på eller organisera ett gäng filer. Det är det fina med PowerShell. Nästan allt du kan göra på din dator kan du skapa ett PowerShell -skript för att automatisera och köra med ett klick eller på ett schema.

Hur använder jag PowerShell?

Det enklaste sättet att arbeta med PowerShell är i PowerShell Integrated Scripting Environment (ISE). Du hittar den genom att klicka på Start och skriva powershell ise i sökfältet i Windows 10. Du bör se det som visas nedan.

För första gången som vi använder det kommer vi att köra det som administratör. För att göra detta måste du först ha administratörsrättigheter på din dator. I din Start meny, högerklicka på PowerShell ISE, klicka sedan på Kör som administratör.

Du kan få en Användare. Åtkomstkontroll (UAC) popup-varning som frågar om du är säker på att du vill göra det. detta. Klick Ja.

Nu tittar du på PowerShell IDE. Den övre rutan i fönstret (1) är skriptfönstret. Det är här du kommer att skriva ditt manus. Den nedre rutan i fönstret (2) är konsolområdet. När du testar ditt skript ser du utdata i den här rutan.

Det är också här du kommer att se felmeddelanden och sådant som hjälper dig att fixa och göra dina skript bättre. Fönstret till höger i fönstret (3) är kommandotillägget. Se det som en ordbok med alla PowerShell -kommandon som är tillgängliga för dig.

PowerShell är inställd på att inte köra något annat skript än dem. redan en del av Windows. Du måste ändra den så att du kan köra din. egna skript.

Kopiera och klistra in följande i skriptfönstret:

Set -ExecutionPolicy -ExecutionPolicy RemoteSigned

De Set-ExecutionPolicy en del av det kallas en cmdlet (uttalad commandlet). Cmdlets är kraftfulla saker. Tänk på dem som korta kommandon som du kan ge Windows, och Windows kommer att göra en massa mer komplicerade saker för att tillfredsställa ditt kommando.

En analogi skulle vara att berätta för ditt barn att städa sitt rum. Kort och sakligt. Om ditt barn är väl insatt i rumstädning, går de och lägger sin säng, lägger sin tvätt i korgen, hyllar sina leksaker och böcker och kanske till och med dammsuger golvet. De förstår att cmdlet Clean-YourRoom betydde allt detta.

Högst upp i fönstret ser du en grön pilspets. Klicka på det för att köra kommandot.

De -ExecutionPolicy delen är talande Set-ExecutionPolicy vilken policy att sätta. Det är en parameter. Det säger, "Jag vill att du arbetar inom dessa riktlinjer och gör specifikt detta. Den uppmanar den att använda den specifika policyn för RemoteSigned.

De Fjärrsignerad policyn säger att PowerShell inte får köra eller köra något skript som laddades ner från Internet om det inte var signerat av en betrodd utgivare.

På en rondell säger det till PowerShell att det är bra att köra alla skript som skapats lokalt, eftersom de inte behöver signeras av en fjärransluten utgivare. Nu kommer ditt PowerShell -skript att kunna köra alla skript du skriver på din dator.

Låt oss titta på ett skript för att ta bort tillfälliga filer. Det är det inte. lika kraftfull eller grundlig som CCleaner, men CCleaner levereras med en egen uppsättning. problem.

Använd PowerShell för att skapa utrymme på din hårddisk

Vi kommer att bryta ner detta manus, rad för rad, så att du kan se. hur det fungerar. I slutet kommer manuset att visas helt så att du kan kopiera. och klistra in den om du vill.

$ TempFileLocation = "C: \ Users \ användarnamn \ Appdata \ Local \ Temp \*"

Allt med ett dollarstecken framför är ett variabelt namn. Tänk på det som en plånbok att sätta värdefulla saker i. Plånbok påminner oss om dollartecknet, värdesaker låter som variabla, så det kommer vi också att komma ihåg. Vi skapar en plånbok eller variabel som heter $ TempFileLocation. Likhetstecknet berättar för PowerShell vad man ska lägga i den variabeln.

I det här fallet lägger vi in ​​platsen för en Windows tillfälliga filplats - C: \ Användare \ användarnamn \ AppData \ Local \ Temp \*. Vi gör detta av två skäl; det är en plats som alltid är säker att ta bort filer från, och vi kommer att använda den för att berätta för PowerShell vart den måste gå för att radera filer.

Där det står användarnamn i det. plats, byt den mot ditt användarnamn. Det är det användarnamn som du använder för att logga. till din dator. Asterisken (*) i slutet av. det är ett wild card. Vad det representerar är allt i mappen Temp, eftersom allt i Temp -mappen är tillfälligt. och vi vill ta bort det.

Dubbelcitaten runt platsen är också viktiga. Det där. berättar för PowerShell att det som finns där finns en sträng. Tänk på sträng som en sträng. av bokstäver och tecken. Om det var vanliga siffror skulle vi inte använda. citat.

$ TempFile = Get -ChildItem $ TempFileLocation -Recurse

Vi gör en annan variabel. Den här gången kommer vi att använda ett kommando för att komma på något att lägga i $ TempFile variabel.

Get-ChildItem 

En annan sak du kommer att märka om cmdlets som Get-ChildItem är att den är helt läsbar. Se hur det första ordet är ett verb? Cmdlets börjar alla med åtgärdsord, så du vet omedelbart vad det gör. ChildItem är två substantiv.

Den andra delen av cmdlet kommer alltid att berätta för oss vad PowerShell kommer att tillämpa åtgärden. ChildItem betyder alla barn på en förälderplats. Detta är som att säga få alla filer som finns i en mapp, med filer som barn och mappen är förälder.

Vad är cmdleten som får barnartiklarna av? Allt i variabeln $ TempFileLocation. PowerShell kommer att gå till den plats som vi lade in $ TempFileLocation tidigare och få alla underordnade objekt som finns där. Sedan kommer det att sätta dem i variabeln $ TempFile.

Så, vad är det med -Recurse del? Det är talande Get-ChildItem att gå igenom allt på den platsen. Gå inte bara och hämta filerna direkt i den överordnade mappen. Om det finns mappar i den mappen, skaffa alla deras barn också, och deras barn och så vidare. Vi kommer att få dem alla.

$ TempFileCount = ($ TempFile) .count

Ja, vi skapar en tredje variabel som heter $ TempFileCount, och vi kommer att sätta ett tal i den variabeln. Var är numret? Tja, ($ TempFile) .räkning kommer att ge oss det numret. Du har säkert kommit på att .count -delen kommer att räkna alla filer som vi just lagrade i $ TempFile.

Varför gjorde vi det här? Mest för att det är trevligt att veta hur många värdelösa filer vi rensar med resten av manuset så att vi kan se hur effektivt det var.

if ($ TempFileCount -eq 0)

Nu sätter vi upp ett villkorligt uttalande. Du kan se att det frågar "om". Om vad? Om saken inom parentes är sann eller falsk. Fästena är viktiga, annars vet If inte vad de ska jämföra. Här frågar det om numret vi lagrade i $ TempFileCount är lika med noll.

De -ekv är stenografi för lika. Det är en typ av jämförelseoperatör. Det är som att säga till dina barn, "Om ditt rum är rent, bra, vi ska göra något ..." Det här uttalandet säger om numret som lagrades i $ TempFileCount är lika med noll gör nästa sak.

{Write -Host "Det finns inga filer i mappen $ TempFileLocation" -ForegroundColor Green}

Det är det som kommer att hända om $ TempFileCount är noll. De lockiga fästena är viktiga. De säger till PowerShell att bara göra det som finns i dem om $ TempFileCount är lika med noll.

Det kommer att skriva till värden eller skärmen, "Det finns inga filer i mappen C: \ Users \ användarnamn \ Appdata \ Local \ Temp \*". Parametern i slutet, -Förgrundsfärg uppmanar PowerShell att göra texten grön. Det gör det bara lättare att skilja från ett felmeddelande som normalt är rött.

Annan

Du vet vad mer betyder. Det här är "Ditt rum är bättre rent annars ..." för att kontrollera om ditt barn städade sitt rum. Det är vad som kommer att hända om $ TempFileCount är inte noll.

{$ TempFile | Ta bort -Item -WhatIf -Confirm: $ false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

Detta säger gå till den aktuella platsen lagrad i $ TempFile. Den vertikala linjen efter det kallas ett rör. Det fungerar ungefär som ett verkligt rör eftersom det säger till PowerShell att kasta innehållet i $ TempFile i cmdlet, som om det var vatten som leddes in i en tvättmaskin. Sedan cmdlet Ta bort sak gör vad den säger; det tar bort allt som finns på den platsen.

De -Tänk om parameter är mycket viktigt i detta skede. Det säger till PowerShell att köra kommandot, men bara prova det, ta inte bort någonting. Visa bara vad som skulle hända om vi verkligen gjorde det här.

Detta låter dig testa kommandon utan att ändra något på din dator. Lämna -WhatIf där inne tills du är bekväm med att skriptet kommer att göra vad du vill att det ska göra och inget annat. Sedan är det bara att radera det och skriptet kommer att göra sitt jobb.

Parametern -Bekräfta: $ false stoppar skriptet från att fråga om du verkligen vill ta bort filen. Vet du vad -Recurse gör. -Tvinga betyder att ta bort den saken oavsett vad. -VarningAction är satt till Tyst fortsätter.

Detta förhindrar att manuset ger dig varningar om vad du tar bort. -ErrorAction är satt till Tyst fortsätter så att om det finns något fel i processen, fortsätter det bara att kämpa med.

Nu är vi på sista raden.

Skrivvärden "Rensade $ TempFileCount -filer i mappen $ TempFileLocation" -ForegroundColor Green}

Precis som Skriv-värd gjorde första gången kommer den att mata ut följande mening, så vi vet vad som har hänt. Det kommer att berätta för oss hur många filer som raderades från mappen som det just bearbetade och gör det i grönt för att göra det enkelt att upptäcka.

Låt oss titta på manuset helt och hållet:

$ TempFileLocation = "C: \ Users \ guymcd \ Appdata \ Local \ Temp \*"
$ TempFile = Get -ChildItem $ TempFileLocation -Recurse
$ TempFileCount = ($ TempFile) .count
if ($ TempFileCount -eq "0") {
Skriv -värd "Det finns inga filer i mappen $ TempFileLocation" - ForegroundColor Green
}
Annars {
$ TempFile | Ta bort -artikel -Bekräfta: $ false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Skrivvärden "Rensade $ TempFileCount -filer i mappen $ TempFileLocation" -ForegroundColor Green
}

Du kan kopiera och klistra in detta i din PowerShell ISE och spara det som något liknande delete-TemporaryFiles.ps1. Du kan lika gärna hålla fast vid namngivningskonventionen för cmdlets nu när du förstår dem.

Om koden inte fungerar för dig av någon anledning kan du också ladda ner PowerShell -skriptet vi skapade och kör det bara. Packa upp den först för att se skriptfilen.

När du vill köra detta skript, högerklickar du på det och väljer Kör med PowerShell. En PowerShell -konsol kommer att dyka upp en sekund eller två, medan ditt manus gör sitt och försvinner sedan om det inte finns några fel.

Var kan jag lära mig mer PowerShell?

Det verkar mycket! För ditt första PowerShell -skript är det en rättvis bit. Om du har kommit så långt, applådera dig själv. Du har lärt dig mycket idag, men nu vill du lära dig mer. Toppen!

Det finns många resurser på Internet för att lära dig mer om PowerShell. Ett bra ställe att börja är vår artikel, ”Skapa en lista över startprogram via kommandoraden eller PowerShell”. Kolla sedan in dessa andra resurser:

  • Komma igång med Microsoft PowerShell - Microsoft Virtual Academy
  • PowerShell -handledning - TutorialsPoint.com

Välkommen till Help Desk Geek- en blogg full av tekniska tips från betrodda tekniska experter. Vi har tusentals artiklar och guider som hjälper dig att felsöka alla problem. Våra artiklar har lästs över 150 miljoner gånger sedan vi lanserades 2008.

Vi hatar skräppost också, avsluta prenumerationen när som helst.

7 bästa gratis tune-up-verktyg för Windows
7 bästa gratis tune-up-verktyg för Windows

Har du märkt att din dator tar längre tid att starta upp? Eller så kanske det bara inte fungerar ...

De 7 bästa verktygen för borttagning av bloatware för Windows
De 7 bästa verktygen för borttagning av bloatware för Windows

Som alla Windows-användare vet är bakgrundsappar den största faktorn som saktar ner en dator. Det...

Best Beat Making-programvara för Windows
Best Beat Making-programvara för Windows

Som allt annat har musiken blivit digital. Oavsett om du vet hur man spelar ett instrument eller ...