Mange utviklere elsker PowerShell, og med god grunn: det gir makt, funksjonalitet og fleksibilitet til Windows Ledetekst, hvor mange av oss tilbringer en god del tid. Det gjør imidlertid komme med en bit av en læringskurve, men når du har mestret de grunnleggende kommandoene du trenger å vite, det er produktivitet på steroider.,
PowerShell-kommandoer er kjent som cmdlets, og disse cmdletene er drivkraften bak sin funksjonelle evner. Fra kommandoer som forbedrer den generelle Windows-opplevelse til kommandoer nyttig for utvikling arbeid, det er dusinvis av viktige kommandoer utviklere bør vite., Vi har satt sammen denne listen for å tjene som en nyttig referanse guide for de som er bare begynnelsen for å tappe inn i kraft av PowerShell, så vel som de som ønsker å nivå opp sine PowerShell erfaring, blant annet:
- Grunnleggende PowerShell-Cmdleter
- PowerShell-Kommandoer for å Få Ting Gjort
- Cmdlets for Ytelse Overvåking, Testing og Debugging
I tillegg til cmdleter, det er dusinvis av parametere og metoder som hjelper deg med å få mest mulig ut av dine skript., Den WhatIf parameteren er spesielt nyttig for testing PowerShell-skript uten faktisk kjøre dem (@pluralsight). Det er vanligvis flere parametere og metoder som er tilgjengelige for hver kommando. Kommandoene er oppført nedenfor, er et godt utgangspunkt for en utvikler, men for å realisere fordelene, du bør mestre parametere og andre metoder også.
Grunnleggende PowerShell-Cmdleter
Disse grunnleggende PowerShell-kommandoer er nyttig for å få informasjon i ulike formater, konfigurere sikkerhet og enkel rapportering.,
Få-Kommandoen
Komme-Kommandoen er en lett-å-bruke referanse cmdlet som bringer opp alle kommandoene som er tilgjengelige for bruk i din nåværende sesjon.
Bare skriv inn denne kommandoen:
get-command
output vil se ut noe som dette (@MS_ITPro):
2. Get-Help
Get-Help-kommandoen er viktig for alle som bruker PowerShell, og gir rask tilgang til den informasjonen du trenger for å kjøre og arbeide med alle de tilgjengelige kommandoene.
Hvis du ønsket noen eksempler, for eksempel, ville du inn følgende (@jp_jofre):
3., Set-ExecutionPolicy
Microsoft deaktiverer scripting som standard for å forhindre at skadelige skript fra å utføre i PowerShell-miljø. Utviklere som ønsker å være i stand til å skrive og kjøre skript, men så Set-ExecutionPolicy kommandoen gjør det mulig for deg å styre sikkerhetsnivået rundt PowerShell-skript. Du kan velge en av fire sikkerhetsnivåer:
- Begrenset: Dette er standard sikkerhetsnivå som blokkerer PowerShell-skript fra å kjøre. I denne sikkerhetsnivå, du kan bare skrive inn kommandoer interaktivt.,
- Alle er Signert: Dette sikkerhetsnivået gir skript for å kjøre bare hvis de er signert av en troverdig utgiver.
- Ekstern Signert: I denne sikkerhetsnivå, noen PowerShell-skript som ble opprettet lokalt er tillatt å kjøre. Skript som er opprettet eksternt er tillatt å kjøre bare hvis de har blitt signert av en anerkjent forlag.
- Fri: Som navnet antyder, den frie sikkerhetsnivå tillater alle skript for å kjøre ved å fjerne alle restriksjoner fra policyen for kjøring.,
på samme måte, hvis du arbeider i et ukjent miljø, kan du lett finne ut hva den nåværende ordreutførelse er ved hjelp av denne kommandoen:
Get-ExecutionPolicy
Sjekk ut denne tråden på Superbruker for mer informasjon om konfigurering av policyen for kjøring i PowerShell. (@StackExchange)
Få-Service
Det er også nyttig å vite hvilke tjenester som er installert på systemet., Du kan enkelt få tilgang til denne informasjonen med følgende kommando:
Get-Service
output vil se ut noe som det følgende (@MS_ITPro):
Hvis du trenger å vite om en bestemt tjeneste er installert, kan du legge til -bytte Navn, og navnet på tjenesten, og Windows vil vise statusen til tjenesten. I tillegg, du kan utnytte filtrering evner for å gå tilbake til en bestemt undergruppe av installerte tjenester., Følgende eksempel vil resultere i en produksjon av data fra Get-Service-kommandoen som er blitt transportert til Where-Object-cmdlet-en, som filtrerer ut alt annet enn tjenestene som har blitt stoppet:
Get-Service | Where-Object {$_.status -eq "stopped"}
Sjekk ut dette innlegget for noen flere eksempler for å Få Service i aksjon.
5. ConvertTo-HTML
Hvis du trenger å trekke ut data som du kan bruke i en rapport eller sende dem til noen andre, det ConvertTo-HTML er en enkel måte å gjøre det på., For å bruke det, rør output fra en annen kommando til ConvertTo-HTML-kommandoen og bruk -Eiendommen bryteren til å angi hvilken utgang egenskaper du ønsker i HTML-filen. Du må også oppgi et filnavn.
For eksempel, følgende kode skaper en HTML-side som viser PowerShell aliaser i den aktuelle konsollen:
PS C:\> get-alias | convertto-html > aliases.htmPS C:\> invoke-item aliases.htm
Bonus:
Export-CSV
cmdlet fungerer mye på samme måte, men eksporterer data til en .CSV-filen i stedet for HTML., Bruk
Select-Object
for å angi hvilke egenskaper du ønsker å bli inkludert i resultatet.
Sjekk ut denne artikkelen fra 4sysops for mer informasjon om hvordan du bruker ConvertTo-HTML effektivt (@adbertram).
6. Get-EventLog
Du kan faktisk bruke PowerShell for å analysere maskinens hendelseslogger ved hjelp av Get-EventLog-cmdleten. Det er flere parametere som er tilgjengelige. Bruk -Logg bryteren etterfulgt av navnet på loggfilen for å vise en bestemt logg., Du vil bruke følgende kommando, for eksempel, for å vise programloggen:
Get-EventLog -Log "Application"
Sjekk ut noen flere eksempler på Get-EventLog i aksjon i dette innlegget (@nextofwindows). Andre vanlige parametrene omfatter (@SS64):
- -Verbose
- -Debug
- -ErrorAction
- -ErrorVariable
- -WarningAction
- -WarningVariable
- -OutBuffer
- -OutVariable
Get-Process
Mye som å få en liste over tilgjengelige tjenester, er det ofte nyttig å være i stand til å få en rask oversikt over alle kjørende prosesser., Get-Process-kommandoen setter denne informasjonen i fingertuppene.
Bonus: Bruk Stop-Prosessen for å stoppe prosesser som er frosset eller ikke reagerer. Hvis du ikke er sikker på hva prosessen er å holde deg opp, bruker Get-Prosessen for å raskt identifisere problematisk prosess. Når du har navnet eller prosess-ID, kan du bruke Stop-Prosessen for å si det på.
Her er et eksempel., Kjør denne kommandoen for å avslutte alle kjørende forekomster av Notisblokk (@MS_ITPro):
Stop-Process -processname notepad
Du kan bruke jokertegn, for eksempel følgende eksempel som avslutter alle forekomster av Notisblokk, så vel som alle andre prosesser som begynner med merk:
Stop-Process -processname note*
Sjekk ut dette innlegget for mer informasjon om å drepe prosesser med PowerShell (@howtogeek):
8. Klar Historie
Hva hvis du ønsker å fjerne oppføringer fra kommando-historie? Lett – bruke Clear-Historie-cmdleten. Du kan også bruke den til å slette bare bestemte kommandoer., For eksempel, følgende kommando vil slette kommandoer som inkluderer «hjelp» eller slutten i «command» (@MS_ITPro):
PS C:\> Clear-History -Command *help*, *command
Hvis du ønsker å legge til oppføringer til en økt bruk:
Add-History
Sjekk ut dette innlegget for noen nyttig informasjon om hvordan du kan fjerne historie og pre-loading historien med en liste over visse kommandoer (@MS_ITPro).,
Der-Objektet
Hvor-Objekt er en av de viktigste cmdletene til å vite, som det gjør det mulig for deg å ta et dataset og sende den videre ned trappene for filtrering (@jonathanmedd):
Get-Service | Where-Object {$_.Status -eq 'Running'}Status Name DisplayName------ ---- -----------Running AdobeARMservice Adobe Acrobat Update ServiceRunning AppHostSvc Application Host Helper ServiceRunning Appinfo Application InformationRunning AudioEndpointBu... Windows Audio Endpoint BuilderRunning Audiosrv Windows AudioRunning BFE Base Filtering EngineRunning BITS Background Intelligent Transfer Ser...Running BrokerInfrastru... Background Tasks Infrastructure Ser...Running Browser Computer BrowserRunning CDPSvc Connected Devices Platform Service
10. Set-AuthenticodeSignature
Hvis du ønsker å beholde den jobben ordentlig i produksjonen og hindre modifikasjon, bruk Set-AuthenticodeSignature for å legge til en Authenticode-signatur til et script eller en fil.
PowerShell-Kommandoer for å Få Ting Gjort
Når det kommer til produktivitet, PowerShell kan hjelpe deg å få ting gjort med følgende kommandoer.
11., ForEach-Object
ForEach-Object cmdleten utfører en operasjon mot ethvert element i en bestemt gruppe av input-objekter. Mens mange cmdletene til å arbeide med hvert objekt i en samling uansett, trenger du ForEach-Object for de situasjoner der du ønsker å gjøre andre endringer eller bruke bestemte formatering for alle objekter i en samling.
Her er et eksempel (@MS_ITPro)., Hvis du vil vise en liste over prosessen navn og ønsker disse navnene til å gjengi i cyan, kan du prøve følgende:
Get-Process | Write-Host $_.name -foregroundcolor cyan
Men den ovenfor vil gi følgende feil:
At line:1 char:25+ get-process | write-host <<<< $_.name -foregroundcolor cyan Write-Host : The input objectcannot be bound to any parameters for the command either because the command does nottake pipeline input or the input and its properties do not match any of the parametersthat take pipeline input.
Fordi Write-Host-cmdlet-en ikke forstår hva du vil gjøre med data som sendes over rørledningen.
Så, ved å bruke ForEach-Object-cmdlet-en løser dette problemet:
Get-Process | ForEach-Object {Write-Host $_.name -foregroundcolor cyan}
Sjekk ut denne opplæringen for mer informasjon om ForEach-Object og arbeider med sløyfer (@tomsitpro).
12., Klar-Innhold
Hvis du ønsker å slette innholdet i et element, men beholde gjenstanden, vil du bruke Clear-Innhold cmdlet:
Clear-Content C:\Temp\TestFile.txt
Du kan også bruke denne kommandoen til å fjerne innholdet av alle filer med en bestemt filtype. Følgende kode vil fjerne innholdet i alle filene med .txt filtypen, for eksempel:
Clear-Content -path * -filter *.TXT –force
Du kan også bruke jokertegn. Plus, kan du fjerne innholdet av hvilken som helst type fil, fra .txt-filer til .dokument, .xls, og mer.
Sjekk ut dette innlegget for mer informasjon.
13., Sjekkpunkt-Datamaskinen
Hvis du gjør større endringer eller kjører et risikabelt eksperiment, kan du angi et gjenopprettingspunkt på din maskin med Checkpoint-Datamaskin-cmdleten.
Merk at du bare kan opprette et gjenopprettingspunkt ved hjelp av denne cmdleten gang hver 24 timer. Hvis du kjører kommandoen igjen, det vil holde den tidligere gjenopprettingspunkt:
Sjekk ut denne artikkelen fra MCP Mag for mer (@MCPmag).
Sammenlign-Objektet
Det er ofte nyttig å være i stand til å sammenligne to objekter direkte., Du kan gjøre dette ved å Sammenligne-Objekt, som genererer en rapport om forskjeller mellom to sett som (@Marcam923):
15. ConvertFrom-StringData
Bruk ConvertFrom-StringData å konvertere en streng som inneholder ett eller flere verdi-parene til en hash-tabell. Her er et eksempel på hva kommandoen ser ut som:
$settings = $TextData | ConvertFrom-StringData
Denne kommandoen er nyttig i en rekke situasjoner, for eksempel når du vil lagre innstillingene for en PowerShell script for å gjøre andre til å redigere innstillingene uten å jobbe i script-kode direkte.,
ConvertTo-SecureString
Konverter kryptert standard streng til en sikker streng eller ren tekst til en sikker strengen ved hjelp av ConvertTo-SecureString. Denne cmdleten brukes i forbindelse med ConvertFrom-SecureString og Read-Host (@AdmArsenal):
ConvertTo-XML
Bruk ConvertTo-XML-cmdlet-en til å opprette en XML-basert representasjon av et objekt. Dette kalles også for bedriften, og det er en nyttig prosess for lagring av data for senere gjenbruk. Vær oppmerksom på at det er viktig at uttrykket skriver objekter til rørledningen., Noe ved hjelp Write-Host ikke til å skrive til rørledningen og kan derfor ikke være serialisert. Her er et eksempel på ConvertTo-XML-i-handling (@PetriFeed):
Get-Service wuauserv -ComputerName chi-dc04,chi-p50,chi-core01 |Export-Clixml -Path c:\work\wu.xml
Den spesifikke cmdlet som brukes i eksemplet ovenfor, Eksport-Clixml, er egnet for de fleste formål. Den konverterer resultatet av en PowerShell uttrykk til XML, og lagrer det til en fil.
18. Ny-AppLockerPolicy
New-AppLockerPolicy skaper en ny AppLocker politikk fra en liste av filen informasjon og andre regelen etableringen valg., Totalt er det fem cmdlets som gjør deg i stand til å samhandle med AppLocker, inkludert (@RootUsers_):
- Komme-AppLockerFileInformation: Får den informasjon som er nødvendig for å skape AppLocker regler fra en liste over filer eller hendelsesloggen.
- Komme-AppLockerPolicy: Brukes til å hente lokale, effektiv, eller et domene AppLocker politikk.
- Ny-AppLockerPolicy: Som nevnt, dette er en cmdlet som brukes for å skape nye AppLocker politikk.
- Set-AppLockerPolicy: Angir AppLocker politikk for en angitt group policy object.,
- Test-AppLockerPolicy: Brukes til å avgjøre om en bruker eller gruppe av brukere vil være i stand til å utføre visse handlinger basert på politikken.
19. Ny-ItemProperty
New-ItemProperty skaper en ny egenskap for et element, og setter sin verdi. Du kan bruke den til å opprette og endre registret verdier og data (egenskaper på en registernøkkel), for eksempel.
Sjekk ut denne opplæringen fra mnaoumov.NET for noen nyttige løsninger ved hjelp av denne cmdleten (@mnaoumov).
20. Ny-Objektet
for Å opprette en forekomst av Microsoft .,NET Framework eller Component Object Model (COM) objekt, kan du bruke New-Object-cmdleten.
Her er et eksempel som oppretter et nytt objekt ved hjelp av Ny-Objekt og lagrer det i en variabel, deretter rør det å Legge til-Medlem, som vil legge til egenskaper eller metoder som er angitt i objektet er opprettet (@gngrninja):
21. Ny-WebServiceProxy
New-WebServiceProxy oppretter en web service proxy-objekt som gjør det mulig for deg å bruke og administrere web-tjeneste fra i PowerShell., Denne cmdleten er en vakker ting for utviklere – det gjør det unødvendig å skrive en rekke komplekse kode for å prøve å oppnå noe i PowerShell når du kan bare ringe til en annen tjeneste som allerede gjør det mulig.
Her er et eksempel:
Nå, kan du kjøre følgende for å vise en liste over alle tilgjengelige metoder:
$proxy | gm -memberType Method
22. Ny-WSManInstance
på samme måte som for Ny-WebServiceProxy, Ny-WSManInstance oppretter en ny instans av en administrativ ressurs.,
Sjekk ut denne opplæringen for en fullstendig steg-for-steg eksempel på hvordan du får den informasjonen du trenger for å kjøre dette skriptet på en vellykket måte (@jonathanmedd).
23., Ny-WSManSessionOption
New-WSManSessionOption skaper en ny ledelse økt hash-tabell som er brukt som input parametere til andre WS-Management-cmdlets blant annet:
- Komme-WSManInstance
- Set-WSManInstance
- Påberope-WSManAction
- Koble-WSMan
Her er syntaksen (@SAPIENTech):
Velg-Objektet
Velg Objekt-cmdlet-en velger den angitte egenskaper av et enkelt objekt eller en gruppe objekter. I tillegg kan det å velge unike gjenstander fra en matrise eller et bestemt antall objekter fra begynnelsen eller slutten av en tabell.,
PS > Get-Process | Sort-Object name -Descending | Select-Object -Index 0,1,2,3,4
Denne opplæringen gir mer informasjon om de ulike måtene du kan bruke Select-Objekt (@infosectactico).
Det er andre cmdlets med lignende funksjoner, inkludert:
- Velg-Streng: Finner teksten i strenger eller filer.
- Velg-XML: Finner tekst i en XML streng eller et dokument.
25. Set-Alias
Set-Alias er en stor kommando for å øke produktiviteten. Det kan du angi et alias for en cmdlet eller andre kommandoen element i den gjeldende økten (tilsvarende en hurtigtast) slik at du kan arbeide raskere.,
følgende eksempel setter Notisblokk til np i den gjeldende økten ved hjelp av Set-Alias (@powershellatoms):
New-Alias np c:\windows\system32\notepad.exe
Merk at du også kan tilpasse din PowerShell profil med aliasene du bruker oftest (@howtogeek).
26. Set-StrictMode
Set-StrictMode etablerer og håndhever koding reglene i skript, script blokker og uttrykk. Det er en nyttig kommando for å håndheve etiske kvalitet og hindrer deg fra å slacking off og skrive slurvete-koden når den er 3:00, og du har ikke hatt noen sove i to dager (@adbertram).,
for Å bruke det, det er to parametere for å vurdere: -Av-og -Versjon, og -Versjonen har tre mulige verdier:
- Versjon 1.0: Forhindrer deg fra å bruke variabler som ikke er blitt initialisert (som Alternativ Eksplisitt i VBScript)
- Versjon 2.0: Forhindrer deg fra å bruke variabler som ikke er blitt initialisert og forhindrer også kallet av ikke-eksisterende egenskaper på objekter, hindrer deg fra å kalle en funksjon som en metode, og forbyr etablering av variabler uten et navn.,
- Nyeste Versjon: Dette alternativet velger de siste StrictMode versjon tilgjengelig og bruker det. Dette er et godt alternativ, fordi det betyr at de siste StrictMode-versjon er brukt uavhengig av hvilken versjon av PowerShell du bruker.
Vent-Jobb
Vent-Jobb undertrykker ledeteksten til bakgrunnen jobber som kjører i den gjeldende økten er ferdig. Vente-Jobb ikke vise utdataene fra jobber, men, men den kan brukes i forbindelse med å Få Jobb. Multithreading er mulig i PowerShell takk til-Jobber.
Skriv-Progress
Som ikke elsker en statuslinje?, Overvåke fremgangen din ved hjelp av Skrive-Fremgang, noe som viser en fremdriftssøyle innenfor et Windows PowerShell-kommando-vinduet.
Her er et eksempel som gir deg en full fremgang bar og runtime strenger (@credera):
– Cmdleter for Ytelse Overvåking, Testing og Debugging
Det er også en rekke cmdlets nyttig for utviklere for feilsøking, testing, feilsøking og overvåking formål. Her er noen du trenger å vite.
Debug-Prosessen
Utviklere elsker debugging! Vel, vi liker det enda mer når det er ingen feil å eliminere, men dessverre er ikke det alltid tilfelle., Med PowerShell, kan du feilsøke en prosess ved hjelp av Debug-Prosess-cmdleten.
Du kan også debug-jobber ved å bruke Debug-Jobb (@MS_ITPro). Og, du kan sette stoppunkter eller bruk Vente-Debugger cmdlet:
30. Deaktiver-PSBreakpoint
Hvis du har på et tidspunkt sette stoppunkter, men ønsker å fjerne dem, må du gjøre det enkelt ved å Deaktivere-PSBreakpoint, som deaktiverer stoppunkter i den aktuelle konsollen. Her er syntaksen (@ActiveXperts):
Disable-PSBreakpoint Disable-PSBreakpoint
Alternativt, hvis du ønsker å aktivere stoppunkter i den aktuelle konsollen, kan du bruke Aktiver-PSBreakpoint.,
Få-Counter
Komme-Counter får real-time ytelse disk data fra overvåking av ytelse instrumentering i Windows OS. Det er brukt for å få ytelse data fra lokale eller eksterne datamaskiner på et spesifikt eksempel intervaller som du angir.
I dette eksempelet, vil du få en teller sett med et eksempel intervallet for et spesifisert maksimum eksempel (@MS_ITPro):
PS C:\> Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 2 -MaxSamples 3
I eksempelet nedenfor, denne kommandoen blir bestemt disk data fra flere datamaskiner:
32., Eksport-Counter
Eksporter-Counter eksport PerformanceCounterSampleSet objekter som teller loggfiler. To egenskaper som er tilgjengelig:
- CounterSamples: Får, og angir data for tellere.
- Tidsstempel: Får, og angir dato og klokkeslett for når prøven data ble samlet inn.,
Og flere metoder, som alle er arvet fra Object:
- er Lik(Objekt)
- Sluttføre()
- GetHashCode()
- GetType()
- MemberwiseClone()
- ToString()
For eksempel, følgende kommando bruker Get-Counter å samle Prosessor data og eksporterer det til et .blg-fil ved hjelp av Eksport-Counter (@TechGenix):
Get-Counter "\Processor(*)\% Processor Time" | Export-Counter -Path C:\Temp\PerfData.blg
33. Test-Bane
Test-Banen kan du sjekke om elementene som finnes i en bestemt bane., For eksempel, hvis du planlegger å bruke en annen kommando på en bestemt fil, kan du trenger for å kontrollere at filen finnes, for å unngå å kaste en feil.
Test-Path C:\Scripts\Archive
Hvis mappen finnes, det vil returnere True hvis den ikke gjør det, vil den returnere False.
Det kan også arbeide med stier som brukes av andre PowerShell leverandører. For eksempel, hvis du trenger å vite hvis din datamaskin har en miljøvariabel kalt brukernavn, kan du bruke følgende:
Test-Path Env:\username
Test-Banen fungerer med variabler, sertifikater, aliaser, og funksjoner., Sjekk ut dette innlegget fra TechNet for mer informasjon (@MS_ITPro).
34. Få-WinEvent
Se på Windows event logger ved hjelp av Get-WinEvent. For en liste over tilgjengelige logger, bruker du:
Get-WinEvent -ListLog *
Så, for å se detaljer for en bestemt logg, sett * med navn (pipe utgang til å format-listen for å vise alle detaljer):
Get-WinEvent -ListLog $logname | fl *
Du kan også vise alle hendelser i en logg ved hjelp av:
Get-WinEvent -LogName System
Sjekk ut denne opplæringen for mer informasjon (@rakheshster).,
Påberope-TroubleshootingPack
Feilsøking pakker er samlinger av PowerShell-skript og sammenstillinger som hjelper deg med å feilsøke, diagnostisere og reparere vanlige problemer med systemet (@ITNinjaSite). Finn feilsøking pakker på:
C:\Windows\Diagnostics\System
Du kan kjøre dette skriptet for å få en liste over alle feilsøking pakker tilgjengelig på det nåværende system (@TechGenix):
Get-ChildItem C:\Windows\Diagnostic\System
Så, fra en forhøyet PowerShell vinduet, kan du kjøre en feilsøking pack ved hjelp av denne kommandoen:
Invoke-TroubleshootingPack (Get-TroubleshootingPack C:\Windows\diagnostics\system\networking)
36., Måle-Kommandoen
Hvis du ønsker å tid operasjoner i PowerShell, Måle-Kommandoen er en må-vite-cmdleten. Det er et mål for hvor lenge et skript eller scriptblock å kjøre. Her er et eksempel (@ToddKlindt):
Measure-Command { Mount-SPContentDatabase –Name wss_content_portal –WebApplication http://portal.contoso.com }
output er en Tidsbegrensing objekt, slik at den inneholder egenskaper som Time, Minutt, Sekund, etc. og det er lett å tilpasse utgang til dine preferanser.
Måle-Objektet
Du kan også være lurt å vite hvor stort et gitt objekt er., Bruke Måle-Objekt for å beregne numerisk egenskapene til et objekt, inkludert tegn, ord og linjer i et string-objekt, for eksempel filer av tekst.,
Bare angi navn og type måling for å utføre, sammen med parametere som (@WindowsITPro):
- -Sum: legger til verdier
- -Gjennomsnitt: beregner gjennomsnittlig verdi
- -Minimum: finner den minste verdien
- -Maksimum: finner den maksimale verdien
følgende kommando oppsummerer den VirtualMemorySize eiendom verdier for alle prosessen objekter:
Get-Process | measure VirtualMemorySize -Sum
Ny Hendelse
New-Event er brukt til å opprette en ny hendelse., En relatert cmdleten New-EventLog, noe som skaper en ny hendelsesloggen samt en ny hendelse kilde på en lokal eller ekstern datamaskin. Hvis du har en automatisering motor støttes av PowerShell, det er en god praksis å sette opp en hendelseslogg (ved å opprette en egendefinert Hendelse Logg Type) som logger alle meldinger som er sendt av PowerShell. Dette er ett eksempel, der du kan implementere Tilpassede Logging i hendelsesliste.,
Start med å opprette en ny Hendelse Logg Loggnavn (@BundaloVladimir):
New-EventLog -LogName Troubleshooting_Log -Source FalloutApp
Så, for å sende meldinger til ditt nye hendelsesloggen, kan du kjøre følgende bruke Skrive-Logg cmdlet:
Write-EventLog -log Troubleshooting_Log -source FalloutApp -EntryType Information -eventID 10 -Message "FalloutApp has been successfully installed"
Få Jobb
Hvis du trenger å få resultatene av Windows PowerShell bakgrunn jobber i den gjeldende økten, bruker du Motta Jobb. Dette brukes vanligvis når du bruker Start-Jobben for å starte en jobb når du trenger å vise til konkrete resultater.,
Receive-Job -Name HighMemProcess
Sjekk ut denne nyttig veiledning om hvordan du bruker Mottar Jobb og hva du skal gjøre hvis det er tilsynelatende ingen resultater (@proxb).
40. Register-EngineEvent
Denne cmdleten brukes til å abonnere på hendelser generert av Windows PowerShell-motoren og den Ny-Event-cmdleten. For eksempel, følgende kommandoen tegner seg til en hendelse, når gjeldende PowerShell-sesjon kommer ut og lagrer informasjon (for eksempel dato og klokkeslett) til en logg-fil (@jonathanmedd):
Register-EngineEvent PowerShell.Exiting-Action {"PowerShell exited at " + (Get-Date) | Out-File c:\log.txt -Append}
41., Register-ObjectEvent
Registrer-ObjectEvent er lik for å Registrere deg-EngineEvent, men snarere enn å abonnere på hendelser generert av PowerShell-motoren og Ny-Arrangement, det tegner seg til hendelser generert av Microsoft .NET Framework Objekt.
Her er et eksempel (@NetworkWorld):
Det er andre Register – cmdlets som du kan finne nyttig blant annet:
- Registrer-PSSessionConfiguration: Oppretter og registrerer en ny økt konfigurasjon.
- Registrer-WmiEvent: Denne cmdleten abonnerer på en WMI event.
42., Fjern-Event
Når du ønsker å fjerne en hendelse, bruk av Fjern-Event-cmdleten. Hvis du trenger å ta en hel hendelsesloggen, du vil bruke Fjern-EventLog, som sletter en hendelseslogg eller avregistrerer seg en hendelse som kilde.
Alternativt kan du Avregistrere-Event avbryter en hendelse abonnement, men ikke slette en hendelse fra arrangementet kø (@SS64).
43. Set-PSDebug
Denne cmdleten slår script debugging funksjoner på og av. Den angir også spore nivå og veksler StrictMode.,
Ved hjelp av Set-PSDebug på toppen av script-fil rett etter param() uttalelse (hvis noen), kan du forhindre feil med PowerShell-skript som ikke gir tilstrekkelig informasjon om for feilsøking formål. Her er et eksempel (@r_keith_hill):
44. Start-Søvn
Hvis du trenger å suspendere aktivitet i et skript eller en økt, kan du bruke Start-Søvn, som stopper aktiviteten for en angitt periode.
Start-Sleep -Seconds xxxStart-Sleep -Milliseconds xxx
Hvis du trenger å pause en eller flere tjenester som kjører, vil du bruke Pause-Tjeneste.
45., Tee-Objektet
Hvis du er å analysere ytelse eller kode kvalitet, er det nyttig å være i stand til å vise utdata fra en kommando. Tee-Objekt lagrer kommando ut i en fil eller variabel, og også viser det i konsollen hvis det er den siste variabelen i rørledningen. Hvis det ikke er den siste variabelen i rørledningen, Tee-Objekt sender det ned rørledningen.
Her er de syntaks:
46. Test-AppLockerPolicy
Test-AppLockerPolicy vurdere om input-filer er tillatt å kjøre for en bestemt bruker, basert på de angitte AppLocker politikk.,
Test-AppLockerPolicy -Path Test-AppLockerPolicy -Path
Denne opplæringen gir flere detaljer om det tilgjengelige parametre og eksempler på Test-AppLockerPolicy i aksjon (@powershellhelp).
Test-ComputerSecureChannel
Denne cmdleten tester og reparasjoner forbindelsen mellom et lokale datamaskinen og dens domene. Uten denne kommandoen er den vanlige løsningen var tidligere for å fjerne en datamaskin fra sitt domene og deretter koble den til igjen for å gjenopprette forholdet. Test-ComputerSecureChannel gjør det mulig å etablere tilkoblingen på kortere tid (@WindowsITPro).,
Når du er logget på som lokal administrator, bare kjør følgende:
Test-ComputerSecureChannel –credential WINDOWSITPRO\Administrator –Repair
Du kan bruke Test-Tilkoblingen til å sende Internet Control Message Protocol (ICMP) echo request-pakker (ping) til én eller flere datamaskiner.
Test-Bane
Bruk Test-Bane for å finne ut om alle elementer i en bane eksisterer. I hovedsak, det hjelper deg å håndtere feil før de oppstår. I sin enkleste form, den returnerer True eller False (@MCPmag):
PS C:\> test-path c:\TruePS C:\> test-path z:\fooFalse
49. Trace-Kommandoen
Trace-Kommandoen til å konfigurere og starter sporing av et bestemt kommando eller uttrykk., For å bruke det, vil du også trenger å bruke Get-TraceSource for å se etter bestemt navn ved hjelp av jokertegn:
PS> Get-TraceSource -Name *param*
Du kan filtrere utgang for å matche beskrivelse det mønsteret du er ute etter. Når du har identifisert mulige trace-navn, kan du bruke Trace-Kommandoen for å få svarene du trenger. Her er et eksempel:
Sjekk ut dette innlegget for mer informasjon om hvordan du spiller detektiv med Trace-Kommando (@PowerShellMag).
50. Skrive-Debug
Skrive-Debug skriver en debug-melding til konsollen., Når du skriver dette i en funksjon eller et skript, vil det ikke gjøre noe som standard, meldinger i hovedsak lå i vente til du enten endre din $DebugPreference eller aktivere den -debug-bryteren når du ringer en funksjon eller et skript. Når $DebugPreference er satt til å «spørre» eller -debug-bryteren er aktivert, vises meldingen skaper et stoppunkt, noe som gir deg en enkel måte å pop inn i debug-modus.
Ta dette eksemplet (@RJasonMorgan):
eksempelet over gir følgende når du kjører med -debug:
Legg igjen en kommentar