Slik mestrer du pålitelighetshistorikk i PowerShell: Administrasjon, revisjon og analyse

Siste oppdatering: 05/06/2025
Forfatter: Isaac
  • PowerShell tillater, gjennom cmdlets og konfigurasjoner, å registrere og hente historikken til kommandoer å øke pålitelighet operativ.
  • Historisk analyse av både kommandoer og ytelse er nøkkelen til å forutse feil og optimalisere ressurser i lokale og skybaserte miljøer.
  • Revisjon og riktig konfigurasjon av logger sikre samsvar og sporbarhet i komplekse forretningsinfrastrukturer.

PowerShell

Pålitelighetshistorikk er en av de beste allierte for enhver administrator eller avansert bruker når den jobber med PowerShell. Ikke bare for feilsøking av feil eller gjenoppretting av kommandoer, men også som en viktig informasjonskilde for revisjon, automatisering og forbedring av effektiviteten i systemadministrasjon. Gjennom årene har PowerShell integrert flere måter å registrere, spørre, revidere og utvinne verdi fra kommandohistorikk og ytelse, både lokalt og i bedrifts-, klynge- og skyscenarier. Denne artikkelen bryter grundig og i en vennlig tone ned alt du trenger å vite for å kontroller historikken din i PowerShell, øk påliteligheten til driften din og dra full nytte av alle analysemulighetene som tilbys av dette kraftige automatiseringsspråket. Windows og andre plattformer.

Kanskje du har kjørt en perfekt PowerShell-kommando, men etter noen dager kan du ikke huske hvordan du skrev den. Eller du har opplevd en feil og må rekonstruere hvilke kommandoer som ble utført, i hvilken rekkefølge og hvilke effekter de hadde. Eller du leter etter måter å demonstrere, for sikkerhets- eller samsvarsrevisjoner, riktig og registrert bruk av administrative skript og handlingerVel, her vil du oppdage, fra det mest grunnleggende til det mest avanserte, hvordan PowerShell administrerer historikken sin, hvordan du kan revidere den, og hvordan du kan gjøre den til en sann gullgruve for pålitelighet, ytelse og sikkerhetsanalyse.

Hvordan håndterer PowerShell kommandohistorikk?

Historikkhåndtering er en av de mest verdifulle funksjonene i PowerShellNår du kjører en kommando i konsollen, lagrer PowerShell den automatisk i historikken din. Denne loggen er utrolig nyttig både for å konsultere tidligere ordrer og for å automatisere repetisjon eller revisjon av handlinger. Det finnes to hovedhistorikkleverandører i PowerShell:

  • PowerShells innebygde historikkDette lagrer kommandoer som utelukkende brukes i den gjeldende økten. Når du lukker økten, forsvinner historikken. Det er enkelt og greit, ideelt for rask referanse, men ikke vedvarende på tvers av økter.
  • Historikken som administreres av PSReadLine-modulenDenne juvelen er ansvarlig for Kommandohistorikken din beholder seg selv når du lukker og åpner nye økter, siden den lagrer kommandoene i en sentral fil som er tilgjengelig for alle økter som har PSReadLine lastet inn. På denne måten kan du gjenopprette kommandoer fra dager, uker eller til og med måneder siden., noe som gjør det mye enklere for deg å gjenta, korrigere og analysere handlingene dine i ettertid.

Begge historiene kan eksistere samtidig i samme økt (hvis du har lastet inn PSReadLine), men De opererer uavhengig og har sin egen ledelseslogikk.

Hoved-cmdleter og snarveier for å utnytte historikk

PowerShell tilbyr et omfattende sett med cmdleter for å administrere historikk. Dette er de grunnleggende verktøyene for å vise, endre og slette historieoppføringer etter behov. Her er de mest relevante:

Cmdlet Alias beskrivelse
Get-History h Lar deg hente en liste over utførte kommandoer.
Invoke-History r Kjører en kommando fra historikken på nytt. Ideell for å gjenta handlinger.
Add-History Legg til nye kommandoer manuelt i kommandohistorikken.
Clear-History clhy Sletter historikken, og sletter alle øktoppføringer.

