Powershell Cmdlets, der forbedrer dine Windows-administratorfærdigheder

  • Harry James
  • 0
  • 2782
  • 724
Reklame

Powershell er en perfekt måde for en ny koder at komme i gang på Windows. Powershell er kommandolinjeværktøjet og dele af script-sprog lige dele. Det giver dig muligheden for at automatisere din computer via de samme kommandoer, du bruger til at administrere den Kommandoprompt vs. Windows PowerShell: Hvad er forskellen? Kommandoprompt vs. Windows PowerShell: Hvad er forskellen? Windows-brugere kan klare sig uden at bruge hverken kommandoprompten eller PowerShell. Men med Windows 10 og nye funktioner rundt om hjørnet, er det måske på tide, vi lærte. . Hvis du har et moderne Windows-system, har du allerede Powershell. De fleste af dens anvendelser er Windows-centreret, men du kan installere Powershell på en Mac- eller Linux-maskine Sådan installeres og bruges PowerShell på Linux Sådan installeres og bruges PowerShell på Linux I 2016 openede Microsoft PowerShell og debuterede en cross-platform iteration . I denne artikel vil jeg vise dig, hvordan du installerer, kører og bruger PowerShell på Linux! såvel.

Arbejde med Powershell

Der er to måder at bruge Powershell på. Der er det grundlæggende kommandolinjevindue, der bruges til at køre kommandoer eller påkalde forskrevne scripts. Så er der ISE, som kombinerer CLI-vinduet med et grundlæggende udviklingsmiljø. Ved hjælp af dette kan du skrive og teste dine scripts.

ISE har en søgbar liste over kommandoer, og du kan bruge dens terminalvindue uden en fil åben. Kommandolisten giver dig mulighed for at konstruere din kommando og indsætte den. Hvis du laver mere avanceret udvikling, skal du installere Microsofts Visual Studio-kode. Koden inkluderer support til Git-versionskontrol 10 Væsentlige produktivitetstip til Visual Studio-kode 10 Væsentlige produktivitetstip til Visual Studio-kode Visual Studio-kode blæser andre programmeringstekstredaktører ud af vandet. Det er gratis, open source, lynet hurtigt og fyldt med produktivitetsfunktioner. og andre sprog.

Powershell er unik, idet den er bygget udelukkende af kommandoer, Microsoft kalder dem Cmdlets. Disse kommandoer er de samme, hvis du arbejder via kommandolinje eller skriver komplekse scripts. Så når du bruger disse kommandoer, kan du tænke over, hvordan du strenger dem sammen for at oprette dine første scripts.

Det grundlæggende: Get-Command, Get-Help, Get-Member

Alle Powershell-kommandoer er i form af Verb-Noun. Verberne er normalt: Hent, indstil og nyt.

Get-Kommando giver dig mulighed for at se alle tilgængelige kommandoer. Når du kører Get-Command, ser du, at der er mange kommandoer, der starter med disse.

Når du graver længere ud fra bare navnene på cmdlets, begynder du at se, at de alle har en lignende struktur. Du påberåber dem ved navn, ligesom du gjorde med Get-Command. Brug af parametre ændrer, hvilke oplysninger du får. Men hvis du kun nogensinde har brugt kommandoen med standardindstillinger, hvordan finder du ud af, hvordan du bruger avancerede parametre?

Bruger Få hjælp cmdlet med Get-Command viser mere information om cmdlet. Vi bruger cmdlet med følgende syntaks:

Get-Help Get-Command

Derefter kan du se de grundlæggende oplysninger om parametrene. Hvis du vil se parameterdetaljerne og nogle anvendelseseksempler, skal du tilføje parameteren -Full.

Hvis du kun vil se eksemplerne, kan du køre:

Get-Help Get-Command -Examples

Denne cmdlet returnerer kun eksemplerne fra hjælpefilen. Disse eksempler er meget nyttige, fordi de inkluderer beskrivelser. Denne hjælpetekst forklarer, hvad cmdlet og parametre gør, når de køres.

Hvis du vil poppe hjælpefilen ud i et separat vindue, kan du bruge -ShowWindow. Så hvis du kører:

Get-Help Get-Command-ShowWindow

Powershell springer ud af et vindue med den fulde hjælpefil. Du behøver ikke at bruge den fulde parameter her, da vinduet trækker hele artiklen.

Når du bliver mere avanceret med Powershell, vil du opdage, at du bruger Get-Member oftere. Det er en nem måde at se, hvilke felter der er tilgængelige fra returnerede data, samt andre metoder, du kan køre. Ofte vil cmdlets have en -Ejendom parameter, så du kan kalde dem.

