Condividi tramite


Update-Help

Scarica e installa nel computer i file della Guida più recenti.

Sintassi

Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [[-SourcePath] <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [-LiteralPath <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Descrizione

Il Update-Help cmdlet scarica i file della Guida più recenti per i moduli di PowerShell e li installa nel computer. Non è necessario riavviare PowerShell per rendere effettiva la modifica. È possibile usare il Get-Help cmdlet per visualizzare immediatamente i nuovi file della Guida.

Update-Help controlla la versione dei file della Guida nel computer. Se non si hanno file della Guida per un modulo o se i file della Guida non sono aggiornati, Update-Help scarica i file della Guida più recenti. I file della Guida possono essere scaricati e installati da Internet o da una condivisione file.

Senza parametri, Update-Help aggiorna i file della Guida per i moduli nella sessione e per tutti i moduli installati che supportano la Guida aggiornabile. Sono inclusi i moduli installati ma non caricati nella sessione corrente. I moduli di PowerShell vengono archiviati in una posizione elencata nella $env:PSModulePath variabile di ambiente. Per altre informazioni, vedere about_Updatable_Help.

È possibile usare il parametro Module per aggiornare i file della Guida per un modulo specifico. Usare il parametro UICulture per scaricare i file della Guida in più lingue e impostazioni locali.

È possibile usare Update-Help nei computer che non sono connessi a Internet. Usare il Save-Help cmdlet per scaricare i file della Guida da Internet e salvarli in un percorso del file system, ad esempio una cartella condivisa o una directory del file system. Usare quindi il parametro SourcePath di Update-Help per scaricare i file della Guida aggiornati da un percorso del file system e installarli nel computer.

È possibile automatizzare gli aggiornamenti della Guida aggiungendo il Update-Help cmdlet al profilo di PowerShell. Per impostazione predefinita, Update-Help viene eseguita una sola volta al giorno in ogni computer. Per eseguire l'override del limite di una volta al giorno, usare il parametro Force.

Il Update-Help cmdlet è stato introdotto in Windows PowerShell 3.0.

Importante

Update-Help richiede privilegi amministrativi.

Per aggiornare i file della Guida per i moduli di PowerShell Core, è necessario essere membri del gruppo Administrators nel computer.

Per scaricare o aggiornare i file della Guida per i moduli nella directory di installazione di PowerShell ($PSHOME\Modules), inclusi i moduli di PowerShell Core, avviare PowerShell usando l'opzione Esegui come amministratore. Ad esempio: Start-Process powershell.exe -Verb RunAs.

È anche possibile aggiornare i file della Guida usando la voce di menu Aggiorna Windows PowerShell Guida nel menu ? in Windows PowerShell Ambiente di scripting integrato (ISE).

L'elemento della Guida update Windows PowerShell esegue un Update-Help cmdlet senza parametri. Per aggiornare la Guida per i moduli nella $PSHOME directory, avviare Windows PowerShell ISE usando l'opzione Esegui come amministratore.

Esempio

Esempio 1: Aggiornare i file della Guida per tutti i moduli

Il Update-Help cmdlet aggiorna i file della Guida per i moduli installati che supportano la Guida aggiornabile. La lingua delle impostazioni cultura dell'interfaccia utente è impostata nel sistema operativo.

Update-Help

Esempio 2: Aggiornare i file della Guida per i moduli specificati

Il Update-Help cmdlet aggiorna i file della Guida solo per i nomi dei moduli che iniziano con Microsoft.PowerShell.

Update-Help -Module Microsoft.PowerShell*

Esempio 3: Aggiornare i file della Guida per lingue diverse

Il Update-Help cmdlet aggiorna i file della Guida giapponese (ja-JP) e inglese (en-US) per tutti i moduli.

Se un modulo non fornisce file della Guida per impostazioni cultura dell'interfaccia utente specificate, viene visualizzato un messaggio di errore per il modulo e le impostazioni cultura dell'interfaccia utente. In questo esempio, il messaggio di errore indica che i file della Guida ja-JP non sono stati trovati per il modulo Microsoft.PowerShell.Utility.

Update-Help -UICulture ja-JP, en-US

Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with UI culture(s) {ja-JP}
No UI culture was found that matches the following pattern: ja-JP.

Esempio 4: Aggiornare automaticamente i file della Guida

Questo esempio crea un processo pianificato che aggiorna la Guida per tutti i moduli ogni giorno alle 3:00.

$jobParams = @{
  Name = 'UpdateHelpJob'
  Credential = 'Domain01\User01'
  ScriptBlock = '{Update-Help}'
  Trigger = (New-JobTrigger -Daily -At "3 AM")
}
Register-ScheduledJob @jobParams

Id         Name            JobTriggers     Command                                  Enabled
--         ----            -----------     -------                                  -------
1          UpdateHelpJob   1               Update-Help                              True

Il Register-ScheduledJob cmdlet crea un processo pianificato che esegue un Update-Help comando. Il comando usa il parametro Credential per l'esecuzione Update-Help usando le credenziali di un membro del gruppo Administrators nel computer. Il valore del parametro Trigger è un comando che crea un New-JobTrigger trigger di processo che avvia il processo ogni giorno alle 3:00.

Per eseguire il Register-ScheduledJob comando, avviare PowerShell usando l'opzione Esegui come amministratore . PowerShell richiede la password dell'utente specificato nel parametro Credential . Le credenziali vengono archiviate con il processo pianificato. Non viene richiesto quando viene eseguito il processo.

È possibile usare il Get-ScheduledJob cmdlet per visualizzare il processo pianificato, usare il Set-ScheduledJob cmdlet per modificarlo e usare il Unregister-ScheduledJob cmdlet per eliminarlo. È anche possibile visualizzare e gestire il processo pianificato nell'Utilità di pianificazione nel percorso seguente:

Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs.

Esempio 5: Aggiornare i file della Guida in più computer da una condivisione file

In questo esempio i file della Guida aggiornati vengono scaricati da Internet e salvati in una condivisione file. Le credenziali utente sono necessarie per accedere alla condivisione file e installare gli aggiornamenti. Quando si usa una condivisione file, è possibile aggiornare i computer che si trovano dietro firewall o che non sono connessi a Internet.

PS> Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
PS> Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
     Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}

Il Save-Help comando scarica i file della Guida più recenti per tutti i moduli che supportano la Guida aggiornabile. Il parametro DestinationPath salva i file nella \\Server01\Share\PSHelp condivisione file. Il parametro Credential consente di specificare un utente autorizzato ad accedere alla condivisione file.

Il Invoke-Command cmdlet esegue comandi remoti Update-Help in più computer. Il parametro ComputerName ottiene un elenco di computer remoti dal file Servers.txt . Il parametro ScriptBlock esegue il comando e usa il Update-Help parametro SourcePath per specificare la condivisione file contenente i file della Guida aggiornati. Il parametro Credential specifica un utente che può accedere alla condivisione file ed eseguire il comando remoto Update-Help .

Esempio 6: Ottenere un elenco di file della Guida aggiornati

La Update-Help Guida degli aggiornamenti del cmdlet per un modulo specificato. Il cmdlet usa il parametro comune Verbose per visualizzare l'elenco dei file della Guida aggiornati. È possibile usare Verbose per visualizzare l'output per tutti i file della Guida o i file della Guida per un modulo specifico.

Senza il parametro Update-HelpVerbose non vengono visualizzati i risultati del comando. L'output dei parametri dettagliato è utile per verificare che i file della Guida siano stati aggiornati o se è installata la versione più recente.

Update-Help -Module Microsoft.PowerShell.Utility -Verbose

Esempio 7: Trovare moduli che supportano la Guida aggiornabile

In questo esempio sono elencati i moduli che supportano la Guida aggiornabile. Il comando usa la proprietà HelpInfoUri del modulo per identificare i moduli che supportano la Guida aggiornabile. La proprietà HelpInfoUri contiene un indirizzo reindirizzato quando viene eseguito il Update-Help cmdlet.

Get-Module -ListAvailable | Where-Object -Property HelpInfoUri

Directory: C:\program files\powershell\6\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   6.1.0.0    CimCmdlets                          Core      {Get-CimAssociatedInstance... }
Manifest   1.2.2.0    Microsoft.PowerShell.Archive        Desk      {Compress-Archive... }
Manifest   6.1.0.0    Microsoft.PowerShell.Diagnostics    Core      {Get-WinEvent, New-WinEvent}

    Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   2.0.1.0    Appx                                Core,Desk {Add-AppxPackage, ... }
Script     1.0.0.0    AssignedAccess                      Core,Desk {Clear-AssignedAccess, ... }
Manifest   1.0.0.0    BitLocker                           Core,Desk {Unlock-BitLocker, ... }

Esempio 8: File della Guida aggiornati dell'inventario

In questo esempio lo script Get-UpdateHelpVersion.ps1 crea un inventario dei file della Guida aggiornabili per ogni modulo e i relativi numeri di versione.

Lo script identifica i moduli che supportano la Guida aggiornabile usando la proprietà HelpInfoUri dei moduli. Per i moduli che supportano la Guida aggiornabile, lo script cerca e analizza il file di informazioni della Guida (*helpinfo.xml) per trovare il numero di versione più recente.

Lo script usa la classe PSCustomObject e una tabella hash per creare un oggetto di output personalizzato.

# Get-UpdateHelpVersion.ps1
Param(
    [parameter(Mandatory=$False)]
    [String[]]
    $Module
)
$HelpInfoNamespace = @{helpInfo='https://schemas.microsoft.com/powershell/help/2010/05'}

if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }

foreach ($mModule in $Modules)
{
    $mDir = $mModule.ModuleBase

    if (Test-Path $mdir\*helpinfo.xml)
    {
        $mName=$mModule.Name
        $mNodes = dir $mdir\*helpinfo.xml -ErrorAction SilentlyContinue |
            Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
        foreach ($mNode in $mNodes)
        {
            $mCulture=$mNode.Node.UICultureName
            $mVer=$mNode.Node.UICultureVersion

            [PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
        }
    }
}

ModuleName                              Culture                                 Version
----------                              -------                                 -------
ActiveDirectory                         en-US                                   3.0.0.0
ADCSAdministration                      en-US                                   3.0.0.0
ADCSDeployment                          en-US                                   3.0.0.0
ADDSDeployment                          en-US                                   3.0.0.0
ADFS                                    en-US                                   3.0.0.0

Parametri

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifica le credenziali di un utente che dispone dell'autorizzazione per accedere al percorso del file system specificato da SourcePath. Questo parametro è valido solo quando nel comando viene usato il parametro SourcePath o LiteralPath.

Il parametro Credential consente di eseguire Update-Help comandi con il parametro SourcePath nei computer remoti. Fornendo credenziali esplicite, è possibile eseguire il comando in un computer remoto e accedere a una condivisione file in un terzo computer senza riscontrare un errore di accesso negato o usando l'autenticazione CredSSP per delegare le credenziali.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Indica che questo cmdlet non segue la limitazione di una volta al giorno, ignora il controllo della versione e scarica i file che superano il limite di 1 GB.

Senza questo parametro, Update-Help viene eseguito una sola volta in ogni periodo di 24 ore. I download sono limitati a 1 GB di contenuto non compresso per modulo e i file della Guida vengono installati solo quando sono più recenti rispetto ai file esistenti nel computer.

Il limite di una volta al giorno protegge i server che ospitano i file della Guida e semplifica l'aggiunta di un Update-Help comando al profilo di PowerShell senza incorrere nel costo della risorsa di connessioni o download ripetuti.

Per aggiornare la Guida per un modulo con più impostazioni cultura dell'interfaccia utente senza il parametro Force, includere tutte le impostazioni cultura dell'interfaccia utente nello stesso comando, ad esempio:

Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedModule

Specifica i moduli con nomi specificati sotto forma di oggetti ModuleSpecification . Questi moduli sono descritti nella sezione Osservazioni del costruttore ModuleSpecification (Hashtable).These modules are described in the Remarks section of ModuleSpecification Constructor (Hashtable).

Ad esempio, il parametro FullyQualifiedModule accetta un nome di modulo specificato nel formato:

@{ModuleName = "modulename"; ModuleVersion = "version_number"}

oppure

@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}.