Men bortsett fra cmdlets, finnes det flere snarveier som lar deg administrere historikken din med letthet, som om du var en ekte ninja:

  • Opp/Ned: Pil opp/pil ned De blar gjennom henholdsvis forrige og neste kommando.
  • F7Viser et popup-vindu med nylig kommandohistorikk.
  • ESCskjul historikk.
  • F8Hurtigkommandosøk ved å skrive en del av instruksjonen og gjenta F8 for å hoppe mellom treff.
  • F9Søk etter en bestemt kommando ved hjelp av historikknummeret.
  • Kombinasjoner med tabulatorDu kan autofullføre strenger ved å søke i historikken din etter nylige treff.
  Samsung Smart TV-er er utstyrt med AV-porter

Konfigurering av historikkstørrelse og -varighet

Du tenker kanskje at denne historien fortsetter å vokse ... men nei. PowerShell begrenser antall kommandoer som er lagret ved hjelp av variabelen. $Maksimumhistorikkantall. Misligholde, verdien er 4096, men du kan justere det etter dine behov:

$MaximumHistoryCount = 100

Hvis du vil at denne innstillingen skal være permanent mellom øktene, bør du legge den til i brukerprofilen din i PowerShell. På den måten vil alle skallene dine bruke verdien du definerer.

Ikke glem å starte PowerShell på nytt når du endrer denne variabelen for at endringene skal tre i kraft.

Hva skjer med rekkefølgen på kommandoer i historien?

En svært relevant detalj for pålitelighet er å vite når nøyaktig en kommando legges til i historikkenI PowerShell legges en kommando bare inn i historikken når den er fullført. Hvis en kommando tar lang tid å svare, eller hvis du jobber med nestede skall, Den kronologiske rekkefølgen er kanskje ikke slik du forventet.Kommandoer som utføres i underordnede eller nestede skall De skrives inn i historien først når du forlater det nivået, noe som kan skape noe forvirring når man gjennomgår tidssekvensen.

Historie som et verktøy for analyse og revisjon

Utover den umiddelbare bruken til å gjenta kommandoer eller huske gamle ordrer, PowerShell-historikk er en uvurderlig ressurs for analyse, revisjon og driftssikkerhet.Det er her forretnings- og misjonskritiske scenarier kommer inn i bildet der opptaksaktivitet kan være viktig for:

  • Oppdag gjentakende feil og unormal atferd.
  • Gjenskap feilscenarier og presis feilsøking.
  • Registrer administrative handlinger for samsvarsrapportering (sikkerhetsrevisjon).
  • Hent ut bruksmålinger, trender og skriptutførelsesvaner.

Avansert historikkhåndtering i bedriftsmiljøer: Storage Spaces Direct og klynger

I sammenhenger der PowerShell brukes til å administrere serverinfrastrukturer, ytelseshistorikken (ytelseshistorie) får en helt ny dimensjon. For eksempel, i Windows Server 2019, teknologier som Mellomrom av lagring Directo registrere i detalj ytelsen til virtuelle maskiner, disker, volumer og nettverkskort, som tillater:

  • Svar på viktige spørsmål om ressursbrukCPU-topper, mistenkelig diskforsinkelse, IOPS-krevende virtuelle maskiner, nettverksmetning, forventet plassutmattelse og minneforbruk.
  • Automatiser spørringer ved hjelp av cmdleter som Get-ClusterPerf, som lar deg fange opp, behandle og analysere historisk ytelse på en planlagt måte, og kombinere dataene med verktøy som Sorter-objekt, Hvor-objekt y Mål-objekt for å få handlingsrettet innsikt.

Anvendt eksempel 1: Omfattende analyse av CPU-forbruk

Anta at du trenger å finne ut hvordan CPU-bruken har utviklet seg på tvers av alle noder i klyngen din den siste uken. Bruk av cmdlet-en Get-ClusterPerf med serien ClusterNode.Cpu.Usage og perioden Forrige uke, Det er enkelt å få maksimal, minimal og gjennomsnittlig CPU-brukI tillegg kan du utføre kvartilanalyse for å se hvor mange timer hver server var over visse bruksterskler (for eksempel mer enn 25 %, 50 % eller 75 %). Denne typen beregninger De er av rent gull å forutse metning og størrelse på ressurser.

Anvendt eksempel 2: Oppdage avvik på disker (forsinkelse)

I miljøer med flere disker er det avgjørende for systemets pålitelighet å raskt identifisere disker som viser unormale latenser. Du kan analysere serien Gjennomsnittlig forsinkelse for fysisk disk for den siste tidsperioden (Siste time) og, kaste inaktive disker, beregn gjennomsnittlig latens og se hvem som slår gjennomsnittet med mer tre standardavvik. Så, enhver betydelig tregere disk Det er åpenbart, og du kan handle forebyggende.

