Sdílet prostřednictvím


Kapitola 2 - Systém nápovědy

V experimentu navrženém pro posouzení odbornosti v PowerShellu byly nejprve uděleny dvě různé skupiny IT odborníků – začátečníky a odborníky – písemné zkoušky bez přístupu k počítači. Překvapivě, skóre testu ukázalo srovnatelné dovednosti v obou skupinách. Následný test se pak spravoval a zrcadlil první, ale s jedním klíčovým rozdílem: účastníci měli přístup k offline počítači vybavenému PowerShellem. Výsledky tentokrát ukázaly významnou mezeru mezi těmito dvěma skupinami.

Jaké faktory přispěly k výsledkům pozorovaným mezi dvěma hodnoceními?

Odborníci odpovědi vždy nezná, ale vědí, jak tyto odpovědi zjistit.

Výsledky pozorované ve výsledcích dvou testů byly proto, že si odborníci nepamatují tisíce příkazů PowerShellu. Místo toho excelují v používání systému nápovědy v PowerShellu a umožňují jim zjistit a zjistit, jak v případě potřeby používat příkazy.

Znalost systému nápovědy je klíčem k úspěchu v PowerShellu.

Slyšel jsem Jeffrey Snover, tvůrce PowerShellu, sdílet podobný příběh na několika příležitostech.

Zjistitelnost

Kompilované příkazy v PowerShellu se označují jako rutiny, které se označují jako command-let, nikoli CMD-let. Zásady vytváření názvů pro rutiny se řídí jednotným formátem slovesa-podstatného jména , aby byly snadno zjistitelné. Je to například rutina, která určuje, Get-Process jaké procesy jsou spuštěné, a Get-Service je to rutina pro načtení seznamu služeb. Funkce, označované také jako rutiny skriptu a aliasy, jsou další typy příkazů PowerShellu, které jsou popsány dále v této knize. Výraz "Příkaz PowerShellu" popisuje jakýkoli příkaz v PowerShellu bez ohledu na to, jestli se jedná o rutinu, funkci nebo alias.

Můžete také spouštět nativní příkazy operačního systému z PowerShellu, jako jsou tradiční programy příkazového řádku jako ping.exe a ipconfig.exe.

Tři základní rutiny v PowerShellu

  • Get-Help
  • Get-Command
  • Get-Member (pokryté kapitolou 3)

Často se ptám: "Jak zjistíte, co jsou příkazy v PowerShellu?". Obojí Get-Help a Get-Command jsou neocenitelnými prostředky pro zjišťování a pochopení příkazů v PowerShellu.

Get-Help

První věc, kterou potřebujete vědět o systému nápovědy v PowerShellu, je použití rutiny Get-Help .

Get-Help je multipurpose command, který vám pomůže naučit se používat příkazy, jakmile je najdete. Můžete také použít Get-Help k vyhledání příkazů, ale jinak a nepřímoji ve srovnání s Get-Command.

Při použití Get-Help k vyhledání příkazů nejprve provede vyhledávání názvů příkazů pomocí zástupných znaků na základě vašeho vstupu. Pokud se nenajde žádná shoda, provede komplexní fulltextové vyhledávání ve všech článcích nápovědy PowerShellu ve vašem systému. Pokud se také nepodaří najít žádné výsledky, vrátí chybu.

Tady je postup, jak zobrazit Get-Help obsah nápovědy pro rutinu Get-Help .

Get-Help -Name Get-Help

Počínaje PowerShellem verze 3.0 se obsah nápovědy nedoručí předinstalovaným operačním systémem. Při prvním spuštění Get-Help se zobrazí zpráva s dotazem, jestli chcete stáhnout soubory nápovědy PowerShellu do počítače.

Když stisknete klávesu Y, spustí se Update-Help rutina a stáhne se obsah nápovědy.

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"):

Pokud tuto zprávu neobdržíte, spusťte Update-Help ji z relace PowerShellu se zvýšenými oprávněními spuštěnou jako správce.

Po dokončení aktualizace se zobrazí článek nápovědy.

Chvíli spusťte příklad na počítači, zkontrolujte výstup a podívejte se, jak systém nápovědy informace uspořádá.

  • NAME
  • SYNOPSE
  • SYNTAXE
  • POPIS
  • SOUVISEJÍCÍ ODKAZY
  • POZNÁMKY

