Delen via


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-Helpweergeven, 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-Helpgeeft 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-Helpis 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 processesnaar, 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-Helphoewel 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-Commandweergeven, 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-Commandworden 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

  1. Is de parameter DisplayName Get-Service positioneel?
  2. Hoeveel parametersets heeft de Get-Process cmdlet?
  3. Welke PowerShell-opdrachten bestaan voor het werken met gebeurtenislogboeken?
  4. Wat is de PowerShell-opdracht voor het retourneren van een lijst met PowerShell-processen die op uw computer worden uitgevoerd?
  5. 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.