Disse 5 Windows PowerShell-kommandoene er så bra at de føles som juks

Oppdag fem kraftige PowerShell-kommandoer som effektiviserer arbeidsflyten din, fra å sende resultater til søkbare vinduer, til å kjøre kode på flere servere samtidig.
Hvis du jobber med PowerShell regelmessig, har du sikkert skrevet inn kommandoer du glemte, manuelt sjekket loggfiler, eller logget inn på servere én etter én. Dette kan bli irriterende i lengden, og det er frustrerende å vite at du må gjøre det igjen og igjen. Noen cmdlets kan løse disse problemene for deg, og viser seg å være svært nyttige for hverdagsbrukere.
Sende resultater til et søkbart vindu
Det betyr egentlig rask tilgang
Når du ser på en masse tekst som ruller i konsollen din, vil du ikke være i stand til å finne spesifik informasjon lett. Out-GridView cmdlet hjelper her. Hvis du sender resultatene dine til denne cmdleten, endrer den tekstutgangen til et eget vindu hvor dataene dine vises i en tabell. I stedet for å justere kompleks filtreringkode hver gang du vil finne noe, gir denne kommandoen deg punkt-og-klikk kontroll.
Vinduet har en søkefilterboks øverst som lar deg søke gjennom tusenvis av linjer med data, som tette hendelseslogger eller bakgrunnsprosesser, bare ved å skrive inn et nøkkelord. Du kan sortere informasjonen ved å klikke på kolonneoverskrifter eller legge til kriteriefiltre ved hjelp av nedtrekksmenyer for å snevre inn resultatene uten å legge til mer kode.
Sørg for å legge til -PassThru fordi det gjør grid-vinduet til et interaktivt valgverktøy. Det pauser skriptet ditt og lar deg markere spesifikke rader. Når du klikker OK, lukkes vinduet, og disse elementene sendes tilbake nedover i pipeline, slik at skriptet ditt kan fortsette å jobbe med dem. Dette er et stort steg mot å lære hvordan man automatiserer Windows.
Kjøre kode på mange datamaskiner samtidig
Gjøre mer arbeid på kortere tid
Hvis du har mange servere, vet du hvordan det er å logge inn på hver maskin én etter én for sjekker eller oppdateringer. Invoke-Command sparer tid fordi det kjører kode på hundrevis av eksterne maskiner samtidig i stedet for å besøke hver server én etter én. Du trenger sannsynligvis ikke å gjøre det på hundrevis, men hvis du har fire eller fem, sparer dette deg for mye tid.
Denne kommandoen bruker fjernprotokoller som WinRM på Windows eller SSH for plattformuavhengige oppsett for å støtte en-til-mange fjernkjøring. Den sender instruksjoner til hver datamaskin på listen din og samler resultatene i konsollen din. Når du sender en skriptblokk til cmdleten, sender den koden din til alle målsystemene samtidig. Når de eksterne kjøringene er ferdige, kommer resultatene tilbake til din lokale økt som objekter, så du trenger ikke å overvåke hver maskin.
For å hjelpe deg med å spore de innkommende dataene, legger PowerShell til en PSComputerName egenskap til hvert objekt for å vise hvilken server det kom fra. Dette gir deg en måte å gruppere og sortere dataene lokalt for å finne forskjeller i oppsettet ditt.
Finne tidligere arbeid ved hjelp av snarveier
Slutt å skrive de samme kommandoene på nytt
Hvis du har brukt tid på å bygge en komplisert PowerShell-kommando, kan du innse noen dager senere at du trenger samme logikk, men ikke husker syntaksen. PowerShell har et kommandohistorikk-system som fungerer som en oversikt over arbeidet ditt, og lar deg hente kommandoer du har utført tidligere.
Når du legger inn en kommando, lagrer PowerShell den. Moderne miljøer bruker innebygd sesjonshistorikk og vedvarende historikk som PSReadLine modulen administrerer. Mens den innebygde historikken bare sporer kommandoer i din nåværende sesjon og PowerShell sletter dem når du lukker vinduet, holder PSReadLine en kontinuerlig oversikt.
Denne modulen skriver hver kommando du skriver i alle økter til en fil på maskinen din, så du ikke mister arbeidet ditt mellom omstarter. I stedet for å skrive lange skript på nytt, kan du bruke en hurtigtast for å hente opp kommandoer du brukte tidligere. Når du skriver inn heksadesimalsymbolet # etterfulgt av et nøkkelord fra kommandoen og trykker på Tab-tasten, søker PowerShell historikken din etter den nyeste matchen. Bare fortsett å trykke Tab-tasten til du finner det du trenger. Jeg starter med #get og trykker deretter Tab, og det finner vanligvis det jeg trenger raskere.
Se filer oppdatere mens det skjer
Se endringer når de ankommer
Det er irriterende å kjøre den samme kommandoen gjentatte ganger bare for å se om en loggfil har blitt oppdatert. Hvis du vil se en filstrøm live mens systemet skriver til den, er Get-Content cmdleten med -Wait parameteren en flott måte å overvåke den på. Normalt leser Get-Content en fil og viser innholdet. Imidlertid fungerer cmdleten annerledes.
når du legger til -Wait-parameteren.
I stedet for å lukke filen, holder PowerShell forbindelsen åpen og sjekker etter nytt innhold hvert sekund. Når systemet legger til nye linjer, ser du dem på skjermen. Siden du ikke trenger å starte kommandoen på nytt, er det en flott måte å følge med på feil eller spore ytelsen til en bakgrunnsprosess.
Du kan justere dette ved å kombinere -Wait med kode som -Tail. For eksempel, hvis du overvåker en veldig stor loggfil, bruk -Tail for å vise bare de siste linjene før den begynner å vente. Dette hindrer konsollen din i å vise for mye gammel data. Hvis du bruker -TotalCount for å be om flere linjer enn filen inneholder, viser Get-Content det nåværende innholdet og venter til systemet skriver de andre linjene til disken. Dette hjelper skript som må pause til en spesifikk logghendelse skjer.
Snevring av lister for å finne spesifikke elementer
Finne nålen i høystakken
Å finne spesifikk informasjon du trenger i et stort datasett er vanskelig, men filtrering er en flott løsning. Når du har for mange resultater, forkorter Where-Object-kommandoen lister for å vise bare de viktige elementene. Dette tar utdata fra andre kommandoer og begrenser den dataen basert på reglene du setter. Du kan se etter filer som er for store eller filtrere systemtjenester for å finne de som ikke har startet.
Where-Object-cmdleten fungerer som en portvakt i rørledningen, sjekker hver enkelt objekt og lar bare de som matcher kriteriene dine passere til neste kommando. PowerShell lar deg sette disse reglene ved hjelp av en enklere syntaks som leser som naturlig språk. Dette gjør det enkelt å gjøre raske sammenligninger, som å sjekke om en tjenestestatus er lik en bestemt tilstand.
For noe mer komplekst kan du bruke scriptblock-syntaksen med krøllete klammer og variabler for å sjekke flere betingelser på en gang. Dette lar deg kombinere operatorer som -and og -or for å lage spesifikke filtre.
Ha disse kommandoene handy for fremtiden
Ingen av disse cmdlet-ene trenger ekstra oppsett eller tredjepartsverktøy. De er allerede i PowerShell, og det eneste som skiller deg fra å bruke dem, er å vite at de eksisterer. Når du begynner å jobbe dem inn i rutinen din, vil du legge merke til ganske raskt hvor mye tid du feilaktig har brukt på å gjøre ting på den lange måten. Bare sørg for å skrive dem ned eller bokmerke denne siden så du kan gå tilbake når du trenger dem.
Hvis du vil lese flere artikler som Disse 5 Windows PowerShell-kommandoene er så bra at de føles som juks, kan du besøke kategorien Windows.

Legg igjen en kommentar