Arbejde med filer: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Nu hvor du har en idé om, hvordan cmdlets fungerer, og hvordan du får hjælp, lad os foretage ændringer. Du kan hente indholdet i en hvilken som helst mappe ved hjælp af Get-ChildItem kommando. For eksempel kan du hente filerne på et helt drev vha. Drevbrevet. Gå ind:

Get-ChildItem E: \

Hvilket er forkort til:

Get-ChildItem-Sti E: \

Når du kører denne kommando, får du en liste over filer med dens sidste skrivetid, størrelse under egenskaben Længde, Navn og tilstand. Funktionen er attributterne for en fil eller mappe AttributeMagic Free: Rediger filegenskaber i Windows AttributeMagic Free: Rediger filegenskaber i Windows. De mulige poster er:

  • Læs kun
  • Skjult
  • System
  • Vejviser
  • Arkiv
  • Apparat
  • Normal
  • Midlertidig
  • SparseFile
  • ReparsePoint
  • komprimeret
  • Offline
  • NotContentIndexed
  • krypteret

Hvis du vil have indholdet af alle undermapper i en sti, vil du bruge -recurse parameter. Så løb så:

Get-ChildItem-path E: \ -Recurse

Dine filer kommer derefter ud som separate lister for hver mappe i stien.

For at begrænse de returnerede data kan du bruge et par forskellige parametre: -Fil, -Skjult, og -Læs kun. Hvis du søger at filtrere fra navnene på filen, kan du bruge jokere i Path-parameteren. For at returnere alle .doc-filer i et bibliotek skal du indtaste:

Get-ChildItem-Path E: \ *. Doc

Tilføj igen -recurse hvis du også ville have alt fra undermapperne.

Hvis du vil slette en fil, skal du bruge:

Fjern-emne -sti E: \ OldFile.txt

Tilføj parameteren for at springe over bekræftelse af hver fil -Bekræft $ falsk (Powershell har to konstanter for boolske værdier: $ true og $ false). For at tvinge fjernelse af skrivebeskyttede eller skjulte filer skal du bruge -Kraft parameter.

At flytte filer er lige så let. For at flytte alt fra dit Flash-drev til det lokale drev i en mappe skal du bruge:

Flyt-vare -sti E: \ * -destination C: \ FlashDriveArchive

Du kan også navngive en enkelt fil i -Path for kun at flytte den fil. Hvis du vil kopiere filen i stedet for at flytte den, bruger du den samme syntaks med Copy-Element cmdlet.

Overvågning og arbejde med processer og tjenester

Hver Windows-bruger kender Task Manager 5 Kraftfulde alternativer til Windows Task Manager 5 Kraftige alternativer til Windows Task Manager Task Killer ville være et bedre navn på den oprindelige Windows Task Manager, da vi kun bringer det op for at dræbe reagerende processer. Alternative Task Managers giver dig mulighed for rent faktisk at styre dine processer. . Der er dog en hurtigere måde at se de aktuelt kørende processer fra Powershell, Get-Proces. Hvis du vil vide, hvad alle poster i denne tabel betyder, skal du ringe kommandoen til Get-medlem. Indtast cmdlet:

Get-Process | Get-medlem

Get-medlem udsender en liste over metoder og egenskaber, der er forbundet med Get-Process. Oplysningerne øverst er det, du er interesseret i. Du ser, at de forskellige typer hukommelse har aliaser.

Vi kan også se fra denne output, at vi kan få Produkt egenskab for at få et venligere navn til processerne. Lad os ændre output, så det har bedre information til os at arbejde med:

Get-Process | Select-Object-produkt, NPM, CPU, Navn, ID | Sort-Object CPU-Aftagende

(Der er mere info om Select-Object og Sort-Object i det næste afsnit.)

Nu hvor du har ID'et fra din Get-Process-kommando, kan du stoppe det ved hjælp af cmdlet Stop-Process. Så hvis du finder ud af, at en Chrome-proces tygger op alle dine ressourcer, skal du finde ID'et i den forrige kommando. Kør derefter:

Stop-Process -ID 45960

Erstatte 49.560 med ID på dit ressource-svin.

Ved hjælp af filstien kan du starte en proces ved hjælp af Powershell. For at starte Chrome skal du køre følgende kommando:

Start-process -Filepath "C: \ Program Files (x86) GoogleChromeApplicationchrome.exe"

