Hoofdstuk 2 - Het Help-systeem
In een experiment dat is ontworpen om bekwaamheid in PowerShell te beoordelen, werden twee afzonderlijke groepen IT-professionals ( beginners en experts) eerst een schriftelijk examen gegeven zonder toegang tot een computer. Verrassend genoeg gaven de testscores vergelijkbare vaardigheden aan in beide groepen. Vervolgens werd een volgende test beheerd, waarbij de eerste maar met één belangrijk verschil werd gespiegeld: deelnemers hadden toegang tot een offlinecomputer die is uitgerust met PowerShell. De resultaten hebben deze keer een aanzienlijke vaardighedenverschil tussen de twee groepen onthuld.
Welke factoren hebben bijgedragen aan de resultaten die tussen de twee evaluaties zijn waargenomen?
Experts kennen de antwoorden niet altijd, maar ze weten hoe ze de antwoorden kunnen bepalen.
De resultaten die zijn waargenomen in de resultaten van de twee tests, waren omdat experts niet duizenden PowerShell-opdrachten onthouden. In plaats daarvan excelleren ze met behulp van het Help-systeem in PowerShell, zodat ze opdrachten kunnen detecteren en leren gebruiken wanneer dat nodig is.
Kennis maken met het Help-systeem is de sleutel tot succes met PowerShell.
Ik hoorde Jeffrey Snover, de maker van PowerShell, een vergelijkbaar verhaal delen.
Vindbaarheid
Gecompileerde opdrachten in PowerShell worden cmdlets genoemd, uitgesproken als 'command-let', niet 'CMD-let'. De naamconventie voor cmdlets volgt een enkelvoudige indeling voor zelfstandig naamwoorden om ze gemakkelijk te detecteren. Is bijvoorbeeld Get-Process
de cmdlet om te bepalen welke processen worden uitgevoerd en Get-Service
is de cmdlet om een lijst met services op te halen. Functies, ook wel script-cmdlets en aliassen genoemd, zijn andere typen PowerShell-opdrachten die verderop in dit boek worden besproken. De term PowerShell-opdracht beschrijft elke opdracht in PowerShell, ongeacht of het een cmdlet, functie of alias is.
U kunt ook systeemeigen besturingssysteemopdrachten uitvoeren vanuit PowerShell, zoals traditionele opdrachtregelprogramma's zoals ping.exe
en ipconfig.exe
.
De drie kern-cmdlets in PowerShell
Get-Help
Get-Command
Get-Member
(behandeld in hoofdstuk 3)
Ik word vaak gevraagd: 'Hoe weet u wat de opdrachten zijn in PowerShell?'. Beide Get-Help
en Get-Command
zijn waardevolle resources voor het detecteren en begrijpen van opdrachten in PowerShell.
Get-Help
Het eerste wat u moet weten over het Help-systeem in PowerShell is het gebruik van de Get-Help
cmdlet.
Get-Help
is een opdracht voor meerdere doeleinden waarmee u kunt leren hoe u opdrachten kunt gebruiken zodra u ze hebt gevonden.
U kunt ook Get-Help
opdrachten zoeken, maar op een andere en meer indirecte manier in vergelijking met Get-Command
.
Get-Help
Wanneer u opdrachten zoekt, wordt in eerste instantie met jokertekens gezocht naar opdrachtnamen op basis van uw invoer. Als er geen overeenkomsten worden gevonden, voert het een uitgebreide zoekopdracht in volledige tekst uit in alle Help-artikelen van PowerShell op uw systeem. Als dat ook niet lukt om resultaten te vinden, wordt er een fout geretourneerd.
U kunt als Get-Help
volgt de Help-inhoud voor de Get-Help
cmdlet weergeven.
Get-Help -Name Get-Help
Vanaf PowerShell versie 3.0 wordt de Help-inhoud niet vooraf geïnstalleerd met het besturingssysteem. Wanneer u voor de eerste keer wordt uitgevoerd Get-Help
, wordt u gevraagd of u de Help-bestanden van PowerShell naar uw computer wilt downloaden.
Als u Ja beantwoordt door op Y te drukken, wordt de Update-Help
cmdlet uitgevoerd en wordt de Help-inhoud gedownload.
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"):
Als u dit bericht niet ontvangt, voert u deze uit Update-Help
vanaf een PowerShell-sessie met verhoogde bevoegdheid die als beheerder wordt uitgevoerd.
Zodra de update is voltooid, wordt het Help-artikel weergegeven.
Neem even de tijd om het voorbeeld op uw computer uit te voeren, bekijk de uitvoer en bekijk hoe het Help-systeem de informatie ordent.
- NAAM
- SAMENVATTING
- SYNTAXIS
- BESCHRIJVING
- GERELATEERDE KOPPELINGEN
- OPMERKINGEN
Wanneer u de uitvoer bekijkt, moet u er rekening mee houden dat Help-artikelen vaak een grote hoeveelheid informatie bevatten en wat u standaard ziet, niet het hele Help-artikel is.
Parameters
Wanneer u een opdracht uitvoert in PowerShell, moet u mogelijk aanvullende informatie of invoer voor de opdracht opgeven. Met parameters kunt u opties en argumenten opgeven die het gedrag van een opdracht wijzigen. De sectie SYNTAXIS van elk Help-artikel bevat een overzicht van de beschikbare parameters voor de opdracht.
Get-Help
heeft verschillende parameters die u kunt opgeven om het hele Help-artikel of een subset voor een opdracht te retourneren. Als u alle beschikbare parameters wilt Get-Help
weergeven, raadpleegt u de sectie SYNTAXIS van het Help-artikel, zoals wordt weergegeven in het volgende voorbeeld.
...
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>]
...
Parametersets
Wanneer u de sectie SYNTAXIS bekijkt Get-Help
, ziet u dat de informatie zes keer wordt herhaald. Elk van deze blokken is een afzonderlijke parameterset, waarmee wordt aangegeven dat de Get-Help
cmdlet zes afzonderlijke sets parameters bevat. In een beter overzicht ziet u dat elke parameterset ten minste één unieke parameter bevat, waardoor deze verschilt van de andere parameters.
Parametersets sluiten elkaar wederzijds uit. Zodra u een unieke parameter opgeeft die slechts in één parameterset bestaat, beperkt PowerShell u tot het gebruik van de parameters in die parameterset.
U kunt bijvoorbeeld de parameters Volledig en Gedetailleerd van elkaar niet gebruiken omdat ze deel Get-Help
uitmaken van verschillende parametersets.
Elk van de volgende parameters behoort tot een andere parameterset voor de Get-Help
cmdlet.
- Volledig
- Gedetailleerde
- Voorbeelden
- Online
- Parameter
- ShowWindow
De syntaxis van de opdracht
Als u niet bekend bent met PowerShell, lijkt het misschien overweldigend om de cryptische informatie te begrijpen, die wordt gekenmerkt door vierkante en hoekhaken. Het leren van deze syntaxiselementen is echter essentieel om bekwaam te worden met PowerShell. Hoe vaker u het PowerShell Help-systeem gebruikt, hoe eenvoudiger het wordt om alle nuances te onthouden.
Bekijk de syntaxis van de Get-EventLog
cmdlet.
Get-Help Get-EventLog
In de volgende uitvoer ziet u het relevante gedeelte van het Help-artikel.
...
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>]
...
De syntaxisinformatie bevat paren vierkante haken ([]
). Afhankelijk van hun gebruik dienen deze vierkante haken twee verschillende doeleinden.
- Elementen tussen vierkante haken zijn optioneel.
- Een lege set vierkante haken na een gegevenstype, zoals
<string[]>
, geeft aan dat de parameter meerdere waarden kan accepteren die zijn doorgegeven als een matrix of een verzamelingsobject.
Positionele parameters
Sommige cmdlets zijn ontworpen om positionele parameters te accepteren. Met positionele parameters kunt u een waarde opgeven zonder de naam van de parameter op te geven. Wanneer u een parameter positioneel gebruikt, moet u de waarde ervan opgeven op de juiste positie op de opdrachtregel. U vindt de positionele informatie voor een parameter in de sectie PARAMETERS van het Help-artikel van een opdracht. Wanneer u expliciet parameternamen opgeeft, kunt u de parameters in elke volgorde gebruiken.
Voor de Get-EventLog
cmdlet is de eerste parameter in de eerste parameterset LogName.
LogName staat tussen vierkante haken, waarmee wordt aangegeven dat het een positionele parameter is.
Get-EventLog [-LogName] <System.String>
Omdat LogName een positionele parameter is, kunt u deze opgeven op naam of positie. Volgens de punthaken na de parameternaam moet de waarde voor LogName één tekenreeks zijn. Het ontbreken van vierkante haken tussen zowel de parameternaam als het gegevenstype geeft aan dat LogName een vereiste parameter is binnen deze specifieke parameterset.
De tweede parameter in die parameterset is InstanceId. Zowel de parameternaam als het gegevenstype staan volledig tussen vierkante haken, wat aangeeft dat InstanceId een optionele parameter is.
[[-InstanceId] <System.Int64[]>]
Bovendien heeft InstanceId een eigen paar vierkante haken, wat aangeeft dat het een positionele parameter is die vergelijkbaar is met de LogName-parameter. Na het gegevenstype betekent een lege set vierkante haken dat InstanceId meerdere waarden kan accepteren.
Parameters wisselen
Een parameter waarvoor geen waarde is vereist, wordt een schakelparameter genoemd. U kunt eenvoudig schakelen tussen parameters identificeren, omdat er geen gegevenstype is na de parameternaam. Wanneer u een schakelparameter opgeeft, is de waarde .true
Wanneer u geen schakelparameter opgeeft, is de waarde ervan false
.
De tweede parameterset bevat een lijstparameter , een schakelparameter. Wanneer u de parameter List opgeeft, wordt er een lijst met gebeurtenislogboeken op de lokale computer geretourneerd.
[-List]
Een vereenvoudigde benadering van syntaxis
Er is een gebruiksvriendelijkere methode om dezelfde informatie te verkrijgen als de syntaxis van de cryptische opdracht voor sommige opdrachten, behalve in het gewone Engels. PowerShell retourneert het volledige Help-artikel bij gebruik Get-Help
met de parameter Volledig , waardoor het gebruik van een opdracht gemakkelijker te begrijpen is.
Get-Help -Name Get-Help -Full
Neem even de tijd om het voorbeeld op uw computer uit te voeren, bekijk de uitvoer en bekijk hoe het Help-systeem de informatie ordent.
- NAAM
- SAMENVATTING
- SYNTAXIS
- BESCHRIJVING
- PARAMETERS
- INVOER
- UITVOER
- OPMERKINGEN
- VOORBEELDEN
- GERELATEERDE KOPPELINGEN
Door de parameter Volledig met de Get-Help
cmdlet op te geven, bevat de uitvoer verschillende extra secties. In deze secties biedt PARAMETERS vaak een gedetailleerde uitleg voor elke parameter. De omvang van deze informatie varieert echter, afhankelijk van de specifieke opdracht die u onderzoekt.
...
-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
...
Wanneer u de vorige opdracht hebt uitgevoerd om de Help voor de Get-Help
opdracht weer te geven, hebt u waarschijnlijk gezien dat de uitvoer te snel is gesrold om deze te lezen.
Als u de PowerShell-console, Windows Terminal of VS Code gebruikt en een Help-artikel moet bekijken, kan de help
functie nuttig zijn. Hiermee wordt de uitvoer van Get-Help
naar more.com
, waarbij één pagina met Help-inhoud tegelijk wordt weergegeven. Ik raad het gebruik van de help
functie aan in plaats van de Get-Help
cmdlet, omdat deze een betere gebruikerservaring biedt en het minder is om te typen.
Notitie
De ISE biedt geen ondersteuning voor het gebruik van more.com
, dus het uitvoeren help
werkt op dezelfde manier als Get-Help
.
Voer elk van de volgende opdrachten uit in PowerShell op uw computer.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Hebt u variaties in de uitvoer gezien toen u de vorige opdrachten uitvoerde?
In het vorige voorbeeld gebruikt de eerste regel de Get-Help
cmdlet, de tweede gebruikt de help
functie en de derde regel laat de parameter Name weg terwijl u de help
functie gebruikt. Omdat Name een positionele parameter is, profiteert het derde voorbeeld van de positie ervan in plaats van expliciet de naam van de parameter op te geven.
Het verschil is dat de laatste twee opdrachten hun uitvoer één pagina tegelijk weergeven. Wanneer u de functie gebruikt, drukt u op de help
spatiebalk om de volgende pagina met inhoud weer te geven of Q om af te sluiten. Als u een opdracht die interactief wordt uitgevoerd in PowerShell wilt beëindigen, drukt u op Ctrl+C.
Gebruik de parameter parameter om snel informatie over een specifieke parameter te vinden. Deze benadering retourneert inhoud die alleen de parameterspecifieke informatie bevat, in plaats van het hele Help-artikel. Dit is de eenvoudigste manier om informatie over een specifieke parameter te vinden.
In het volgende voorbeeld wordt de help
functie gebruikt met de parameter Parameter om informatie te retourneren uit het Help-artikel voor de parameter Name van Get-Help
.
help Get-Help -Parameter Name
De Help-informatie laat zien dat de parameter Naam positioneel is en moet worden opgegeven op de eerste positie (positie nul) wanneer deze positioneel wordt gebruikt.
-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
De parameter Name verwacht een tekenreekswaarde zoals aangegeven door het <String>
gegevenstype naast de parameternaam.
Er zijn verschillende andere parameters waarmee u kunt opgeven Get-Help
om een subset van een Help-artikel te retourneren. Voer de volgende opdrachten uit op uw computer om te zien hoe ze werken.
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
Normaal gesproken gebruik help <command name>
ik met de parameter Volledig of Online . Als u alleen geïnteresseerd bent in de voorbeelden, gebruikt u de parameter Voorbeelden . Als u alleen interesse hebt in een specifieke parameter, gebruikt u de parameter parameter .
Wanneer u de parameter ShowWindow gebruikt, wordt de Help-inhoud weergegeven in een afzonderlijk doorzoekbaar venster. U kunt dat venster verplaatsen naar een ander beeldscherm als u meerdere beeldschermen hebt. De parameter ShowWindow heeft echter een bekende fout die kan verhinderen dat het hele Help-artikel wordt weergegeven. Voor de parameter ShowWindow is ook een besturingssysteem met een grafische gebruikersinterface (GUI) vereist. Er wordt een fout geretourneerd wanneer u deze probeert te gebruiken in Windows Server Core.
Als u internettoegang hebt, kunt u in plaats daarvan de parameter Online gebruiken. Met de parameter Online opent u het Help-artikel in uw standaardwebbrowser. De online inhoud is de meest recente inhoud. In de browser kunt u de Help-inhoud doorzoeken en andere gerelateerde Help-artikelen bekijken.
Notitie
De parameter Online wordt niet ondersteund voor artikelen over .
help Get-Command -Online
Opdrachten zoeken met Get-Help
Als u opdrachten wilt zoeken, Get-Help
geeft u een zoekterm op tussen sterretjes (*
) jokertekens voor de waarde van de parameter Naam . In het volgende voorbeeld wordt de parameter Name positionally gebruikt.
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...
In dit scenario hoeft u de *
jokertekens niet toe te voegen. Als Get-Help
er geen opdracht kan worden gevonden die overeenkomt met de waarde die u hebt opgegeven, wordt er in de volledige tekst naar die waarde gezocht. Het volgende voorbeeld produceert dezelfde resultaten als het opgeven van het *
jokerteken aan elk uiteinde van process
.
help process
Wanneer u een jokerteken opgeeft binnen de waarde, Get-Help
zoekt u alleen naar opdrachten die overeenkomen met het patroon dat u hebt opgegeven. Er wordt geen zoekopdracht in volledige tekst uitgevoerd. Met de volgende opdracht worden geen resultaten geretourneerd.
help pr*cess
PowerShell genereert een fout als u een waarde opgeeft die begint met een streepje zonder deze tussen aanhalingstekens te plaatsen, omdat deze als parameternaam wordt geïnterpreteerd. Er bestaat geen dergelijke parameternaam voor de Get-Help
cmdlet.
help -process
Als u probeert te zoeken naar opdrachten die eindigen op -process
, moet u een *
aan het begin van de waarde toevoegen.
help *-process
Wanneer u zoekt naar PowerShell-opdrachten, Get-Help
is het beter om vaag te zijn in plaats van te specifiek.
Wanneer u eerder hebt gezocht process
, hebben de resultaten alleen opdrachten geretourneerd die zijn opgenomen process
in hun naam. Maar als u zoekt processes
, worden er geen overeenkomsten gevonden voor opdrachtnamen. Zoals eerder vermeld, wordt, wanneer help geen overeenkomsten vindt, een uitgebreide zoekopdracht in volledige tekst uitgevoerd van elk Help-artikel op uw systeem en retourneert deze resultaten. Dit type zoekopdracht produceert vaak meer resultaten dan verwacht, inclusief informatie die niet relevant is voor u.
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
Toen u zocht process
, zijn er 12 resultaten geretourneerd. Bij het zoeken processes
naar, leverde het echter 78 resultaten op. Als uw zoekopdracht slechts één overeenkomst vindt, Get-Help
wordt de Help-inhoud weergegeven in plaats van de zoekresultaten weer te geven.
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"
U kunt ook opdrachten vinden die geen Help-artikelen bevatten, Get-Help
hoewel deze mogelijkheid niet algemeen bekend is. De more
functie is een van de opdrachten die geen Help-artikel hebben. Gebruik de help
functie om te bevestigen dat u opdrachten met Get-Help
die geen Help-artikelen bevat, kunt vindenmore
.
help *more*
De zoekopdracht heeft slechts één overeenkomst gevonden, dus de basissyntaxisgegevens die u ziet wanneer een opdracht geen Help-artikel heeft.
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
Het PowerShell Help-systeem bevat ook conceptuele Help-artikelen over . U moet de Help-inhoud op uw systeem bijwerken om de artikelen Over te krijgen. Zie de sectie Help bijwerken van dit hoofdstuk voor meer informatie.
Gebruik de volgende opdracht om een lijst met alle Help-artikelen over Informatie over uw systeem te retourneren.
help About_*
Wanneer u de resultaten beperkt tot één Help-artikel over , Get-Help
wordt de inhoud van dat artikel weergegeven.
help about_Updatable_Help
Help bijwerken
Eerder in dit hoofdstuk hebt u de Help-artikelen van PowerShell op uw computer bijgewerkt wanneer u de cmdlet voor het Get-Help
eerst hebt uitgevoerd. U moet de Update-Help
cmdlet regelmatig op uw computer uitvoeren om updates voor de Help-inhoud te verkrijgen.
Belangrijk
In Windows PowerShell 5.1 moet u als beheerder worden uitgevoerd Update-Help
in een PowerShell-sessie met verhoogde bevoegdheid.
In het volgende voorbeeld Update-Help
downloadt u de Help-inhoud van PowerShell voor alle modules die op uw computer zijn geïnstalleerd. Gebruik de parameter Force om ervoor te zorgen dat u de nieuwste versie van de Help-inhoud downloadt.
Update-Help -Force
Zoals wordt weergegeven in de volgende resultaten, heeft een module een fout geretourneerd. Fouten zijn niet ongebruikelijk en treden meestal op wanneer de auteur van de module niet correct kan worden bijgewerkt.
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
vereist internettoegang om de Help-inhoud te downloaden. Als uw computer geen internettoegang heeft, gebruikt u de Save-Help
cmdlet op een computer met internettoegang om de bijgewerkte Help-inhoud te downloaden en op te slaan. Gebruik vervolgens de parameter Update-Help
SourcePath om de locatie op te geven van de opgeslagen help-inhoud.
Get-Command
Get-Command
is een andere multifunctionele opdracht waarmee u opdrachten kunt vinden. Wanneer u zonder parameters uitvoert Get-Command
, wordt er een lijst met alle PowerShell-opdrachten op uw systeem geretourneerd.
U kunt ook de Get-Command
opdrachtsyntaxis ophalen die vergelijkbaar is met Get-Help
.
Hoe bepaalt u de syntaxis voor Get-Command
? U kunt Get-Help
het Help-artikel voor Get-Command
weergeven, zoals wordt weergegeven in de sectie Help van dit hoofdstuk. U kunt ook de parameter Syntaxis gebruiken Get-Command
om de syntaxis voor elke opdracht weer te geven. Met deze snelkoppeling kunt u snel bepalen hoe u een opdracht gebruikt zonder door de Help-inhoud te navigeren.
Get-Command -Name Get-Command -Syntax
Het gebruik Get-Command
met de parameter Syntaxis biedt een beknoptere weergave van de syntaxis waarin de parameters en de bijbehorende waardetypen worden weergegeven, zonder de specifieke toegestane waarden weer te geven, zoals Get-Help
weergegeven.
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>]
Als u meer gedetailleerde informatie nodig hebt over het gebruik van een opdracht, gebruikt u Get-Help
.
help Get-Command -Full
De sectie SYNTAXIS van Get-Help
biedt een gebruiksvriendelijkere weergave door geïnventareerde waarden voor parameters uit te vouwen. Hier ziet u de werkelijke waarden die u kunt gebruiken, zodat u de beschikbare opties gemakkelijker kunt begrijpen.
...
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>]
...
In de sectie PARAMETERS van de Help ziet Get-Command
u dat de parameters Naam, Zelfstandig naamwoord en Werkwoord jokertekens accepteren.
...
-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
...
In het volgende voorbeeld wordt het *
jokerteken gebruikt met de waarde voor de parameter Name van Get-Command
.
Get-Command -Name *service*
Wanneer u jokertekens gebruikt met de parameter Naam , Get-Command
worden PowerShell-opdrachten en systeemeigen opdrachten geretourneerd, zoals wordt weergegeven in de volgende resultaten.
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...
U kunt de resultaten van PowerShell-opdrachten beperken met behulp van Get-Command
de parameter CommandType .
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script
Een andere optie is het gebruik van de parameter Werkwoord of Zelfstandig naamwoord of beide, omdat alleen PowerShell-opdrachten werkwoorden en zelfstandige naamwoorden hebben.
In het volgende voorbeeld wordt gebruikgemaakt Get-Command
van opdrachten op uw computer die met processen werken.
Gebruik de parameter Zelfstandig naamwoord en geef Process
deze op als waarde.
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
Samenvatting
In dit hoofdstuk hebt u geleerd hoe u opdrachten kunt vinden met Get-Help
en Get-Command
. U hebt ook geleerd hoe u het Help-systeem kunt gebruiken om te begrijpen hoe u opdrachten gebruikt zodra u ze hebt gevonden. Daarnaast hebt u geleerd hoe u het Help-systeem op uw computer bijwerkt wanneer er nieuwe Help-inhoud beschikbaar is.
Beoordelen
- Is de parameter DisplayName
Get-Service
positioneel? - Hoeveel parametersets heeft de
Get-Process
cmdlet? - Welke PowerShell-opdrachten bestaan voor het werken met gebeurtenislogboeken?
- Wat is de PowerShell-opdracht voor het retourneren van een lijst met PowerShell-processen die op uw computer worden uitgevoerd?
- Hoe werkt u de Help-inhoud van PowerShell bij die is opgeslagen op uw computer?
Verwijzingen
Lees de volgende Help-artikelen over PowerShell voor meer informatie over de concepten die in dit hoofdstuk worden behandeld.
Volgende stappen
In het volgende hoofdstuk leert u meer over objecten, eigenschappen, methoden en de Get-Member
cmdlet.