ModuleName e ModuleVersion sono obbligatori, mentre Guid è facoltativo.

Non è possibile specificare il parametro FullyQualifiedModule nello stesso comando di un parametro Module .

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Specifica la cartella per i file della Guida aggiornati anziché scaricarli da Internet. Usare questo parametro o SourcePath se è stato usato il Save-Help cmdlet per scaricare i file della Guida in una directory.

È possibile eseguire la Get-Item pipeline di un oggetto directory, ad esempio dai cmdlet o Get-ChildItem , a Update-Help.

A differenza del valore di SourcePath, il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Module

Aggiorna la Guida per i moduli specificati. Immettere uno o più nomi di modulo o modelli di nome in un elenco delimitato da virgole oppure specificare un file che elenca un nome di modulo in ogni riga. I caratteri jolly sono consentiti. È possibile eseguire la Get-Module pipeline dei moduli dal cmdlet al Update-Help cmdlet .

I moduli specificati devono essere installati nel computer, ma non devono essere importati nella sessione corrente. È possibile specificare qualsiasi modulo nella sessione o in qualsiasi modulo installato in un percorso elencato nella $env:PSModulePath variabile di ambiente.

Il valore (tutti) tenta di * aggiornare la Guida per tutti i moduli installati nel computer. Sono inclusi i moduli che non supportano la Guida aggiornabile. Questo valore può generare errori quando il comando rileva moduli che non supportano la Guida aggiornabile. Eseguire invece Update-Help senza parametri.