(Du skal have anførselstegn omkring filstien på grund af mellemrum.) The -ArgumentList parameter giver dig mulighed for at videresende kommandolinjemuligheder til applikationen. I tilfælde af Chrome kan du tvinge den til at starte i inkognitotilstand ved hjælp af -inkognito flag. Hele cmdlet er:

Start-process -Filepath "C: \ Program Files (x86) GoogleChromeApplicationchrome.exe" -ArgumentList "--incognito"

Du kan gøre det meste af disse samme ting med tjenester Sådan kontrolleres køreservices med SC-kommandoen [Windows] Sådan kontrolleres kørselstjenester med SC-kommandoen [Windows] En af de ting, som jeg finder mig selv gør meget oftere siden dykning i IT overvåger og kontrollerer status for tjenester, der kører på computere, der kører på tværs af virksomheden. Der er… . Get-service viser dig en liste over alle de tjenester, der kører på din computer. Samme med Start og Stop-tjenester, du kan bruge Start-service og Stop-service.

Arbejde med data: Sort-Object, Select-Object, Where-Object

Når du arbejder med dataene fra en cmdlet, er det måske ikke altid den rækkefølge, du ønsker. I disse tilfælde vil du bruge Sortér-Objekt. Du kan kalde Sort-Object på en variabel, du oprettede, men primært bruges det ved at piple en anden cmdlet. Som i eksemplet ovenfor rør vi output fra et objekt til et andet og sorterer det. Lad os oprette en matrix med tre tilfældige tal og rør det til Sort-Object.

Alt i parentes løber først. Opret en enkel matrix med:

$ (Get-Random), $ (Get-Random), $ (Get-Random)

Sørg for at bemærke kommaerne, der adskiller værdierne. Så for at se de tilfældige numre sorteret køre:

$ (Get-Random), $ (Get-Random), $ (Get-Random) | Sortér-Objekt

Cmdlet udsender tallene fra den mindste til den største, hvis du vil vende det, tilføj -Aftagende.

Når du rør cmdlets til Get-Member, er der flere egenskaber end standardoutput. Du vælger specifikke egenskaber ved hjælp af Vælg-Objekt.

Ligesom Sort-Object, bruger du Select-Object via en pipedelt cmdlet. For eksempel at generere en tabel med tjenester og deres brug af status:

Get-Service | Select-Object DisplayName, Status

Selvom det er rart at sende alle disse data, hvad nu hvis du kun vil se specifikke data? Get-ChildItem har en vis indbygget filtrering, men de fleste kommandoer gør det ikke. I disse tilfælde bruger du Hvor-Objekt.

Vender tilbage til tjenester igen, denne gang vil du kun få kørende tjenester. Indtast cmdlet:

Get-Service | Hvor-objekt status -ekv "kører"

At -eq i sammenligningen er Powershell til =. I Powershell udfører du sammenligninger med bogstavkombinationer:

  • eq: er lig
  • ne: ikke lige
  • lt: mindre end
  • gt: større end
  • ge: større end eller lig med
  • le: mindre end eller lig med
  • lignende: brug som i jokertekniske sammenligninger

Formateringshjælp: Format-tabel og Format-List.

For disse forskellige cmdlets var det meste af output i tabelformater. Dette viser dataene i rækker og kolonner med overskrifter. Rør cmdlet til for at få vist poster, der er angivet med deres egenskaber individuelt Format-List.

Nogle gange har du en output, der bliver for bred til Powershell-vinduet. Når det sker, tvinger Powershell det til en listeudgang. For at sikre dig, at du opbevarer den i tabelformat, rør din output til Format-Table.

Fra kommandolinjen til scripting: Næste trin

Når du har det godt, er scripting et spørgsmål om at indtaste cmdlets. Øg din produktivitet med Windows PowerShell-scripts. Øg din produktivitet med Windows PowerShell-scripts. Hvad hvis du kunne bringe produktiviteten af ​​Linux over til Windows? De fleste Linux-distros leveres pakket med det kraftige Bash-shell. PowerShell er en lige så kraftig terminal til Windows. i en tekstfil og gemme den. Hvis du er nervøs for at prøve scripting, skal du ikke være det. Microsoft har en enorm mængde dokumentation på hver cmdlet. Dette er ud over den allerede længe hjælpedokumentation, så sørg for at tjekke Technet [No Longer Available].

Hvis du lærer Powershell, så fortæl os i kommentarerne, hvad du er mest glade for at gøre. Hvis du har fået mere erfaring, vil vi meget gerne høre om mere avancerede emner, du gerne vil have dækket.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.