Při prohlížení výstupu mějte na paměti, že články nápovědy často obsahují obrovské množství informací a to, co vidíte ve výchozím nastavení, není celý článek nápovědy.

Parametry

Když v PowerShellu spustíte příkaz, budete možná muset zadat další informace nebo vstup do příkazu. Parametry umožňují zadat možnosti a argumenty, které mění chování příkazu. Část SYNTAXe každého článku nápovědy popisuje dostupné parametry pro příkaz.

Get-Help obsahuje několik parametrů, které můžete zadat k vrácení celého článku nápovědy nebo podmnožina příkazu. Pokud chcete zobrazit všechny dostupné parametry Get-Help, projděte si část SYNTAXe článku nápovědy, jak je znázorněno v následujícím příkladu.

...
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>]
...

Sady parametrů

Při kontrole části SYNTAXe Get-Helpsi všimněte, že se informace budou opakovat šestkrát. Každý z těchto bloků je samostatná sada parametrů, která označuje, že Get-Help rutina obsahuje šest různých sad parametrů. Bližší pohled ukazuje, že každá sada parametrů obsahuje alespoň jeden jedinečný parametr, takže se liší od ostatních.

Sady parametrů se vzájemně vylučují. Jakmile zadáte jedinečný parametr, který existuje pouze v jedné sadě parametrů, PowerShell vás omezuje na použití parametrů obsažených v této sadě parametrů. Například nemůžete použít úplné a podrobné parametry Get-Help společně, protože patří do různých sad parametrů.

Každý z následujících parametrů patří do jiné sady parametrů pro rutinu Get-Help .

  • Úplný
  • Podrobný
  • Příklady
  • Online
  • Parametr
  • ShowWindow

Syntaxe příkazu

Pokud s PowerShellem začínáte, může být pochopení kryptografických informací – které jsou charakterizovány hranatými a úhlovými závorkami – v části SYNTAXe může vypadat jako ohromující. Učení těchto elementů syntaxe je ale nezbytné k tomu, aby bylo možné pracovat s PowerShellem. Čím častěji používáte systém nápovědy PowerShellu, tím jednodušší je zapamatovat si všechny drobné odlišnosti.

Zobrazte syntaxi rutiny Get-EventLog .

Get-Help Get-EventLog

Následující výstup ukazuje příslušnou část článku nápovědy.

...
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>]
...

Informace o syntaxi zahrnují dvojice hranatých závorek ([]). V závislosti na jejich použití tyto hranaté závorky slouží dvěma různým účelům.

  • Prvky uzavřené v hranatých závorkách jsou volitelné.
  • Prázdná sada hranatých závorek za datovým typem, například <string[]>, označuje, že parametr může přijmout více hodnot předaných jako pole nebo objekt kolekce.

Poziční parametry

Některé rutiny jsou navržené tak, aby přijímaly poziční parametry. Poziční parametry umožňují zadat hodnotu bez zadání názvu parametru. Při použití parametru na pozici je nutné zadat jeho hodnotu ve správném umístění na příkazovém řádku. Informace o pozici parametru najdete v části PARAMETRY v článku nápovědy k příkazu. Když explicitně zadáte názvy parametrů, můžete použít parametry v libovolném pořadí.

Pro rutinu Get-EventLog je prvním parametrem v první sadě parametrů LogName. LogName je uzavřený v hranatých závorkách, což znamená, že se jedná o poziční parametr.

Get-EventLog [-LogName] <System.String>

Vzhledem k tomu , že LogName je poziční parametr, můžete ho zadat buď podle názvu, nebo pozice. Podle úhlových závorek za názvem parametru musí být hodnota LogName jeden řetězec. Absence hranatých závorek ohraničující název parametru i datový typ indikuje, že LogName je povinný parametr v rámci této konkrétní sady parametrů.

Druhý parametr v této sadě parametrů je InstanceId. Název parametru i datový typ jsou zcela uzavřeny v hranatých závorkách, což znamená, že InstanceId je volitelný parametr.

[[-InstanceId] <System.Int64[]>]

InstanceId má navíc vlastní dvojici hranatých závorek, což označuje, že se jedná o poziční parametr podobný parametru LogName. Po datovém typu prázdná sada hranatých závorek znamená, že InstanceId může přijímat více hodnot.

