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-Help
si 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-Help
zadejte 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-Help
je 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í process
vrátilo 12 výsledků. Při hledání processes
vš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-Help
ná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-Command
Name , 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
- Je parametr DisplayName pozice
Get-Service
? - Kolik sad parametrů má rutina
Get-Process
? - Jaké příkazy PowerShellu existují pro práci s protokoly událostí?
- Jaký je příkaz PowerShellu pro vrácení seznamu procesů PowerShellu spuštěných na vašem počítači?
- 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.
- Get-Help
- Get-Command
- Aktualizovat nápovědu
- Uložit nápovědu
- about_Updatable_Help
- about_Command_Syntax
Další kroky
V další kapitole se dozvíte o objektech, vlastnostech, metodách a rutině Get-Member
.