Anvendt eksempel 3: Identifisering av «støyende naboer» i virtuelle maskiner

En annen klassiker: hvilke virtuelle maskiner bruker mye diskoperasjoner? IOPS per VM-historikk (VHD.Iops.Total) tillater identifisering i sanntid de mest aktive systemene og forstå fordelingen mellom lese- og skriveoperasjoner på lagring. Denne analysen lar deg kontrollere sameksistens av laster og unngå uventede flaskehalser.

  Slik zoomer du ut kameraet i League of Legends og forbedrer spillsynet ditt

Anvendt eksempel 4: Overvåking av nettverksbåndbredde

Når nettverket er flaskehalsen, må du vite det så snart som mulig. Analysere serien NetAdapter.Båndbredde.Total på den siste dagen Du kan finne ut om en adapter har operert over 90 % av sin maksimale kapasitet.Dette oppdager raskt overbelastning, som, hvis de ikke kontrolleres, kan føre til redusert pålitelighet på grunn av økt latens og pakketap.

Anvendt eksempel 5: Analyse av trender for lagringsbruk

Sporing av trenden i fyllingsvolumer ved hjelp av serien Tilgjengelig volumstørrelse tillater forutsi med tilstrekkelig nøyaktighet når lagringsplassen vil gå tom og dermed forutse kritiske problemer. Ved å bruke trendlinjetilpasningsteknikker kan du estimere hvor mange dager som gjenstår før kapasiteten er oppbrukt med dagens tempo.

Anvendt eksempel 6: Historisk minneforbruk

Til slutt er det like enkelt å vite hvilke virtuelle maskiner som har brukt mest minne den siste måneden som å konsultere serien. VM.Minne.Tilordnet til Forrige måned og beregne gjennomsnittet. Dermed, du lett identifiserer deg Virtuelle maskiner som krever mer oppmerksomhet eller mulig omfordeling av ressurser.

PowerShell-revisjon: Administrere logger og hendelseslogger

For administrasjon og revisjon, Brukerhistorikk alene er ikke nokOrganisasjonene krever at man fører pålitelige registre av alle kritiske handlinger, inkludert utførte skript og deres parametere. integreres med Windows hendelsesloggsystem (Hendelseslogg), slik at Tilpass loggstørrelse og oppbevaring fra gruppepolicyen:

  • Navigere til Datamaskinkonfigurasjon → Innstillinger → Windows-innstillinger.
  • Høyreklikk på Registro og velg Ny → Registerelement.
  • Angi verdiene for registeroppføringen ved å velge nøkkelen HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-PowerShell\Operational og parameteren MaxSize med en passende størrelse (anbefalt minimum: 150 MB i desimaler).
  • Gjør endringer for å sikre at hendelser registreres i en rimelig tidsperiode.

Dette trinnet er nøkkelen til enhver policy for oppbevaring, sporbarhet og revisjon av skript og administrative utførelser i profesjonelle miljøer..

PowerShell i skyen og hybridmiljøer: AWS-verktøy og historikk

PowerShells integrasjon med skyplattformer som AWS legger til nye lag med funksjonalitet og, selvfølgelig, nye utfordringer innen pålitelighet og revisjon. AWS Tools for PowerShell har utviklet seg gjennom årene, og muliggjør blant annet:

  • Bruken av variabelen $AWSHistorie (nå utdatert) for å logge svar og til og med forespørsler fra AWS-tjenester, noe nyttig for både feilsøking og sporbarhet og samsvar.
  • Innføringen av forbedrede revisjonsalternativer, som parameteren Inkluder sensitive data en Sett-AWSHistoryConfiguration, for å kontrollere inkluderingen av potensielt sensitive data i loggene.
  • Omfattende versjons- og kommandohåndtering, som tilrettelegger oppdatering, migrering og tilpasning av PowerShell-miljøet i forbindelse med AWS, både på Windows og Linux/macOS.
  • Gradvis utskifting av foreldede cmdleter, forbedringer av pipeline, automatiske bekreftelser, detaljert administrasjon av påloggingsinformasjon og muligheten til å laste inn moduler automatisk uten å måtte importere dem eksplisitt i moderne versjoner av PowerShell.

Disse evnene De gir forbedret pålitelighet og sporbarhet i skymiljøer og i hybridintegrasjoner, avgjørende for å opprettholde streng kontroll over pålitelighetshistorikk med PowerShell.

Feilhåndtering og robusthet av skript: pålitelighet i utførelse