Parametry přepínače

Parametr, který nevyžaduje hodnotu, se nazývá parametr přepínače. Parametry přepínače můžete snadno identifikovat, protože za názvem parametru není žádný datový typ. Když zadáte parametr přepínače, jeho hodnota je true. Pokud nezadáte parametr přepínače, jeho hodnota je false.

Druhá sada parametrů obsahuje parametr List , což je parametr přepínače. Když zadáte parametr List , vrátí seznam protokolů událostí v místním počítači.

[-List]

Zjednodušený přístup k syntaxi

Existuje uživatelsky přívětivější metoda pro získání stejných informací jako syntaxe kryptografických příkazů pro některé příkazy s výjimkou prosté angličtiny. PowerShell při použití Get-Help s úplným parametrem vrátí úplný článek nápovědy, který usnadňuje pochopení použití příkazu.

Get-Help -Name Get-Help -Full

Chvíli spusťte příklad na počítači, zkontrolujte výstup a podívejte se, jak systém nápovědy informace uspořádá.

  • NAME
  • SYNOPSE
  • SYNTAXE
  • POPIS
  • PARAMETRY
  • VSTUP
  • VÝSTUP
  • POZNÁMKY
  • PŘÍKLADY
  • SOUVISEJÍCÍ ODKAZY

Zadáním úplného parametru Get-Help pomocí rutiny výstup obsahuje několik dalších částí. V těchto částech parametry často poskytují podrobné vysvětlení jednotlivých parametrů. Rozsah těchto informací se ale liší v závislosti na konkrétním příkazu, který prošetřujete.

...
    -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
...

Když jste spustili předchozí příkaz, abyste zobrazili nápovědu Get-Help k příkazu, pravděpodobně jste si všimli, že se výstup posunoval příliš rychle, abyste ho mohli přečíst.

Pokud používáte konzolu PowerShellu, Terminál Windows nebo VS Code a potřebujete si prohlédnout článek nápovědy, help může být tato funkce užitečná. Kanáluje výstup Get-Help do more.com, zobrazující jednu stránku obsahu nápovědy najednou. Doporučujeme místo rutiny help použít funkci Get-Help , protože poskytuje lepší uživatelské prostředí a je méně psaní.

Poznámka:

IsE nepodporuje použití more.com, takže spuštění help funguje stejným způsobem jako Get-Help.

V PowerShellu na počítači spusťte každý z následujících příkazů.

Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full

Viděli jste ve výstupu nějaké varianty, když jste spustili předchozí příkazy?

V předchozím příkladu první řádek používá rutinu Get-Help , druhý používá help funkci a třetí řádek vynechá parametr Name při použití help funkce. Vzhledem k tomu , že Name je poziční parametr, třetí příklad využívá místo explicitního uvedení názvu parametru jeho pozici.

Rozdíl je v tom, že poslední dva příkazy zobrazují svůj výstup najednou po jedné stránce. Když funkci používáte help , stisknutím mezerníku zobrazte další stránku obsahu nebo Q a ukončete ji. Pokud potřebujete ukončit jakýkoli příkaz spuštěný interaktivně v PowerShellu, stiskněte ctrl +C.

Pokud chcete rychle najít informace o konkrétním parametru , použijte parametr Parametr . Tento přístup vrátí obsah obsahující pouze informace specifické pro parametry, nikoli celý článek nápovědy. Toto je nejjednodušší způsob, jak najít informace o konkrétním parametru.

Následující příklad používá help funkci s parametrem Parameter k vrácení informací z článku nápovědy pro Name parametru Get-Help.

help Get-Help -Parameter Name

Informace nápovědy ukazují, že parametr Name je poziční a musí být zadán na první pozici (pozice nula) při použití pozice.

-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

Parametr Name očekává řetězcovou hodnotu identifikovanou datovým typem <String> vedle názvu parametru.

Existuje několik dalších parametrů, se Get-Help kterými můžete zadat vrácení podmnožina článku nápovědy. Pokud chcete zjistit, jak fungují, spusťte na počítači následující příkazy.

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

Obvykle používám help <command name> s parametrem Full nebo Online . Pokud vás zajímají jenom příklady, použijte parametr Příklady . Pokud vás zajímá jenom konkrétní parametr, použijte parametr Parametr .

