Kapitola 2 - Systém nápovědy
Dvě skupiny IT specialistů získaly napsaný test bez přístupu k počítači, aby bylo možné určit úroveň dovedností pomocí PowerShellu. Začátečníci PowerShellu byli umístěni v jedné skupině a odborníci na jinou. Na základě výsledků testu se zdá, že úroveň dovedností mezi těmito dvěma skupinami není moc rozdílná. Obě skupiny měly druhý test podobný prvnímu. Tentokrát jim byl udělen přístup k počítači pomocí PowerShellu, který neměl přístup k internetu. Výsledky druhého testu ukázaly obrovský rozdíl na úrovni dovedností mezi těmito dvěma skupinami. Odborníci odpovědi vždy nezná, ale vědí, jak tyto odpovědi zjistit.
Jaký byl rozdíl ve výsledcích prvního a druhého testu mezi těmito dvěma skupinami?
Rozdíly pozorované v těchto dvou testech byly způsobené tím, že si odborníci nepamatují, jak používat tisíce příkazů v PowerShellu. Naučí se používat systém nápovědy v PowerShellu velmi dobře. Díky tomu můžou najít potřebné příkazy v případě potřeby a jak tyto příkazy používat, jakmile je najdete.
Slyšel jsem, že Jeffrey Snover, vynálezce PowerShellu, několikrát vypráví podobný příběh.
Zvládnutí systému nápovědy je klíčem k úspěchu pomocí PowerShellu.
Zjistitelnost
Kompilované příkazy v PowerShellu se nazývají rutiny. Rutina se vyslovuje "command-let" (ne CMD-let). Názvy rutin mají formu příkazů s jednotným slovesem-podstatným jménem, aby je bylo možné snadno zjistit. Například rutina pro určení spuštěných Get-Process
procesů a rutiny pro načtení seznamu služeb a jejich stavů .Get-Service
V PowerShellu existují další typy příkazů, jako jsou aliasy a funkce, které budou popsané dále v této knize. Výraz PowerShell je obecný termín, který se často používá k odkazování na jakýkoli typ příkazu v PowerShellu bez ohledu na to, jestli se jedná o rutinu, funkci nebo alias.
Tři základní rutiny v PowerShellu
Get-Command
Get-Help
Get-Member
(pokryté kapitolou 3)
Jednou z otázek, na kterou se často ptám, je, jak zjistíte, jaké příkazy jsou v PowerShellu? Get-Help
K určení příkazů je možné použít obojíGet-Command
.
Get-Help
Get-Help
je příkaz s více účely. Get-Help
vám pomůže naučit se používat příkazy, jakmile je najdete. Get-Help
lze také použít k vyhledání příkazů, ale jiným a nepřímým způsobem v porovnání s Get-Command
.
Pokud Get-Help
se používá k vyhledání příkazů, nejprve vyhledá zástupné závislosti názvů příkazů na základě zadaného vstupu. Pokud nenajde shodu, vyhledá samotná témata nápovědy a pokud nenajde žádnou shodu, vrátí se chyba. Na rozdíl od populární víry Get-Help
lze použít k vyhledání příkazů, které nemají témata nápovědy.
První věc, kterou potřebujete vědět o systému nápovědy v PowerShellu, je použití rutiny Get-Help
. Následující příkaz slouží k zobrazení tématu nápovědy pro Get-Help
.
Get-Help -Name Get-Help
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 http://go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Počínaje PowerShellem verze 3 se nápověda k PowerShellu nedoručuje s operačním systémem. Při prvním Get-Help
spuštění příkazu se zobrazí předchozí zpráva. help
Pokud se místo rutiny používá Get-Help
funkce nebo man
alias, nezobrazí se tato výzva.
Když stisknete klávesu Y , spustí se Update-Help
rutina, která ve výchozím nastavení vyžaduje přístup k internetu. Y
lze zadat velkým nebo menším písmenem.
Po stažení nápovědy a dokončení aktualizace se téma nápovědy vrátí pro zadaný příkaz:
Get-Help -Name Get-Help
Chvíli spusťte tento příklad na počítači, zkontrolujte výstup a poznamenejte si, jak se informace seskupují:
- NAME
- SYNOPSE
- SYNTAXE
- POPIS
- SOUVISEJÍCÍ ODKAZY
- POZNÁMKY
Jak vidíte, témata nápovědy můžou obsahovat obrovské množství informací, a to ani celé téma nápovědy.
I když není specifický pro PowerShell, představuje parametr způsob, jak zadat vstup do příkazu. Get-Help
obsahuje mnoho parametrů, které lze zadat, aby se vrátilo celé téma nápovědy nebo podmnožina.
Část syntaxe tématu nápovědy zobrazená v předchozí sadě výsledků obsahuje seznam všech parametrů pro Get-Help
. Na první pohled se zobrazí stejné parametry, které jsou uvedené šestkrát. Každý z těchto různých bloků v oddílu syntaxe je sada parametrů. To znamená, že rutina Get-Help
má šest různých sad parametrů. Pokud se podíváte blíže, všimnete si, že se v každé sadě parametrů liší alespoň jeden parametr.
Sady parametrů se vzájemně vylučují. Jakmile se použije jedinečný parametr, který existuje pouze v jedné ze sad parametrů, lze použít pouze parametry obsažené v této sadě parametrů. Například úplné i podrobné parametry nelze zadat současně, protože jsou v různých sadách parametrů.
Každý z následujících parametrů je v různých sadách parametrů:
- Úplný
- Podrobné
- Příklady
- Online
- Parametr
- ShowWindow
Veškerá kryptografická syntaxe, jako jsou hranaté a úhlové závorky v oddílu syntaxe, znamená něco, ale bude pokryta v dodatku A této knihy. I když je důležité, učení kryptografické syntaxe je často obtížné zachovat pro někoho, kdo je s PowerShellem novinkou, a nemusí ji používat každý den.
Další informace o lepším pochopení kryptografické syntaxe najdete v dodatku A.
Pro začátečníky existuje jednodušší způsob, jak zjistit stejné informace s výjimkou prostého jazyka.
Pokud je zadán úplný parametrGet-Help
, vrátí se celé téma nápovědy.
Get-Help -Name Get-Help -Full
Chvíli spusťte tento příklad na počítači, zkontrolujte výstup a poznamenejte si, jak se informace seskupují:
- NAME
- SYNOPSE
- SYNTAXE
- POPIS
- PARAMETRY
- VSTUP
- VÝSTUP
- POZNÁMKY
- PŘÍKLADY
- SOUVISEJÍCÍ ODKAZY
Všimněte si, že použití úplného parametru vrátilo několik dalších částí, z nichž jeden je oddíl PARAMETERS, který poskytuje více informací než oddíl kryptografické SYNTAXE.
Úplný parametr je parametr přepínače. Parametr, který nevyžaduje hodnotu, se nazývá parametr přepínače. Pokud je zadán parametr switch, jeho hodnota je true a pokud není, její hodnota je false.
Pokud jste tuto kapitolu probrali v konzole PowerShellu, všimli jste si, že předchozí příkaz zobrazující celé téma nápovědy pro Get-Help
letěl na obrazovce, aniž byste měli možnost si ho přečíst. Existuje lepší způsob.
Help
je funkce, která kanáluje Get-Help
funkci s názvem more
, což je obálka spustitelného more.com
souboru ve Windows. V konzole help
PowerShellu poskytuje současně jednu stránku nápovědy. V ISE to funguje stejně jako Get-Help
. Doporučujeme místo rutiny help
použít funkci Get-Help
, protože poskytuje lepší prostředí a je méně psaní.
Méně psaní ale není vždy dobrá věc. Pokud příkazy uložíte jako skript nebo je nasdílíte někomu jinému, nezapomeňte použít úplné názvy rutin a parametrů. Úplná jména jsou samodokumentování, což usnadňuje jejich pochopení. Zamyslete se nad další osobou, která musí číst a pochopit vaše příkazy. Mohl bys to být ty. Díky svým spolupracovníkům a budoucímu vlastnímu budoucnosti.
Zkuste v konzole PowerShellu na počítači s testovacím prostředím Windows 10 spustit následující příkazy.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Všimli jste si rozdílů ve výstupu z dříve uvedených příkazů, když jste je spustili na počítači s testovacím prostředím s Windows 10?
Jiné rozdíly než poslední dvě možnosti vracejí výsledky po jedné stránce.
Mezerník slouží k zobrazení další stránky obsahu při použití Help
funkce a Kombinace kláves Ctrl+C zruší příkazy spuštěné v konzole PowerShellu.
První příklad používá rutinu Get-Help
, druhá používá Help
funkci a třetí vynechá parametr Name při použití Help
funkce. Název je poziční parametr a v tomto příkladu se používá pozičním způsobem. To znamená, že hodnotu lze zadat bez zadání názvu parametru, pokud je samotná hodnota zadána ve správném umístění. Jak jsem věděli, v jaké pozici se má zadat hodnota? Když si přečtete nápovědu, jak je znázorněno v následujícím příkladu.
help Get-Help -Parameter Name
-Name <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 a word that doesn't match any help article titles, Get-Help displays a list of
articles that include that word 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
Všimněte si, že v předchozím příkladu byl parametr Parameter použit s funkcí Nápověda k vrácení pouze informací z tématu nápovědy pro parametr Name . To je mnohem stručnější, než se snažíte ručně projít, co se někdy zdá jako stostrárkové téma nápovědy.
Na základě těchto výsledků můžete vidět, že parametr Name je poziční a při použití musí být zadán na pozici nula (první pozice). Pořadí, ve které jsou parametry zadané, nezáleží na tom, jestli je zadaný název parametru.
Jednou z dalších důležitých informací je, že parametr Name očekává, že datový typ pro jeho hodnotu bude jeden řetězec, který je označený <String>
. Pokud přijal více řetězců, datový typ by byl uveden jako <String[]>
.
Někdy prostě nechcete zobrazit celé téma nápovědy pro příkaz. Existuje několik dalších parametrů kromě Full , které lze zadat pomocí Get-Help
nebo Help
. Zkuste na počítači s testovacím prostředím s Windows 10 spustit 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 mám zájem jenom o příklady, použijem parametr Příklady a pokud mě zajímá jenom konkrétní parametr, použijem parametr Parametr . Parametr ShowWindow otevře téma nápovědy v samostatném prohledávatelném okně, které lze umístit na jiný monitor, pokud máte více monitorů. Vyhnul jsem se parametru ShowWindow , protože existuje známá chyba, kdy se nezobrazuje celé téma nápovědy.
Pokud chcete pomoct v samostatném okně, doporučujeme použít buď parametr Online , nebo použít úplný parametr a přeskakovat výsledky na Out-GridView
, jak je znázorněno v následujícím příkladu.
help Get-Command -Full | Out-GridView
Rutina Out-GridView
i parametr ShowWindow rutiny Get-Help
vyžadují operační systém s grafickým uživatelským rozhraním (GUI). Pokud se pokusíte použít některou z nich na Windows Serveru nainstalovaném pomocí možnosti instalace jádra serveru (bez grafického uživatelského rozhraní), vygenerují chybovou zprávu.
Pokud chcete příkazy Get-Help
najít, použijte zástupný znak hvězdičky (*
) s parametrem Name . Zadejte termín, pro který hledáte příkazy jako hodnotu parametru Name , jak je znázorněno v následujícím příkladu.
help *process*
Name Category Module Synopsis
---- -------- ------ --------
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Connects to and ...
Exit-PSHostProcess Cmdlet Microsoft.PowerShell.Core Closes an intera...
Get-PSHostProcessInfo Cmdlet Microsoft.PowerShell.Core
Debug-Process Cmdlet Microsoft.PowerShell.M... Debugs one or mo...
Get-Process Cmdlet Microsoft.PowerShell.M... Gets the process...
Start-Process Cmdlet Microsoft.PowerShell.M... Starts one or mo...
Stop-Process Cmdlet Microsoft.PowerShell.M... Stops one or mor...
Wait-Process Cmdlet Microsoft.PowerShell.M... Waits for the pr...
Get-AppvVirtualProcess Function AppvClient ...
Start-AppvVirtualProcess Function AppvClient ...
V předchozím příkladu *
nejsou zástupné znaky povinné a vynechání je vytvoří stejný výsledek. Get-Help
automaticky přidá zástupné znaky na pozadí.
help process
Předchozí příkaz vytvoří stejné výsledky jako zadání zástupného znaku *
na každém konci procesu.
Raději je přidám, protože to je možnost, která vždy funguje konzistentně. V opačném případě se vyžadují v určitých scénářích, nikoli v jiných scénářích. Jakmile doprostřed hodnoty přidáte zástupný znak, nebudou se už automaticky přidávat na pozadí k zadané hodnotě.
help pr*cess
Tento příkaz nevrácí žádné výsledky, pokud *
není zástupný znak přidán na začátek, konec nebo začátek i konec pr*cess
.
Pokud zadaná hodnota začíná pomlčkou, vygeneruje se chyba, protože PowerShell ji interpretuje jako název parametru a pro rutinu neexistuje žádný takový název parametru Get-Help
.
help -process
Pokud se pokoušíte hledat příkazy, které končí -process
, stačí na začátek hodnoty přidat *
zástupný znak.
help *-process
Při hledání příkazů PowerShellu Get-Help
s , chcete být trochu vágní, místo abyste byli příliš konkrétní s tím, co hledáte.
Hledání dříve nalezených process
pouze příkazů obsažených process
v názvu příkazu a vrácení pouze těchto výsledků. Pokud Get-Help
se používá k hledání processes
, nenajde žádné shody pro názvy příkazů, takže provede hledání každého tématu nápovědy v PowerShellu ve vašem systému a vrátí všechny nalezené shody. To způsobí, že vrátí obrovský počet výsledků.
Get-Help processes
Name Category Module Synopsis
---- -------- ------ --------
Disconnect-PSSession Cmdlet Microsoft.PowerShell.Core Disconnects from...
Enter-PSHostProcess Cmdlet Microsoft.PowerShell.Core Connects to and ...
ForEach-Object Cmdlet Microsoft.PowerShell.Core Performs an oper...
Get-PSSessionConfiguration Cmdlet Microsoft.PowerShell.Core Gets the registe...
New-PSTransportOption Cmdlet Microsoft.PowerShell.Core Creates an objec...
Out-Host Cmdlet Microsoft.PowerShell.Core Sends output to ...
Where-Object Cmdlet Microsoft.PowerShell.Core Selects objects ...
Clear-Variable Cmdlet Microsoft.PowerShell.U... Deletes the valu...
Compare-Object Cmdlet Microsoft.PowerShell.U... Compares two set...
Convert-String Cmdlet Microsoft.PowerShell.U... Formats a string...
ConvertFrom-Csv Cmdlet Microsoft.PowerShell.U... Converts object ...
ConvertTo-Html Cmdlet Microsoft.PowerShell.U... Converts Microso...
ConvertTo-Xml Cmdlet Microsoft.PowerShell.U... Creates an XML-b...
Debug-Runspace Cmdlet Microsoft.PowerShell.U... Starts an intera...
Export-Csv Cmdlet Microsoft.PowerShell.U... Converts objects...
Export-FormatData Cmdlet Microsoft.PowerShell.U... Saves formatting...
Format-List Cmdlet Microsoft.PowerShell.U... Formats the outp...
Format-Table Cmdlet Microsoft.PowerShell.U... Formats the outp...
Get-Random Cmdlet Microsoft.PowerShell.U... Gets a random nu...
Get-Unique Cmdlet Microsoft.PowerShell.U... Returns unique i...
Group-Object Cmdlet Microsoft.PowerShell.U... Groups objects t...
Import-Clixml Cmdlet Microsoft.PowerShell.U... Imports a CLIXML...
Import-Csv Cmdlet Microsoft.PowerShell.U... Creates table-li...
Measure-Object Cmdlet Microsoft.PowerShell.U... Calculates the n...
Out-File Cmdlet Microsoft.PowerShell.U... Sends output to ...
Out-GridView Cmdlet Microsoft.PowerShell.U... Sends output to ...
Select-Object Cmdlet Microsoft.PowerShell.U... Selects objects ...
Set-Variable Cmdlet Microsoft.PowerShell.U... Sets the value o...
Sort-Object Cmdlet Microsoft.PowerShell.U... Sorts objects by...
Tee-Object Cmdlet Microsoft.PowerShell.U... Saves command ou...
Trace-Command Cmdlet Microsoft.PowerShell.U... Configures and s...
Write-Output Cmdlet Microsoft.PowerShell.U... Sends the specif...
Debug-Process Cmdlet Microsoft.PowerShell.M... Debugs one or mo...
Get-Process Cmdlet Microsoft.PowerShell.M... Gets the process...
Get-WmiObject Cmdlet Microsoft.PowerShell.M... Gets instances o...
Start-Process Cmdlet Microsoft.PowerShell.M... Starts one or mo...
Stop-Process Cmdlet Microsoft.PowerShell.M... Stops one or mor...
Wait-Process Cmdlet Microsoft.PowerShell.M... Waits for the pr...
Get-Counter Cmdlet Microsoft.PowerShell.D... Gets performance...
Invoke-WSManAction Cmdlet Microsoft.WSMan.Manage... Invokes an actio...
Remove-WSManInstance Cmdlet Microsoft.WSMan.Manage... Deletes a manage...
Get-WSManInstance Cmdlet Microsoft.WSMan.Manage... Displays managem...
New-WSManInstance Cmdlet Microsoft.WSMan.Manage... Creates a new in...
Set-WSManInstance Cmdlet Microsoft.WSMan.Manage... Modifies the man...
about_Arithmetic_Operators HelpFile Describes the op...
about_Arrays HelpFile Describes arrays...
about_Debuggers HelpFile Describes the Wi...
about_Execution_Policies HelpFile Describes the Wi...
about_ForEach-Parallel HelpFile Describes the Fo...
about_Foreach HelpFile Describes a lang...
about_Functions HelpFile Describes how to...
about_Language_Keywords HelpFile Describes the ke...
about_Methods HelpFile Describes how to...
about_Objects HelpFile Provides essenti...
about_Parallel HelpFile Describes the Pa...
about_Pipelines HelpFile Combining comman...
about_Preference_Variables HelpFile Variables that c...
about_Remote HelpFile Describes how to...
about_Remote_Output HelpFile Describes how to...
about_Sequence HelpFile Describes the Se...
about_Session_Configuration_Files HelpFile Describes sessio...
about_Variables HelpFile Describes how va...
about_Windows_PowerShell_5.0 HelpFile Describes new fe...
about_WQL HelpFile Describes WMI Qu...
about_WS-Management_Cmdlets HelpFile Provides an over...
about_ForEach-Parallel HelpFile Describes the Fo...
about_Parallel HelpFile Describes the Pa...
about_Sequence HelpFile Describes the Se...
Hledání Help
vrácených process
10 výsledků a jeho použití k vyhledání processes
vrácených 68 výsledků Pokud se najde jenom jeden výsledek, místo seznamu příkazů se zobrazí samotné téma nápovědy.
get-help *hotfix*
NAME
Get-HotFix
SYNOPSIS
Gets the hotfixes that have been applied to the local and remote computers.
SYNTAX
Get-HotFix [-ComputerName <String[]>] [-Credential <PSCredential>] [-Description
<String[]>] [<CommonParameters>]
Get-HotFix [[-Id] <String[]>] [-ComputerName <String[]>] [-Credential
<PSCredential>] [<CommonParameters>]
DESCRIPTION
The Get-Hotfix cmdlet gets hotfixes (also called updates) that have been installed
on either the local computer (or on specified remote computers) by Windows Update,
Microsoft Update, or Windows Server Update Services; the cmdlet also gets hotfixes
or updates that have been installed manually by users.
RELATED LINKS
Online Version: http://go.microsoft.com/fwlink/?LinkId=821586
Win32_QuickFixEngineering http://go.microsoft.com/fwlink/?LinkID=145071
Get-ComputerRestorePoint
Add-Content
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"
Teď, když chcete zrušit mýt, že Help
v PowerShellu můžete najít jenom příkazy, které mají témata nápovědy.
help *more*
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
Všimněte si v předchozím příkladu, že more
téma nápovědy nemá, ale Help
systém v PowerShellu ho mohl najít. Našla pouze jednu shodu a vrátila základní informace o syntaxi, které uvidíte, když příkaz neobsahuje téma nápovědy.
PowerShell obsahuje mnoho koncepčních témat nápovědy (o produktu). Následující příkaz lze použít k vrácení seznamu všech témat nápovědy o systému.
help About_*
Omezení výsledků na jedno téma nápovědy o nápovědě místo vrácení seznamu zobrazí skutečné téma nápovědy.
help about_Updatable_Help
Systém nápovědy v PowerShellu se musí aktualizovat, aby byla k dispozici témata nápovědy o produktu. Pokud se z nějakého důvodu počáteční aktualizace systému nápovědy na vašem počítači nezdařila, soubory nebudou k dispozici, dokud Update-Help
se rutina úspěšně nespustí.
Get-Command
Get-Command
je navržený tak, aby vám pomohl najít příkazy. Spuštění Get-Command
bez jakýchkoli parametrů vrátí seznam všech příkazů ve vašem systému. Následující příklad ukazuje použití rutiny Get-Command
k určení, které příkazy existují pro práci s procesy:
Get-Command -Noun Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 3.1.0.0 Microsof...
Cmdlet Get-Process 3.1.0.0 Microsof...
Cmdlet Start-Process 3.1.0.0 Microsof...
Cmdlet Stop-Process 3.1.0.0 Microsof...
Cmdlet Wait-Process 3.1.0.0 Microsof...
Všimněte si, že v předchozím příkladu, kde Get-Command
byl spuštěn, se použije parametr Podstatné jméno a Process
je zadán jako hodnota parametru podstatného jména . Co když jste nevěděli, jak tuto rutinu Get-Command
používat? Můžete použít Get-Help
k zobrazení tématu nápovědy pro Get-Command
.
Parametry Name, Noun a Verb přijímají zástupné cardy. Následující příklad ukazuje použití zástupných znaků s parametrem Name :
Get-Command -Name *service*
CommandType Name Version Source
----------- ---- ------- ------
Function Get-NetFirewallServiceFilter 2.0.0.0 NetSecurity
Function Set-NetFirewallServiceFilter 2.0.0.0 NetSecurity
Cmdlet Get-Service 3.1.0.0 Microsof...
Cmdlet New-Service 3.1.0.0 Microsof...
Cmdlet New-WebServiceProxy 3.1.0.0 Microsof...
Cmdlet Restart-Service 3.1.0.0 Microsof...
Cmdlet Resume-Service 3.1.0.0 Microsof...
Cmdlet Set-Service 3.1.0.0 Microsof...
Cmdlet Start-Service 3.1.0.0 Microsof...
Cmdlet Stop-Service 3.1.0.0 Microsof...
Cmdlet Suspend-Service 3.1.0.0 Microsof...
Application AgentService.exe 10.0.14... C:\Windo...
Application SensorDataService.exe 10.0.14... C:\Windo...
Application services.exe 10.0.14... C:\Windo...
Application services.msc 0.0.0.0 C:\Windo...
Application TieringEngineService.exe 10.0.14... C:\Windo...
Nejsem fanouškem použití zástupných znaků s parametrem Name , Get-Command
protože také vrací spustitelné soubory, které nejsou nativními příkazy PowerShellu.
Pokud s parametrem Name použijete zástupné znaky, doporučujeme omezit výsledky pomocí parametru CommandType .
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias
Lepší možností je použít buď parametr sloveso , nebo podstatné jméno nebo obojí, protože pouze příkazy PowerShellu mají příkazy i podstatná jména.
Našli jste něco špatně s tématem nápovědy? Dobrou zprávou jsou témata nápovědy pro PowerShell, která jsou opensourcová a dostupná v úložišti PowerShell-Docs na GitHubu. Platíte ho nejen tím, že opravíte nesprávné informace pro sebe, ale i všechny ostatní. Jednoduše vytvořte fork úložiště dokumentace PowerShellu na GitHubu, aktualizujte téma nápovědy a odešlete žádost o přijetí změn. Po přijetí žádosti o přijetí změn je k dispozici opravená dokumentace pro všechny uživatele.
Aktualizace nápovědy
Místní kopie témat nápovědy PowerShellu byla dříve aktualizována při prvním vyžádání nápovědy k příkazu. Doporučuje se pravidelně aktualizovat systém nápovědy, protože obsah nápovědy může občas aktualizovat. Rutina Update-Help
slouží k aktualizaci témat nápovědy.
Ve výchozím nastavení vyžaduje přístup k internetu a pro spuštění PowerShellu se zvýšenými oprávněními jako správce.
Update-Help
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 : InvalidOperation: (:) [Update-Help], Exception
+ FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHel
pCommand
Update-Help : Failed to update Help for the module(s) 'NetworkControllerDiagnostics,
StorageReplica' 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], Exception
+ FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.
UpdateHelpCommand
Několik modulů vrátily chyby, které nejsou neobvyklé. Pokud počítač nemá přístup k internetu, můžete použít rutinu Save-Help
na jiném počítači, který má přístup k internetu, a nejprve uložit aktualizované informace nápovědy do sdílené složky ve vaší síti a potom pomocí parametru Update-Help
SourcePath určit toto umístění v síti pro témata nápovědy.
Zvažte nastavení naplánované úlohy nebo přidání nějaké logiky do skriptu profilu v PowerShellu, abyste mohli pravidelně aktualizovat obsah nápovědy na vašem počítači. Skripty profilu budou popsány v nadcházející kapitole.
Shrnutí
V této kapitole jste se naučili, jak najít příkazy s oběma Get-Help
a Get-Command
. Naučili jste se, jak pomocí systému nápovědy zjistit, jak používat příkazy, jakmile je najdete. Dozvěděli jste se také, jak aktualizovat obsah témat nápovědy, když jsou k dispozici aktualizace.
Mým úkolem je naučit se powershellový příkaz denně.
Get-Command | Get-Random | Get-Help -Full
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, který je uložený na vašem počítači?
Doporučené zdroje informací
Pokud chcete získat další informace o tématech popsaných v této kapitole, doporučujeme přečíst si následující témata nápovědy k PowerShellu.
- Get-Help
- Get-Command
- Aktualizovat nápovědu
- Uložit nápovědu
- about_Updatable_Help
- about_Command_Syntax
V další kapitole se seznámíte s rutinou Get-Member
a objekty, vlastnostmi a metodami.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro