Kapitel 2 – Hjälpsystemet
I ett experiment som utformats för att bedöma kunskaper i PowerShell fick två olika grupper av IT-proffs – nybörjare och experter – först en skriftlig undersökning utan åtkomst till en dator. Överraskande nog visade testresultaten jämförbara färdigheter i båda grupperna. Ett efterföljande test administrerades sedan, vilket speglade det första men med en viktig skillnad: deltagarna hade tillgång till en offlinedator utrustad med PowerShell. Resultaten visade på en betydande kompetensklyfta mellan de två grupperna den här gången.
Vilka faktorer bidrog till de resultat som observerades mellan de två utvärderingarna?
Experter vet inte alltid svaren, men de vet hur de ska räkna ut svaren.
De resultat som observerades i resultatet av de två testerna berodde på att experter inte memorerar tusentals PowerShell-kommandon. I stället är de duktiga på att använda hjälpsystemet i PowerShell, så att de kan identifiera och lära sig att använda kommandon när det behövs.
Att bli skicklig med hjälpsystemet är nyckeln till framgång med PowerShell.
Jag hörde Jeffrey Snover, skaparen av PowerShell, dela en liknande historia vid flera tillfällen.
Upptäckbarhet
Kompilerade kommandon i PowerShell kallas cmdletar, uttalas som "command-let", inte "CMD-let". Namngivningskonventionen för cmdletar följer ett unikt Verb-Noun-format för att göra dem enkla att identifiera. Är till exempel Get-Process
cmdleten för att avgöra vilka processer som körs och Get-Service
är cmdleten för att hämta en lista över tjänster. Funktioner, även kallade skript-cmdletar, och alias är andra typer av PowerShell-kommandon som beskrivs senare i den här boken. Termen "PowerShell-kommando" beskriver alla kommandon i PowerShell, oavsett om det är en cmdlet, funktion eller ett alias.
Du kan också köra operativsysteminbyggda kommandon från PowerShell, till exempel traditionella kommandoradsprogram som ping.exe
och ipconfig.exe
.
Cmdletarna med tre kärnor i PowerShell
Get-Help
Get-Command
Get-Member
(omfattas av kapitel 3)
Jag blir ofta tillfrågad: "Hur tar du reda på vilka kommandon som finns i PowerShell?". Både Get-Help
och Get-Command
är ovärderliga resurser för att identifiera och förstå kommandon i PowerShell.
Get-Help
Det första du behöver veta om hjälpsystemet i PowerShell är hur du använder cmdleten Get-Help
.
Get-Help
är ett flerfunktionskommando som hjälper dig att lära dig hur du använder kommandon när du hittar dem.
Du kan också använda Get-Help
för att hitta kommandon, men på ett annat och mer indirekt sätt jämfört med Get-Command
.
När du använder Get-Help
för att hitta kommandon utför den först en sökning med jokertecken efter kommandonamn baserat på dina indata. Om det inte hittar några matchningar utför den en omfattande fulltextsökning i alla PowerShell-hjälpartiklar i systemet. Om det inte heller hittar några resultat returneras ett fel.
Så här använder Get-Help
du för att visa hjälpinnehållet för cmdleten Get-Help
.
Get-Help -Name Get-Help
Från och med PowerShell version 3.0 levereras inte hjälpinnehållet förinstallerat med operativsystemet. När du kör Get-Help
för första gången visas ett meddelande som frågar om du vill ladda ned PowerShell-hjälpfilerna till datorn.
Om du svarar Ja genom att trycka på Y körs cmdleten Update-Help
och hjälpinnehållet laddas ned.
Do you want to run Update-Help?
The Update-Help cmdlet downloads the most current Help files for Windows
PowerShell modules, and installs them on your computer. For more information
about the Update-Help cmdlet, see
https:/go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Om du inte får det här meddelandet kör Update-Help
du från en upphöjd PowerShell-session som körs som administratör.
När uppdateringen är klar visas hjälpartikeln.
Ta en stund att köra exemplet på datorn, granska utdata och se hur hjälpsystemet organiserar informationen.
- NAMN
- SAMMANFATTNING
- SYNTAX
- BESKRIVNING
- RELATERADE LÄNKAR
- REMARKS
När du granskar utdata bör du tänka på att hjälpartiklar ofta innehåller en stor mängd information, och det du ser som standard är inte hela hjälpartikeln.
Parametrar
När du kör ett kommando i PowerShell kan du behöva ange ytterligare information eller indata till kommandot. Med parametrar kan du ange alternativ och argument som ändrar beteendet för ett kommando. Syntaxavsnittet i varje hjälpartikel beskriver de tillgängliga parametrarna för kommandot.
Get-Help
har flera parametrar som du kan ange för att returnera hela hjälpartikeln eller en delmängd för ett kommando. Om du vill visa alla tillgängliga parametrar för Get-Help
läser du avsnittet SYNTAX i hjälpartikeln, som du ser i följande exempel.
...
SYNTAX
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Full]
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Detailed
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] -Examples
[-Functionality <System.String[]>] [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Online [-Path <System.String>] [-Role
<System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] -Parameter <System.String> [-Path <System.String>]
[-Role <System.String[]>] [<CommonParameters>]
Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
| General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
Class | Configuration}] [-Component <System.String[]>] [-Functionality
<System.String[]>] [-Path <System.String>] [-Role <System.String[]>]
-ShowWindow [<CommonParameters>]
...
Parameteruppsättningar
När du granskar syntaxavsnittet för Get-Help
ser du att informationen verkar upprepas sex gånger. Vart och ett av dessa block är en enskild parameteruppsättning som anger att cmdleten Get-Help
har sex distinkta uppsättningar parametrar. En närmare titt visar att varje parameteruppsättning innehåller minst en unik parameter, vilket gör att den skiljer sig från de andra.
Parameteruppsättningar är ömsesidigt uteslutande. När du har angett en unik parameter som bara finns i en parameteruppsättning begränsar PowerShell dig till att använda parametrarna i parameteruppsättningen.
Du kan till exempel inte använda parametrarna Get-Help
Fullständig och Detaljerad för tillsammans eftersom de tillhör olika parameteruppsättningar.
Var och en av följande parametrar tillhör en annan parameteruppsättning för cmdleten Get-Help
.
- Fullständig
- Detaljerad
- Exempel
- Online
- Parameter
- VisaWindow
Kommandosyntaxen
Om du inte har använt PowerShell tidigare kan det verka överväldigande att förstå den kryptiska informationen – som kännetecknas av hakparenteser och vinkelparenteser – i syntaxavsnittet. Det är dock viktigt att lära sig dessa syntaxelement för att bli skickliga med PowerShell. Ju oftare du använder PowerShell-hjälpsystemet, desto enklare blir det att komma ihåg alla nyanser.
Visa cmdletens Get-EventLog
syntax.
Get-Help Get-EventLog
Följande utdata visar relevant del av hjälpartikeln.
...
SYNTAX
Get-EventLog [-LogName] <System.String> [[-InstanceId]
<System.Int64[]>] [-After <System.DateTime>] [-AsBaseObject] [-Before
<System.DateTime>] [-ComputerName <System.String[]>] [-EntryType {Error
| Information | FailureAudit | SuccessAudit | Warning}] [-Index
<System.Int32[]>] [-Message <System.String>] [-Newest <System.Int32>]
[-Source <System.String[]>] [-UserName <System.String[]>]
[<CommonParameters>]
Get-EventLog [-AsString] [-ComputerName <System.String[]>] [-List]
[<CommonParameters>]
...
Syntaxinformationen innehåller par med hakparenteser ([]
). Beroende på deras användning har dessa hakparenteser två olika syften.
- Element som omges av hakparenteser är valfria.
- En tom uppsättning hakparenteser som följer en datatyp, till exempel
<string[]>
, anger att parametern kan acceptera flera värden som skickas som en matris eller ett samlingsobjekt.
Positionsparametrar
Vissa cmdletar är utformade för att acceptera positionsparametrar. Med positionsparametrar kan du ange ett värde utan att ange namnet på parametern. När du använder en parameter positionalt måste du ange dess värde i rätt position på kommandoraden. Du hittar positionsinformationen för en parameter i avsnittet PARAMETRAR i hjälpartikeln för ett kommando. När du uttryckligen anger parameternamn kan du använda parametrarna i valfri ordning.
För cmdleten Get-EventLog
är den första parametern i den första parameteruppsättningen LogName.
LogName omges av hakparenteser, vilket indikerar att det är en positionsparameter.
Get-EventLog [-LogName] <System.String>
Eftersom LogName är en positionsparameter kan du ange den med antingen namn eller position. Enligt vinkelparenteserna efter parameternamnet måste värdet för LogName vara en enda sträng. Avsaknaden av hakparenteser som omger både parameternamnet och datatypen anger att LogName är en obligatorisk parameter i den här parameteruppsättningen.
Den andra parametern i parameteruppsättningen är InstanceId. Både parameternamnet och datatypen omges helt av hakparenteser, vilket betyder att InstanceId är en valfri parameter.
[[-InstanceId] <System.Int64[]>]
Dessutom har InstanceId ett eget par hakparenteser, vilket indikerar att det är en positionsparameter som liknar LogName-parametern. Efter datatypen innebär en tom uppsättning hakparenteser att InstanceId kan acceptera flera värden.
Växla parametrar
En parameter som inte kräver något värde kallas för en växelparameter. Du kan enkelt identifiera växelparametrar eftersom det inte finns någon datatyp som följer parameternamnet. När du anger en växelparameter är true
dess värde . När du inte anger en växelparameter är false
dess värde .
Den andra parameteruppsättningen innehåller en listparameter , som är en växelparameter. När du anger parametern List returnerar den en lista över händelseloggar på den lokala datorn.
[-List]
En förenklad metod för syntax
Det finns en mer användarvänlig metod för att hämta samma information som den kryptiska kommandosyntaxen för vissa kommandon, förutom på vanlig engelska. PowerShell returnerar den fullständiga hjälpartikeln när du använder Get-Help
med den fullständiga parametern, vilket gör det lättare att förstå användningen av ett kommando.
Get-Help -Name Get-Help -Full
Ta en stund att köra exemplet på datorn, granska utdata och se hur hjälpsystemet organiserar informationen.
- NAMN
- SAMMANFATTNING
- SYNTAX
- BESKRIVNING
- PARAMETRAR
- INDATA
- UTDATA
- ANTECKNINGAR
- EXEMPEL
- RELATERADE LÄNKAR
Genom att ange den fullständiga parametern med cmdleten Get-Help
innehåller utdata flera extra avsnitt. I de här avsnitten ger PARAMETERS ofta en detaljerad förklaring för varje parameter. Omfattningen av den här informationen varierar dock beroende på vilket kommando du undersöker.
...
-Detailed <System.Management.Automation.SwitchParameter>
Adds parameter descriptions and examples to the basic help display.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Examples <System.Management.Automation.SwitchParameter>
Displays only the name, synopsis, and examples. This parameter is
effective only when the help files are installed on the computer. It
has no effect on displays of conceptual ( About_ ) help.
Required? true
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
-Full <System.Management.Automation.SwitchParameter>
Displays the entire help article for a cmdlet. Full includes
parameter descriptions and attributes, examples, input and output
object types, and additional notes.
This parameter is effective only when the help files are installed
on the computer. It has no effect on displays of conceptual ( About_
) help.
Required? false
Position? named
Default value False
Accept pipeline input? False
Accept wildcard characters? false
...
När du körde föregående kommando för att visa hjälpen Get-Help
för kommandot märkte du förmodligen att utdata rullas av för snabbt för att läsa det.
Om du använder PowerShell-konsolen, Windows Terminal eller VS Code och behöver visa en hjälpartikel help
kan funktionen vara användbar. Den skickar utdata Get-Help
från till more.com
och visar en sida med hjälpinnehåll i taget. Jag rekommenderar att du använder help
funktionen i stället för cmdleten Get-Help
eftersom den ger en bättre användarupplevelse och den är mindre att skriva.
Kommentar
ISE stöder inte användning av more.com
, så körning help
fungerar på samma sätt som Get-Help
.
Kör vart och ett av följande kommandon i PowerShell på datorn.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Observerade du några variationer i utdata när du körde de tidigare kommandona?
I föregående exempel använder den första raden cmdleten Get-Help
, den andra använder help
funktionen och den tredje raden utelämnar parametern Namn när funktionen används help
. Eftersom Name är en positionsparameter drar det tredje exemplet nytta av dess position i stället för att uttryckligen ange parameterns namn.
Skillnaden är att de två sista kommandona visar sina utdata en sida i taget. När du använder help
funktionen trycker du på Blanksteg för att visa nästa sida med innehåll eller Q för att avsluta. Om du behöver avsluta ett kommando som körs interaktivt i PowerShell trycker du på Ctrl+C.
Om du snabbt vill hitta information om en specifik parameter använder du parametern Parameter . Den här metoden returnerar innehåll som endast innehåller den parameterspecifika informationen i stället för hela hjälpartikeln. Det här är det enklaste sättet att hitta information om en specifik parameter.
I följande exempel används help
funktionen med parameterparametern för att returnera information från hjälpartikeln för parametern Namn på Get-Help
.
help Get-Help -Parameter Name
Hjälpinformationen visar att parametern Namn är positionell och måste anges i den första positionen (position noll) när den används positionellt.
-Name <System.String>
Gets help about the specified command or concept. Enter the name of a
cmdlet, function, provider, script, or workflow, such as `Get-Member`,
a conceptual article name, such as `about_Objects`, or an alias, such
as `ls`. Wildcard characters are permitted in cmdlet and provider
names, but you can't use wildcard characters to find the names of
function help and script help articles.
To get help for a script that isn't located in a path that's listed in
the `$env:Path` environment variable, type the script's path and file
name.
If you enter the exact name of a help article, `Get-Help` displays the
article contents.
If you enter a word or word pattern that appears in several help
article titles, `Get-Help` displays a list of the matching titles.
If you enter any text that doesn't match any help article titles,
`Get-Help` displays a list of articles that include that text in their
contents.
The names of conceptual articles, such as `about_Objects`, must be
entered in English, even in non-English versions of PowerShell.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
Parametern Namn förväntar sig ett strängvärde som identifieras av <String>
datatypen bredvid parameternamnet.
Det finns flera andra parametrar som du kan ange med Get-Help
för att returnera en delmängd av en hjälpartikel. Om du vill se hur de fungerar kör du följande kommandon på datorn.
Get-Help -Name Get-Command -Full
Get-Help -Name Get-Command -Detailed
Get-Help -Name Get-Command -Examples
Get-Help -Name Get-Command -Online
Get-Help -Name Get-Command -Parameter Noun
Get-Help -Name Get-Command -ShowWindow
Jag använder help <command name>
vanligtvis med parametern Full eller Online . Om du bara är intresserad av exemplen använder du parametern Exempel . Om du bara har ett intresse för en specifik parameter använder du parametern Parameter .
När du använder parametern ShowWindow visas hjälpinnehållet i ett separat sökbart fönster. Du kan flytta fönstret till en annan övervakare om du har flera bildskärmar. Parametern ShowWindow har dock en känd bugg som kan hindra den från att visa hela hjälpartikeln. Parametern ShowWindow kräver också ett operativsystem med ett grafiskt användargränssnitt (GUI). Det returnerar ett fel när du försöker använda det på Windows Server Core.
Om du har internetåtkomst kan du använda parametern Online i stället. Parametern Online öppnar hjälpartikeln i standardwebbläsaren. Onlineinnehållet är det mest aktuella innehållet. Med webbläsaren kan du söka i hjälpinnehållet och visa andra relaterade hjälpartiklar.
Kommentar
Parametern Online stöds inte för Om artiklar.
help Get-Command -Online
Hitta kommandon med Get-Help
Om du vill hitta kommandon med Get-Help
anger du en sökterm omgiven av asterisktecken (*
) jokertecken för värdet för parametern Namn . I följande exempel används parametern Name positionally.
help *process*
Name Category Module Synops
---- -------- ------ ------
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
Exit-PSHostProcess Cmdlet Microsoft.PowerShell.Core Clo...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Invoke-LapsPolicyProcessing Cmdlet LAPS Inv...
ConvertTo-ProcessMitigationPolicy Cmdlet ProcessMitigations Con...
Get-ProcessMitigation Cmdlet ProcessMitigations Get...
Set-ProcessMitigation Cmdlet ProcessMitigations Set...
I det här scenariot behöver du inte lägga *
till jokertecken. Om Get-Help
det inte går att hitta ett kommando som matchar det värde som du angav, söker det efter det värdet i fulltext. I följande exempel får du samma resultat som när *
du anger jokertecknet i varje ände av process
.
help process
När du anger ett jokertecken i värdet Get-Help
söker du bara efter kommandon som matchar det mönster som du angav. Den utför inte en fulltextsökning. Följande kommando returnerar inga resultat.
help pr*cess
PowerShell genererar ett fel om du anger ett värde som börjar med ett bindestreck utan att omsluta det med citattecken eftersom det tolkar det som ett parameternamn. Det finns inget sådant parameternamn för cmdleten Get-Help
.
help -process
Om du försöker söka efter kommandon som slutar med -process
måste du lägga till ett *
i början av värdet.
help *-process
När du söker efter PowerShell-kommandon med Get-Help
är det bättre att vara vag snarare än för specifik.
När du sökte efter process
tidigare returnerade resultaten endast kommandon som ingår process
i deras namn. Men om du söker processes
efter hittar den inga matchningar för kommandonamn. Som tidigare nämnts, när hjälpen inte hittar några matchningar, utför den en omfattande fulltextsökning av varje hjälpartikel i systemet och returnerar dessa resultat. Den här typen av sökning ger ofta fler resultat än förväntat, inklusive information som inte är relevant för dig.
help processes
Name Category Module Synops
---- -------- ------ ------
Disconnect-PSSession Cmdlet Microsoft.PowerShell.Core Dis...
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Con...
ForEach-Object Cmdlet Microsoft.PowerShell.Core Per...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core Get...
Get-PSSessionConfiguration Cmdlet Microsoft.PowerShell.Core Get...
New-PSSessionOption Cmdlet Microsoft.PowerShell.Core Cre...
New-PSTransportOption Cmdlet Microsoft.PowerShell.Core Cre...
Out-Host Cmdlet Microsoft.PowerShell.Core Sen...
Start-Job Cmdlet Microsoft.PowerShell.Core Sta...
Where-Object Cmdlet Microsoft.PowerShell.Core Sel...
Debug-Process Cmdlet Microsoft.PowerShell.M... Deb...
Get-Process Cmdlet Microsoft.PowerShell.M... Get...
Get-WmiObject Cmdlet Microsoft.PowerShell.M... Get...
Start-Process Cmdlet Microsoft.PowerShell.M... Sta...
Stop-Process Cmdlet Microsoft.PowerShell.M... Sto...
Wait-Process Cmdlet Microsoft.PowerShell.M... Wai...
Clear-Variable Cmdlet Microsoft.PowerShell.U... Del...
Convert-String Cmdlet Microsoft.PowerShell.U... For...
ConvertFrom-Csv Cmdlet Microsoft.PowerShell.U... Con...
ConvertFrom-Json Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Html Cmdlet Microsoft.PowerShell.U... Con...
ConvertTo-Xml Cmdlet Microsoft.PowerShell.U... Cre...
Debug-Runspace Cmdlet Microsoft.PowerShell.U... Sta...
Export-Csv Cmdlet Microsoft.PowerShell.U... Con...
Export-FormatData Cmdlet Microsoft.PowerShell.U... Sav...
Format-List Cmdlet Microsoft.PowerShell.U... For...
Format-Table Cmdlet Microsoft.PowerShell.U... For...
Get-Unique Cmdlet Microsoft.PowerShell.U... Ret...
Group-Object Cmdlet Microsoft.PowerShell.U... Gro...
Import-Clixml Cmdlet Microsoft.PowerShell.U... Imp...
Import-Csv Cmdlet Microsoft.PowerShell.U... Cre...
Measure-Object Cmdlet Microsoft.PowerShell.U... Cal...
Out-File Cmdlet Microsoft.PowerShell.U... Sen...
Out-GridView Cmdlet Microsoft.PowerShell.U... Sen...
Select-Object Cmdlet Microsoft.PowerShell.U... Sel...
Set-Variable Cmdlet Microsoft.PowerShell.U... Set...
Sort-Object Cmdlet Microsoft.PowerShell.U... Sor...
Tee-Object Cmdlet Microsoft.PowerShell.U... Sav...
Trace-Command Cmdlet Microsoft.PowerShell.U... Con...
Write-Information Cmdlet Microsoft.PowerShell.U... Spe...
Export-BinaryMiLog Cmdlet CimCmdlets Cre...
Get-CimAssociatedInstance Cmdlet CimCmdlets Ret...
Get-CimInstance Cmdlet CimCmdlets Get...
Import-BinaryMiLog Cmdlet CimCmdlets Use...
Invoke-CimMethod Cmdlet CimCmdlets Inv...
New-CimInstance Cmdlet CimCmdlets Cre...
Remove-CimInstance Cmdlet CimCmdlets Rem...
Set-CimInstance Cmdlet CimCmdlets Mod...
Compress-Archive Function Microsoft.PowerShell.A... Cre...
Get-Counter Cmdlet Microsoft.PowerShell.D... Get...
Invoke-WSManAction Cmdlet Microsoft.WSMan.Manage... Inv...
Remove-WSManInstance Cmdlet Microsoft.WSMan.Manage... Del...
Get-WSManInstance Cmdlet Microsoft.WSMan.Manage... Dis...
New-WSManInstance Cmdlet Microsoft.WSMan.Manage... Cre...
Set-WSManInstance Cmdlet Microsoft.WSMan.Manage... Mod...
about_Arithmetic_Operators HelpFile
about_Arrays HelpFile
about_Environment_Variables HelpFile
about_Execution_Policies HelpFile
about_Functions HelpFile
about_Jobs HelpFile
about_Logging HelpFile
about_Methods HelpFile
about_Objects HelpFile
about_Pipelines HelpFile
about_Preference_Variables HelpFile
about_Remote HelpFile
about_Remote_Jobs HelpFile
about_Session_Configuration_Files HelpFile
about_Simplified_Syntax HelpFile
about_Switch HelpFile
about_Variables HelpFile
about_Variable_Provider HelpFile
about_Windows_Powershell_5.1 HelpFile
about_WQL HelpFile
about_WS-Management_Cmdlets HelpFile
about_Foreach-Parallel HelpFile
about_Parallel HelpFile
about_Sequence HelpFile
När du sökte efter process
returnerades 12 resultat. Men när du söker processes
efter gav den 78 resultat. Om sökningen bara hittar en matchning Get-Help
visar du hjälpinnehållet i stället för att visa sökresultaten.
help *hotfix*
NAME
Get-HotFix
SYNOPSIS
Gets the hotfixes that are installed on local or remote computers.
SYNTAX
Get-HotFix [-ComputerName <System.String[]>] [-Credential
<System.Management.Automation.PSCredential>] [-Description
<System.String[]>] [<CommonParameters>]
Get-HotFix [[-Id] <System.String[]>] [-ComputerName <System.String[]>]
[-Credential <System.Management.Automation.PSCredential>]
[<CommonParameters>]
DESCRIPTION
> This cmdlet is only available on the Windows platform. The
`Get-Hotfix` cmdlet uses the Win32_QuickFixEngineering WMI class to
list hotfixes that are installed on the local computer or specified
remote computers.
RELATED LINKS
Online Version: https://learn.microsoft.com/powershell/module/microsoft.
powershell.management/get-hotfix?view=powershell-5.1&WT.mc_id=ps-gethelp
about_Arrays
Add-Content
Get-ComputerRestorePoint
Get-Credential
Win32_QuickFixEngineering class
REMARKS
To see the examples, type: "get-help Get-HotFix -examples".
For more information, type: "get-help Get-HotFix -detailed".
For technical information, type: "get-help Get-HotFix -full".
For online help, type: "get-help Get-HotFix -online"
Du kan också hitta kommandon som saknar hjälpartiklar med Get-Help
, även om den här funktionen inte är allmänt känd. Funktionen more
är ett av kommandona som inte har någon hjälpartikel. Om du vill bekräfta att du kan hitta kommandon med Get-Help
som inte innehåller hjälpartiklar använder du help
funktionen för att hitta more
.
help *more*
Sökningen hittade bara en matchning, så den returnerade den grundläggande syntaxinformation som du ser när ett kommando inte har någon hjälpartikel.
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
PowerShell-hjälpsystemet innehåller även konceptuella Om hjälpartiklar. Du måste uppdatera hjälpinnehållet i systemet för att få artiklarna Om . Mer information finns i avsnittet Uppdatera hjälp i det här kapitlet.
Använd följande kommando för att returnera en lista över alla om hjälpartiklar i systemet.
help About_*
När du begränsar resultatet till en Om hjälp-artikel Get-Help
visar du innehållet i den artikeln.
help about_Updatable_Help
Uppdatera hjälpen
Tidigare i det här kapitlet uppdaterade du PowerShell-hjälpartiklarna på datorn första gången du körde cmdleten Get-Help
. Du bör regelbundet köra cmdleten Update-Help
på datorn för att få uppdateringar av hjälpinnehållet.
Viktigt!
I Windows PowerShell 5.1 måste du köra Update-Help
som administratör i en upphöjd PowerShell-session.
I följande exempel Update-Help
laddar du ned PowerShell-hjälpinnehållet för alla moduler som är installerade på datorn. Du bör använda force-parametern för att se till att du laddar ned den senaste versionen av hjälpinnehållet.
Update-Help -Force
Som visas i följande resultat returnerade en modul ett fel. Fel är inte ovanliga och inträffar vanligtvis när modulens författare inte konfigurerar uppdateringsbar hjälp på rätt sätt.
Update-Help : Failed to update Help for the module(s) 'BitsTransfer' with UI
culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture
en-US. Make sure the HelpInfoUri property in the module manifest is valid or
check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Update-Help], Except
ion
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShe
ll.Commands.UpdateHelpCommand
Update-Help
kräver internetåtkomst för att ladda ned hjälpinnehållet. Om datorn inte har internetåtkomst använder du cmdleten Save-Help
på en dator med internetåtkomst för att ladda ned och spara det uppdaterade hjälpinnehållet. Använd sedan parametern Update-Help
SourcePath för för att ange platsen för det sparade uppdaterade hjälpinnehållet.
Get-Command
Get-Command
är ett annat flerfunktionskommando som hjälper dig att hitta kommandon. När du kör Get-Command
utan några parametrar returneras en lista över alla PowerShell-kommandon i systemet.
Du kan också använda Get-Command
för att hämta kommandosyntax som liknar Get-Help
.
Hur avgör du syntaxen för Get-Command
? Du kan använda Get-Help
för att visa hjälpartikeln för Get-Command
, som du ser i avsnittet Get-Help i det här kapitlet. Du kan också använda Get-Command
med syntaxparametern för att visa syntaxen för alla kommandon. Den här genvägen hjälper dig att snabbt avgöra hur du använder ett kommando utan att gå igenom dess hjälpinnehåll.
Get-Command -Name Get-Command -Syntax
Med hjälp av Get-Command
syntaxparametern får du en mer kortfattad vy över syntaxen som visar parametrarna och deras värdetyper, utan att ange de specifika tillåtna värdena som Get-Help
visar.
Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>]
[-Noun <string[]>] [-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>] [-TotalCount <int>]
[-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]
Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax]
[-ShowCommandInfo] [-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [<CommonParameters>]
Om du behöver mer detaljerad information om hur du använder ett kommando använder du Get-Help
.
help Get-Command -Full
Avsnittet Get-Help
SYNTAX i ger en mer användarvänlig visning genom att expandera uppräknade värden för parametrar. Den visar de faktiska värden som du kan använda, vilket gör det lättare att förstå de tillgängliga alternativen.
...
Get-Command [[-Name] <System.String[]>] [[-ArgumentList]
<System.Object[]>] [-All] [-CommandType {Alias | Function | Filter |
Cmdlet | ExternalScript | Application | Script | Workflow |
Configuration | All}] [-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-ParameterName <System.String[]>]
[-ParameterType <System.Management.Automation.PSTypeName[]>]
[-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
[<CommonParameters>]
Get-Command [[-ArgumentList] <System.Object[]>] [-All]
[-FullyQualifiedModule
<Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
[-Module <System.String[]>] [-Noun <System.String[]>] [-ParameterName
<System.String[]>] [-ParameterType
<System.Management.Automation.PSTypeName[]>] [-ShowCommandInfo]
[-Syntax] [-TotalCount <System.Int32>] [-Verb <System.String[]>]
[<CommonParameters>]
...
Avsnittet PARAMETRAR i hjälpen för Get-Command
visar att parametrarna Namn, Substantiv och Verb accepterar jokertecken.
...
-Name <System.String[]>
Specifies an array of names. This cmdlet gets only commands that
have the specified name. Enter a name or name pattern. Wildcard
characters are permitted.
To get commands that have the same name, use the All parameter. When
two commands have the same name, by default, `Get-Command` gets the
command that runs when you type the command name.
Required? false
Position? 0
Default value None
Accept pipeline input? True (ByPropertyName, ByValue)
Accept wildcard characters? true
-Noun <System.String[]>
Specifies an array of command nouns. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified noun. Enter one or more nouns or noun
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
-Verb <System.String[]>
Specifies an array of command verbs. This cmdlet gets commands,
which include cmdlets, functions, and aliases, that have names that
include the specified verb. Enter one or more verbs or verb
patterns. Wildcard characters are permitted.
Required? false
Position? named
Default value None
Accept pipeline input? True (ByPropertyName)
Accept wildcard characters? true
...
I följande exempel används *
jokertecknet med värdet för parametern Namn på Get-Command
.
Get-Command -Name *service*
När du använder jokertecken med parametern Name (Get-Command
Namn) returneras PowerShell-kommandon och interna kommandon, enligt följande resultat.
CommandType Name Version
----------- ---- -------
Function Get-NetFirewallServiceFilter 2.0.0.0
Function Set-NetFirewallServiceFilter 2.0.0.0
Cmdlet Get-Service 3.1.0.0
Cmdlet New-Service 3.1.0.0
Cmdlet New-WebServiceProxy 3.1.0.0
Cmdlet Restart-Service 3.1.0.0
Cmdlet Resume-Service 3.1.0.0
Cmdlet Set-Service 3.1.0.0
Cmdlet Start-Service 3.1.0.0
Cmdlet Stop-Service 3.1.0.0
Cmdlet Suspend-Service 3.1.0.0
Application SecurityHealthService.exe 10.0.2...
Application SensorDataService.exe 10.0.2...
Application services.exe 10.0.2...
Application services.msc 0.0.0.0
Application TieringEngineService.exe 10.0.2...
Application Windows.WARP.JITService.exe 10.0.2...
Du kan begränsa resultatet av till PowerShell-kommandon med hjälp av Get-Command
parametern CommandType .
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script
Ett annat alternativ kan vara att använda antingen verb- eller substantivparametern eller båda eftersom endast PowerShell-kommandon har verb och substantiv.
I följande exempel används Get-Command
för att hitta kommandon på datorn som fungerar med processer.
Använd substantivparametern och ange Process
som dess värde.
Get-Command -Noun Process
CommandType Name Version
----------- ---- -------
Cmdlet Debug-Process 3.1.0.0
Cmdlet Get-Process 3.1.0.0
Cmdlet Start-Process 3.1.0.0
Cmdlet Stop-Process 3.1.0.0
Cmdlet Wait-Process 3.1.0.0
Sammanfattning
I det här kapitlet har du lärt dig att hitta kommandon med Get-Help
och Get-Command
. Du har också lärt dig hur du använder hjälpsystemet för att förstå hur du använder kommandon när du hittar dem. Dessutom har du lärt dig hur du uppdaterar hjälpsystemet på datorn när det finns nytt hjälpinnehåll.
Granskning
- Är Parametern
Get-Service
DisplayName positional? - Hur många parameteruppsättningar har cmdleten
Get-Process
? - Vilka PowerShell-kommandon finns för att arbeta med händelseloggar?
- Vad är PowerShell-kommandot för att returnera en lista över PowerShell-processer som körs på datorn?
- Hur uppdaterar du PowerShell-hjälpinnehållet som lagras på datorn?
Referenser
Mer information om de begrepp som beskrivs i det här kapitlet finns i följande PowerShell-hjälpartiklar.
Nästa steg
I nästa kapitel får du lära dig mer om objekt, egenskaper, metoder och cmdleten Get-Member
.