Il parametro Module del Update-Help cmdlet non accetta il percorso completo di un file di modulo o di un file manifesto del modulo. Per aggiornare la Guida per un modulo che non si trova in un $env:PSModulePath percorso, importare il modulo nella sessione corrente prima di eseguire il Update-Help comando.

Type:String[]
Aliases:Name
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Recurse

Esegue una ricerca ricorsiva per i file della Guida nella directory specificata. Questo parametro è valido solo quando il comando usa il parametro SourcePath .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourcePath

Specifica una cartella del file system in cui Update-Help vengono aggiornati i file della Guida, anziché scaricarli da Internet. Immettere il percorso di una cartella. Non specificare un nome file o un'estensione del nome file. È possibile eseguire la pipeline di una cartella, ad esempio uno dai Get-Item cmdlet o Get-ChildItem , a Update-Help.

Per impostazione predefinita, Update-Help scarica i file della Guida aggiornati da Internet. Usare SourcePath quando è stato usato il Save-Help cmdlet per scaricare i file della Guida aggiornati in una directory.

Per specificare un valore predefinito per SourcePath, passare a Criteri di gruppo, Configurazione computer e Impostare il percorso di origine predefinito per Update-Help. Questa impostazione di Criteri di gruppo impedisce agli utenti di usare Update-Help per scaricare i file della Guida da Internet. Per altre informazioni, vedere Informazioni sulle impostazioni di Criteri di gruppo.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UICulture

Specifica i valori delle impostazioni cultura dell'interfaccia utente usati Update-Help per ottenere i file della Guida aggiornati. Immettere uno o più codici di lingua, ad esempio es-ES, una variabile che contiene oggetti impostazioni cultura o un comando che ottiene oggetti cultura, ad esempio un Get-Culture comando o Get-UICulture . I caratteri jolly non sono consentiti e non è possibile inviare un codice di lingua parziale, ad esempio de.

Per impostazione predefinita, Update-Help ottiene i file della Guida nelle impostazioni cultura dell'interfaccia utente impostate per il sistema operativo. Se si specifica il parametro UICulture , Update-Help cerca la Guida solo per le impostazioni cultura dell'interfaccia utente specificate.