Když použijete parametr ShowWindow , zobrazí obsah nápovědy v samostatném prohledávatelném okně. Pokud máte více monitorů, můžete toto okno přesunout do jiného monitoru. Parametr ShowWindow má však známou chybu, která by jí mohla zabránit v zobrazení celého článku nápovědy. Parametr ShowWindow také vyžaduje operační systém s grafickým uživatelským rozhraním (GUI). Při pokusu o jeho použití v jádru Windows Serveru vrátí chybu.

Pokud máte přístup k internetu, můžete místo toho použít parametr Online . Parametr Online otevře článek nápovědy ve výchozím webovém prohlížeči. Online obsah je nejaktuálnější obsah. Prohlížeč umožňuje vyhledat obsah nápovědy a zobrazit další související články nápovědy.

Poznámka:

U článků o produktu není podporovaný parametr Online.

help Get-Command -Online

Hledání příkazů pomocí rutiny Get-Help

Pokud chcete najít příkazy, Get-Helpzadejte hledaný termín obklopený zástupnými znaky hvězdičky (*) pro hodnotu parametru Name . Následující příklad používá parametr 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...

V tomto scénáři nemusíte přidávat * zástupné znaky. Pokud Get-Help nemůžete najít příkaz odpovídající zadané hodnotě, provede fulltextové vyhledávání této hodnoty. Následující příklad vytvoří stejné výsledky jako určení zástupného znaku * na každém konci process.

help process

Když zadáte zástupný znak v hodnotě, vyhledá pouze příkazy, Get-Help které odpovídají zadanému vzoru. Neprovádí fulltextové vyhledávání. Následující příkaz nevrací žádné výsledky.

help pr*cess

PowerShell vygeneruje chybu, pokud zadáte hodnotu, která začíná pomlčkou bez uzavření do uvozovek, protože ji interpretuje jako název parametru. Pro rutinu neexistuje žádný takový název parametru Get-Help .

help -process

Pokud se pokoušíte vyhledat příkazy, které končí-process, musíte na začátek hodnoty přidat.*

help *-process

Když hledáte příkazy PowerShellu, Get-Helpje lepší být vágní, nikoli příliš specifické.

Když jste hledali process dříve, výsledky vrátily pouze příkazy, které obsahovaly process jejich název. Pokud ale hledáte processes, nenajde žádné shody pro názvy příkazů. Jak jsme uvedli dříve, když nápověda nenajde žádné shody, provede komplexní fulltextové vyhledávání každého článku nápovědy ve vašem systému a vrátí tyto výsledky. Tento typ vyhledávání často vytváří více výsledků, než se čekalo, včetně informací, které nejsou pro vás relevantní.

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

Při hledání processvrátilo 12 výsledků. Při hledání processesvšak vzniklo 78 výsledků. Pokud hledání najde jenom jednu shodu, Get-Help místo výpisu výsledků hledání zobrazí obsah nápovědy.

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"

Můžete také najít příkazy, které nemají články Get-Helpnápovědy , i když tato funkce není běžně známá. Funkce more je jedním z příkazů, které nemají článek nápovědy. Pokud chcete potvrdit, že můžete najít příkazy, Get-Help které neobsahují články nápovědy, použijte help funkci k vyhledání more.

help *more*

Hledání našla jenom jednu shodu, takže vrátila základní informace o syntaxi, které vidíte, když příkaz nemá článek nápovědy.

NAME
    more

SYNTAX
    more [[-paths] <string[]>]

ALIASES
    None

REMARKS
    None

Systém nápovědy PowerShellu obsahuje také koncepční informace o článcích nápovědy. Abyste získali články o aplikaci, musíte aktualizovat obsah nápovědy v systému. Další informace naleznete v části Aktualizace nápovědy této kapitoly.

Pomocí následujícího příkazu vrátíte seznam všech článků nápovědy o systému.

help About_*

Když omezíte výsledky na jeden článek nápovědy, Get-Help zobrazí se obsah tohoto článku.

help about_Updatable_Help

Aktualizace nápovědy

Dříve v této kapitole jste aktualizovali články nápovědy PowerShellu na počítači při prvním spuštění rutiny Get-Help . Rutinu Update-Help byste měli pravidelně spouštět na svém počítači, abyste získali všechny aktualizace obsahu nápovědy.

Důležité

