Kapitel 2 – Hjälpsystemet
Två grupper av IT-proffs fick ett skriftligt test utan åtkomst till en dator för att fastställa deras kompetensnivå med PowerShell. PowerShell-nybörjare placerades i en grupp och experter i en annan. Baserat på resultatet av testet verkade det inte finnas någon större skillnad i kompetensnivån mellan de två grupperna. Båda grupperna fick ett andra test som liknar det första. Den här gången fick de åtkomst till en dator med PowerShell som inte hade åtkomst till Internet. Resultatet av det andra testet visade en enorm skillnad i kompetensnivån mellan de två grupperna. Experter vet inte alltid svaren, men de vet hur de ska räkna ut svaren.
Vad var skillnaden i resultatet av det första och andra testet mellan dessa två grupper?
Skillnaderna som observerades i dessa två tester berodde på att experter inte memorerar hur man använder tusentals kommandon i PowerShell. De lär sig att använda hjälpsystemet i PowerShell mycket bra. På så sätt kan de hitta nödvändiga kommandon när det behövs och hur de ska användas när de har hittat dem.
Jag har hört Jeffrey Snover, uppfinnaren av PowerShell, berätta en liknande historia ett antal gånger.
Att hantera hjälpsystemet är nyckeln till att lyckas med PowerShell.
Upptäckbarhet
Kompilerade kommandon i PowerShell kallas cmdletar. Cmdleten uttalas "command-let" (inte CMD-let). Cmdlets-namn har formen av "Verb-Noun"-kommandon för att göra dem enkla att identifiera. Cmdleten för att avgöra vilka processer som körs är Get-Process
till exempel och cmdleten för att hämta en lista över tjänster och deras status är Get-Service
. Det finns andra typer av kommandon i PowerShell, till exempel alias och funktioner som beskrivs senare i den här boken. Termen PowerShell-kommando är en allmän term som ofta används för att referera till alla typer av kommandon i PowerShell, oavsett om det är en cmdlet, funktion eller alias.
Cmdletar med tre kärnor i PowerShell
Get-Command
Get-Help
Get-Member
(omfattas av kapitel 3)
En fråga som jag ofta får är hur du tar reda på vilka kommandon som finns i PowerShell? Både Get-Command
och Get-Help
kan användas för att fastställa kommandona.
Get-Help
Get-Help
är ett kommando för flera funktioner. Get-Help
hjälper dig att lära dig hur du använder kommandon när du hittar dem. Get-Help
kan också användas för att hitta kommandon, men på ett annat och mer indirekt sätt jämfört med Get-Command
.
När Get-Help
används för att hitta kommandon söker den först efter jokerteckenmatchningar av kommandonamn baserat på angivna indata. Om den inte hittar någon matchning söker den igenom själva hjälpavsnitten och om ingen matchning hittas returneras ett fel. I motsats till vad många tror Get-Help
kan användas för att hitta kommandon som inte har hjälpämnen.
Det första du behöver veta om hjälpsystemet i PowerShell är hur du använder cmdleten Get-Help
. Följande kommando används för att visa hjälpavsnittet för 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"):
Från och med PowerShell version 3 levereras inte PowerShell-hjälpen med operativsystemet. Första gången Get-Help
körs för ett kommando visas föregående meddelande. Om funktionen eller man
aliaset help
används i stället för cmdleten Get-Help
får du inte den här uppmaningen.
Om du svarar ja genom att trycka på Y körs cmdleten Update-Help
, som kräver internetåtkomst som standard. Y
kan anges i antingen versaler eller gemener.
När hjälpen har laddats ned och uppdateringen är klar returneras hjälpavsnittet för det angivna kommandot:
Get-Help -Name Get-Help
Ta en stund att köra exemplet på datorn, granska utdata och notera hur informationen grupperas:
- NAMN
- SAMMANFATTNING
- SYNTAX
- BESKRIVNING
- RELATERADE LÄNKAR
- REMARKS
Som du ser kan hjälpavsnitt innehålla en enorm mängd information och det här är inte ens hela hjälpavsnittet.
Även om den inte är specifik för PowerShell är en parameter ett sätt att ange indata till ett kommando. Get-Help
har många parametrar som kan anges för att returnera hela hjälpavsnittet eller en delmängd av det.
Syntaxavsnittet i hjälpavsnittet som visas i föregående resultatuppsättning visar alla parametrar för Get-Help
. Vid första anblicken verkar samma parametrar visas sex olika gånger. Vart och ett av dessa olika block i syntaxavsnittet är en parameteruppsättning. Det innebär att cmdleten Get-Help
har sex olika parameteruppsättningar. Om du tittar närmare ser du att minst en parameter skiljer sig åt i var och en av parameteruppsättningarna.
Parameteruppsättningar är ömsesidigt uteslutande. När en unik parameter som bara finns i en av parameteruppsättningarna används kan endast parametrar som ingår i parameteruppsättningen användas. Det gick till exempel inte att ange både de fullständiga och detaljerade parametrarna samtidigt eftersom de finns i olika parameteruppsättningar.
Var och en av följande parametrar finns i olika parameteruppsättningar:
- Fullständig
- Detaljerad
- Exempel
- Online
- Parameter
- VisaWindow
All kryptisk syntax, till exempel hakparenteser och vinkelparenteser i syntaxavsnittet, betyder något men kommer att tas upp i bilaga A i den här boken. Även om det är viktigt är det ofta svårt att lära sig den kryptiska syntaxen för någon som är ny i PowerShell och kanske inte använder den varje dag.
Mer information om hur du bättre förstår den kryptiska syntaxen finns i Bilaga A.
För nybörjare finns det ett enklare sätt att ta reda på samma information förutom på vanligt språk.
När den fullständiga parametern Get-Help
för har angetts returneras hela hjälpavsnittet.
Get-Help -Name Get-Help -Full
Ta en stund att köra exemplet på datorn, granska utdata och notera hur informationen grupperas:
- NAMN
- SAMMANFATTNING
- SYNTAX
- BESKRIVNING
- PARAMETRAR
- INDATA
- UTDATA
- ANTECKNINGAR
- EXEMPEL
- RELATERADE LÄNKAR
Observera att med hjälp av den fullständiga parametern returnerades flera ytterligare avsnitt, varav ett är avsnittet PARAMETRAR som innehåller mer information än avsnittet kryptisk SYNTAX.
Den fullständiga parametern är en växelparameter. En parameter som inte kräver något värde kallas för en växelparameter. När en växelparameter har angetts är dess värde sant och när det inte är det är dess värde falskt.
Om du har arbetat igenom det här kapitlet i PowerShell-konsolen märkte du att föregående kommando för att visa hela hjälpavsnittet för Get-Help
flög förbi på skärmen utan att ge dig en chans att läsa det. Det finns ett bättre sätt.
Help
är en funktion som skickas Get-Help
till en funktion med namnet more
, som är en omslutning för den more.com
körbara filen i Windows. I PowerShell-konsolen help
finns en sida med hjälp i taget. I ISE fungerar det på samma sätt som Get-Help
. Min rekommendation är att använda help
funktionen i stället för cmdleten Get-Help
eftersom den ger en bättre upplevelse och den är mindre att skriva.
Mindre skrivning är dock inte alltid bra. Om du ska spara dina kommandon som ett skript eller dela dem med någon annan bör du använda fullständiga cmdlet- och parameternamn. De fullständiga namnen är självdokumenterande, vilket gör dem lättare att förstå. Tänk på nästa person som måste läsa och förstå dina kommandon. Det kan vara du. Dina medarbetare och framtida jag kommer att tacka dig.
Prova att köra följande kommandon i PowerShell-konsolen på din windows 10-labbmiljödator.
Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full
Märkte du några skillnader i utdata från tidigare listade kommandon när du körde dem på din Windows 10-labbmiljödator?
Det finns inga andra skillnader än de två senaste alternativen som returnerar resultatet en sida i taget.
Blanksteget används för att visa nästa sida med innehåll när du använder Help
funktionen och Ctrl+C avbryter kommandon som körs i PowerShell-konsolen.
I det första exemplet används cmdleten Get-Help
, den andra använder Help
funktionen och den tredje utelämnar parametern Namn när funktionen används Help
. Namn är en positionsparameter och används positionellt i det exemplet. Det innebär att värdet kan anges utan att ange parameternamnet, så länge själva värdet anges i rätt position. Hur visste jag vilken position jag skulle ange värdet i? Genom att läsa hjälpen enligt följande exempel.
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
Observera att parameterparametern i föregående exempel användes med hjälpfunktionen för att endast returnera information från hjälpavsnittet för parametern Namn. Detta är mycket mer koncist än att försöka manuellt sålla igenom vad som ibland verkar vara ett hundrasidigt hjälpämne.
Baserat på dessa resultat kan du se att parametern Namn är positionell och måste anges i position noll (den första positionen) när den används positionellt. Den ordning som parametrar anges i spelar ingen roll om parameternamnet har angetts.
En annan viktig information är att parametern Name förväntar sig att datatypen för dess värde ska vara en enda sträng, som anges av <String>
. Om den accepterade flera strängar visas datatypen som <String[]>
.
Ibland vill du helt enkelt inte visa hela hjälpavsnittet för ett kommando. Det finns ett antal andra parametrar förutom Full som kan anges med Get-Help
eller Help
. Prova att köra följande kommandon på din Windows 10-labbmiljödator:
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
Jag använder help <command name>
vanligtvis med parametern Full eller Online . Om jag bara är intresserad av exemplen använder jag parametern Examples och om jag bara är intresserad av en specifik parameter använder jag parametern Parameter . Parametern ShowWindow öppnar hjälpavsnittet i ett separat sökbart fönster som kan placeras på en annan bildskärm om du har flera bildskärmar. Jag har undvikit parametern ShowWindow eftersom det finns en känd bugg där den inte visar hela hjälpavsnittet.
Om du vill ha hjälp i ett separat fönster rekommenderar jag att du antingen använder parametern Online eller använder den fullständiga parametern och skickar resultatet till Out-GridView
, som du ser i följande exempel.
help Get-Command -Full | Out-GridView
Både cmdleten Out-GridView
och parametern ShowWindow för cmdleten Get-Help
kräver ett operativsystem med ett GUI (grafiskt användargränssnitt). De genererar ett felmeddelande om du försöker använda någon av dem på Windows Server som har installerats med installationsalternativet serverkärna (no-GUI).
Om du vill använda Get-Help
för att hitta kommandon använder du jokertecknet asterisk (*
) med parametern Namn . Ange en term som du söker efter kommandon på som värde för parametern Namn enligt följande exempel.
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 ...
I föregående exempel *
krävs inte jokertecken och om du utelämnar dem får du samma resultat. Get-Help
lägger automatiskt till jokertecken i bakgrunden.
help process
Föregående kommando ger samma resultat som när *
du anger jokertecknet i varje processslut.
Jag föredrar att lägga till dem eftersom det är det alternativ som alltid fungerar konsekvent. Annars krävs de i vissa scenarier och inte i andra. Så snart du lägger till ett jokertecken i mitten av värdet läggs de inte längre automatiskt till i bakgrunden till det angivna värdet.
help pr*cess
Inga resultat returneras av kommandot om inte *
jokertecknet läggs till i början, slutet eller både början och slutet av pr*cess
.
Om det angivna värdet börjar med ett bindestreck genereras ett fel eftersom PowerShell tolkar det som ett parameternamn och det inte finns något sådant parameternamn för cmdleten Get-Help
.
help -process
Om det du försöker söka efter är kommandon som slutar med -process
behöver du bara lägga *
till jokertecknet i början av värdet.
help *-process
När du söker efter PowerShell-kommandon med Get-Help
vill du vara lite mer vag i stället för att vara för specifik med det du söker efter.
process
Sökning efter tidigare hittade endast kommandon som finns process
i namnet på kommandot och returnerade endast dessa resultat. När Get-Help
används för processes
att söka efter hittar den inga matchningar för kommandonamn, så den utför en sökning i varje hjälpavsnitt i PowerShell i systemet och returnerar eventuella matchningar som hittas. Detta gör att det returnerar ett enormt antal resultat.
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...
Använda Help
för att söka process
efter returnerade 10 resultat och använda det för att söka processes
efter returnerade 68 resultat. Om bara ett resultat hittas visas själva hjälpavsnittet i stället för en lista med kommandon.
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"
Nu ska du avslöja myten om att Help
i PowerShell bara kan hitta kommandon som har hjälpämnen.
help *more*
NAME
more
SYNTAX
more [[-paths] <string[]>]
ALIASES
None
REMARKS
None
Observera i föregående exempel att more
det inte finns något hjälpavsnitt, men Help
systemet i PowerShell kunde hitta det. Den hittade bara en matchning och returnerade den grundläggande syntaxinformation som du ser när ett kommando inte har något hjälpavsnitt.
PowerShell innehåller många konceptuella hjälpämnen (Om). Följande kommando kan användas för att returnera en lista över alla Om hjälpavsnitt i systemet.
help About_*
Om du begränsar resultatet till ett enda Om hjälpavsnitt visas det faktiska hjälpavsnittet i stället för att returnera en lista.
help about_Updatable_Help
Hjälpsystemet i PowerShell måste uppdateras för att avsnitten Om hjälp ska kunna presenteras. Om den första uppdateringen av hjälpsystemet av någon anledning misslyckades på datorn blir filerna inte tillgängliga förrän cmdleten Update-Help
har körts.
Get-Command
Get-Command
är utformad för att hjälpa dig att hitta kommandon. Om du kör Get-Command
utan parametrar returneras en lista över alla kommandon i systemet. I följande exempel visas hur du använder cmdleten Get-Command
för att avgöra vilka kommandon som finns för att arbeta med processer:
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...
Observera i föregående exempel där Get-Command
kördes , noun-parametern används och Process
anges som värde för noun-parametern . Vad händer om du inte visste hur du använder cmdleten Get-Command
? Du kan använda Get-Help
för att visa hjälpavsnittet för Get-Command
.
Parametrarna Namn, Substantiv och Verb accepterar jokertecken. I följande exempel visas jokertecken som används med parametern Namn :
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...
Jag gillar inte att använda jokertecken med parametern Get-Command
Namn eftersom det också returnerar körbara filer som inte är inbyggda PowerShell-kommandon.
Om du ska använda jokertecken med parametern Namn rekommenderar jag att du begränsar resultatet med parametern CommandType .
Get-Command -Name *service* -CommandType Cmdlet, Function, Alias
Ett bättre alternativ är att använda antingen verb- eller substantivparametern eller båda eftersom endast PowerShell-kommandon har både verb och substantiv.
Har du hittat något fel med ett hjälpavsnitt? Den goda nyheten är att hjälpavsnitten för PowerShell har öppen källkod och är tillgängliga på PowerShell-Docs-lagringsplatsen på GitHub. Betala det framåt genom att inte bara åtgärda felaktig information för dig själv, men alla andra också. Förgrena bara PowerShell-dokumentationslagringsplatsen på GitHub, uppdatera hjälpavsnittet och skicka en pull-begäran. När pull-begäran har godkänts är den korrigerade dokumentationen tillgänglig för alla.
Uppdatera hjälpen
Den lokala kopian av PowerShell-hjälpavsnitten uppdaterades tidigare första gången hjälpen för ett kommando begärdes. Vi rekommenderar att du regelbundet uppdaterar hjälpsystemet eftersom det kan finnas uppdateringar av hjälpinnehållet då och då. Cmdleten Update-Help
används för att uppdatera hjälpavsnitten.
Det kräver internetåtkomst som standard och för att du ska kunna köra PowerShell förhöjt som administratör.
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
Ett par av modulerna returnerade fel, vilket inte är ovanligt. Om datorn inte hade internetåtkomst kan du använda cmdleten Save-Help
på en annan dator som har Internetåtkomst för att först spara den uppdaterade hjälpinformationen till en filresurs i nätverket och sedan använda parametern Update-Help
SourcePath för för att ange den här nätverksplatsen för hjälpavsnitten.
Överväg att konfigurera en schemalagd aktivitet eller lägga till viss logik i ditt profilskript i PowerShell för att regelbundet uppdatera hjälpinnehållet på datorn. Profilskript kommer att diskuteras i ett kommande kapitel.
Sammanfattning
I det här kapitlet har du lärt dig att hitta kommandon med både Get-Help
och Get-Command
. Du har lärt dig hur du använder hjälpsystemet för att ta reda på hur du använder kommandon när du hittar dem. Du har också lärt dig hur du uppdaterar innehållet i hjälpavsnitten när uppdateringar är tillgängliga.
Min utmaning för dig är att lära dig ett PowerShell-kommando om dagen.
Get-Command | Get-Random | Get-Help -Full
Granskning
- Är Parametern
Get-Service
DisplayName positional? - Hur många parameteruppsättningar har cmdleten
Get-Process
? - Vilka PowerShell-kommandon finns för att arbeta med händelseloggar?
- Vad är PowerShell-kommandot för att returnera en lista över PowerShell-processer som körs på datorn?
- Hur uppdaterar du PowerShell-hjälpinnehållet som lagras på datorn?
Rekommenderad läsning
Om du vill veta mer om de ämnen som beskrivs i det här kapitlet rekommenderar jag att du läser följande PowerShell-hjälpavsnitt.
I nästa kapitel får du lära dig mer om cmdleten Get-Member
samt objekt, egenskaper och metoder.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för