I comandi che usano il parametro UICulture abbia riescono solo quando il modulo fornisce file della Guida per le impostazioni cultura dell'interfaccia utente specificata. Se il comando ha esito negativo perché le impostazioni cultura dell'interfaccia utente specificate non sono supportate, viene visualizzato un messaggio di errore.

Type:CultureInfo[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredentials

Indica che Update-Help esegue il comando, incluso il download internet, usando le credenziali dell'utente corrente. Per impostazione predefinita, il comando viene eseguito senza credenziali esplicite.

Questo parametro è valido solo quando il download Web usa NT LAN Manager (NTLM), negotiate o autenticazione basata su Kerberos.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

DirectoryInfo

È possibile inviare tramite pipe un percorso di directory a Update-Help.

PSModuleInfo

È possibile inviare tramite pipe un oggetto modulo dal Get-Module cmdlet a Update-Help.

Output

None

Update-Help non genera alcun output.

Note

Per aggiornare la Guida per i moduli di PowerShell Core, che contengono i comandi installati con PowerShell o qualsiasi modulo nella $PSHOME\Modules directory, avviare PowerShell con l'opzione Esegui come amministratore.

Solo i membri del gruppo Administrators nel computer possono aggiornare la Guida per i moduli di PowerShell Core, i comandi installati insieme a PowerShell e per i moduli nella $PSHOME\Modules cartella . Se non si dispone dell'autorizzazione per aggiornare i file della Guida, è possibile leggere i file della Guida online. Ad esempio: Get-Help Update-Help -Online.

I moduli sono l'unità minima della Guida aggiornabile. Non è possibile aggiornare la Guida per un determinato cmdlet. Per trovare il modulo che contiene un cmdlet specifico, utilizzare la proprietà ModuleName del Get-Command cmdlet, (Get-Command Update-Help).ModuleNamead esempio .

Poiché i file della Guida vengono installati nella directory del modulo, il Update-Help cmdlet può installare il file della Guida aggiornato solo per i moduli installati nel computer. Tuttavia, il Save-Help cmdlet può salvare la Guida per i moduli non installati nel computer.

Se Update-Help non riesce a trovare i file della Guida aggiornati per un modulo o non riesce a trovare la Guida aggiornata nella lingua specificata, continua automaticamente senza visualizzare un messaggio di errore. Per visualizzare i dettagli relativi a stato e avanzamento, usare il parametro Verbose.

Il Update-Help cmdlet è stato introdotto in Windows PowerShell 3.0. Non funziona nelle versioni precedenti di Windows PowerShell. Nei computer con Windows PowerShell 2.0 e Windows PowerShell 3.0, usare il Update-Help cmdlet in una sessione Windows PowerShell 3.0 per scaricare e aggiornare i file della Guida. I file della Guida sono disponibili sia per Windows PowerShell 2.0 che per Windows PowerShell 3.0.

I Update-Help cmdlet e Save-Help usano le porte seguenti per scaricare i file della Guida: Porta 80 per HTTP e porta 443 per HTTPS.

Update-Help supporta tutti i moduli e gli snap-in di PowerShell Core. Non supporta altri snap-in.

Per aggiornare la Guida per un modulo in un percorso non elencato nella $env:PSModulePath variabile di ambiente, importare il modulo nella sessione corrente e quindi eseguire un Update-Help comando. Eseguire Update-Help senza parametri o usare il parametro Module per specificare il nome del modulo. Il parametro Module dei Update-Help cmdlet e Save-Help non accetta il percorso completo di un file di modulo o di un file manifesto del modulo.

Qualsiasi modulo può supportare la Guida aggiornabile. Per istruzioni sul supporto della Guida aggiornabile nei moduli creati, vedere Supporto della Guida aggiornabile.

I Update-Help cmdlet e Save-Help non sono supportati in Ambiente preinstallazione di Windows (Windows PE).