Påliteligheten til en historie er også Det kommer an på hvordan du håndterer feil i skriptene dinePowerShell gir variabelen $ErrorActionPreference for å definere virkemåten ved feil:

  • Som standard er den på Fortsett, som betyr at ikke-kritiske feil ganske enkelt logges og vises, slik at script Fortsette.
  • Du kan endre denne verdien til Stopp slik at enhver feil stopper utførelsen, og dermed forenkle feilsøking og unngå kaskader av feil. For spesifikke tilfeller, gjennomgå Slik fjerner du tillegg i Edge.
  System32-mappen: hva det er, hva det er for, og hvorfor du ikke bør slette det

Bruken av blokker Endelig Det anbefales å sørge for at kritiske oppgaver utføres etter en kodeblokk, uavhengig av om det har vært en feil eller ikke. For eksempel, Du kan rydde opp i ressurser, lagre flere logger eller starte automatiske varsler..

Beste fremgangsmåter for å få mest mulig ut av PowerShell-historikken

  • konfigurerer PSReadLine når det er mulig for å nyte en vedvarende og håndterbar historikk mellom øktene.
  • Justerer $Maksimumhistorikkantall avhengig av størrelsen og dybden på arbeidssyklusen din (i produksjonsmiljøer kan det være lurt å øke den for å beholde eldre poster).
  • I bedriftsmiljøer må du sørge for at størrelsen og oppbevaringen av hendelseslogger er riktig konfigurert.
  • Bruk avanserte skripteksempler til å analysere trender, oppdage flaskehalser og overvåke driftssikkerheten til infrastrukturen din.
  • I skyen kan du utnytte innebygde AWS-verktøy for å registrere historikk og administrasjon av revisjons- og automatiseringsaktiviteter.

Praktiske eksempler på utnyttelse av pålitelighetshistorikk

Alt vi har beskrevet ville være verdiløst uten konkrete eksempler. Her er et utvalg av skript og scenarioer som illustrerer hvordan man kan bruke historikk i PowerShell til å overvåke, revidere og forbedre driftssikkerheten:

CPU-overvåking i klynger

Det lar deg identifisere når og hvor lenge hver server har hatt høy CPU-bruk, noe som forenkler vedlikehold og skaleringsplanlegging.

Deteksjon av trege disker ved hjelp av statistisk analyse

Å sammenligne den gjennomsnittlige latensen for alle disker og automatisk utheve de som er over tre standardavvik, bidrar til å forutse potensielle forestående feil.

Rangering av virtuelle maskiner etter ressursforbruk

Å evaluere i sanntid hvilke virtuelle maskiner som bruker mest IOPS eller minne i løpet av bestemte tidsvinduer bidrar til å balansere belastninger og allokere ressurser effektivt.

Prediksjon av lagringsmetning

Ved å estimere den daglige veksttrenden i volumforbruk, er det mulig å forutse når en ressurs vil gå tom for plass, og dermed unngå uventede nedstengninger.

Automatisering av varsler om nettverksmetning

Konfigurer skript som varsler deg hvis et nettverkskort overstiger 90 % av sin teoretiske kapasitet, noe som øker påliteligheten før brukerne opplever nedetid eller tregheter.

Avanserte hensyn og referanser

Arbeid med PowerShells pålitelighetshistorikk stopper ikke i den lokale konsollen. Hver ny versjon og hvert miljø (sky, klynge, hybrid) legger til nyanser og forbedringer, ofte dokumentert på offisielle portaler eller i veiledninger for beste praksis fra Microsoft, AWS og andre leverandører. Avanserte brukere kan utforske referanser som about_History i Microsoft Docs, dokumentasjon for skripting av Windows Server Storage Spaces Direct (S2D) og oppdaterte AWS Tools for PowerShell-veiledninger for å holde seg oppdatert.

Til slutt Mestre historikk og pålitelighet i PowerShell Dette oppnås gjennom en kombinasjon av teknisk kunnskap, beste praksis innen logghåndtering og muligheten til å utnytte historiske data for å forbedre stabiliteten, sikkerheten og effektiviteten til systemene dine. Ved å bruke alle disse teknikkene og anbefalingene kan enhver organisasjon eller fagperson forvandle måten de reviderer, optimaliserer og sikrer driften sin med PowerShell, enten lokalt eller i skyen.

Feil og unntak i PowerShell 9
Relatert artikkel:
Feil og unntak i PowerShell: En komplett veiledning for å håndtere dem