Ve Windows PowerShellu 5.1 je nutné spustit Update-Help jako správce v relaci PowerShellu se zvýšenými oprávněními.

V následujícím příkladu Update-Help stáhnete obsah nápovědy PowerShellu pro všechny moduly nainstalované na vašem počítači. K zajištění stažení nejnovější verze obsahu nápovědy byste měli použít parametr Force .

Update-Help -Force

Jak je znázorněno v následujících výsledcích, modul vrátil chybu. Chyby nejsou neobvyklé a obvykle k nim dochází, když autor modulu správně nenakonfiguruje aktualizovatelnou nápovědu.

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 vyžaduje přístup k internetu ke stažení obsahu nápovědy. Pokud váš počítač nemá přístup k internetu, stáhněte a uložte aktualizovaný obsah nápovědy pomocí Save-Help rutiny na počítači s přístupem k internetu. Potom pomocí parametru Update-Help SourcePath určete umístění uloženého aktualizovaného obsahu nápovědy.

Get-Command

Get-Command je další příkaz s více účely, který vám pomůže najít příkazy. Když spustíte Get-Command bez parametrů, vrátí seznam všech příkazů PowerShellu ve vašem systému. Můžete také použít Get-Command k získání syntaxe příkazu podobné Get-Help.

Jak zjistíte syntaxi?Get-Command Můžete použít Get-Help k zobrazení článku nápovědy pro Get-Command, jak je znázorněno v části Získat nápovědu této kapitoly. Pomocí parametru Syntax můžete také Get-Command zobrazit syntaxi libovolného příkazu. Tato klávesová zkratka vám pomůže rychle určit, jak používat příkaz, aniž byste museli procházet jeho obsah nápovědy.

Get-Command -Name Get-Command -Syntax

Použití Get-Command s parametrem Syntax poskytuje stručnější zobrazení syntaxe, která zobrazuje parametry a jejich typy hodnot bez výpisu konkrétních povolených hodnot, jako jsou Get-Help zobrazené.

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>]

Pokud potřebujete podrobnější informace o tom, jak použít příkaz, použijte Get-Help.

help Get-Command -Full

Část SYNTAXe Get-Help poskytuje uživatelsky přívětivější zobrazení rozšířením výčtových hodnot pro parametry. Zobrazuje skutečné hodnoty, které můžete použít, což usnadňuje pochopení dostupných možností.

...
    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>]
...

Část PARAMETRY nápovědy pro Get-Command odhalení, že parametry Name, Noun a Slovesa přijímají zástupné znaky.

...
    -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
...

Následující příklad používá * zástupný znak s hodnotou parametru Name parametru Get-Command.

Get-Command -Name *service*

Pokud použijete zástupné znaky s parametrem Get-CommandName , vrátí příkazy PowerShellu a nativní příkazy, jak je znázorněno v následujících výsledcích.


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...

Výsledky Get-Command příkazů PowerShellu můžete omezit pomocí parametru CommandType .

Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script

Další možností může být použití parametru slovesa nebo podstatného jména nebo obojího, protože pouze příkazy PowerShellu mají slovesa a podstatná jména.

Následující příklad používá Get-Command k vyhledání příkazů v počítači, které pracují s procesy. Použijte parametr podstatného jména a jako jeho hodnotu zadejteProcess.

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

Shrnutí

V této kapitole jste se naučili, jak najít příkazy s Get-Help a Get-Command. Dozvěděli jste se také, jak používat systém nápovědy, abyste pochopili, jak používat příkazy, jakmile je najdete. Kromě toho jste se naučili aktualizovat systém nápovědy na počítači, když je k dispozici nový obsah nápovědy.

Přehled

  1. Je parametr DisplayName poziceGet-Service?
  2. Kolik sad parametrů má rutina Get-Process ?
  3. Jaké příkazy PowerShellu existují pro práci s protokoly událostí?
  4. Jaký je příkaz PowerShellu pro vrácení seznamu procesů PowerShellu spuštěných na vašem počítači?
  5. Jak aktualizujete obsah nápovědy PowerShellu uložený v počítači?

Reference

Další informace o konceptech popsaných v této kapitole najdete v následujících článcích nápovědy k PowerShellu.

Další kroky

V další kapitole se dozvíte o objektech, vlastnostech, metodách a rutině Get-Member .