Condividi tramite


Save-Help

Scarica e salva i file della Guida più recenti in una directory del file system.

Sintassi

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]

Descrizione

Il cmdlet Save-Help scarica i file della Guida più recenti per i moduli di PowerShell e li salva in una directory specificata. Questa funzionalità consente di aggiornare i file della Guida nei computer che non hanno accesso a Internet e semplifica l'aggiornamento dei file della Guida in più computer.

In Windows PowerShell 3.0, Save-Help funziona solo per i moduli installati nel computer locale. Sebbene sia stato possibile importare un modulo da un computer remoto o ottenere un riferimento a un oggetto PSModuleInfo da un computer remoto tramite la comunicazione remota di PowerShell, la proprietà HelpInfoUri non è stata mantenuta e Save-Help non funziona per la Guida remota del modulo.

In Windows PowerShell 4.0 la proprietà HelpInfoUri viene mantenuta tramite la comunicazione remota di PowerShell, che consente a Save-Help di funzionare per i moduli installati nei computer remoti. È anche possibile salvare un oggetto PSModuleInfo su disco o supporti rimovibili eseguendo Export-Clixml in un computer che non dispone di accesso a Internet, importare l'oggetto in un computer con accesso a Internet e quindi eseguire Save-Help nell'oggetto PSModuleInfo . La Guida salvata può essere trasportata nel computer remoto usando supporti di archiviazione rimovibili, ad esempio un'unità USB. È possibile installare la Guida nel computer remoto eseguendo Update-Help. Questo processo può essere usato per installare la Guida in computer privi di qualsiasi tipo di accesso alla rete.

Per installare i file della Guida salvati, eseguire il cmdlet Update-Help. Aggiungere il parametro SourcePath per specificare la cartella in cui sono stati salvati i file della Guida.

In assenza di parametri, un comando Save-Help scarica la Guida più recente per tutti i moduli nella sessione e per i moduli installati nel computer in un percorso indicato nella variabile di ambiente PSModulePath. Questa azione ignora i moduli che non supportano la Guida aggiornabile senza avviso.

Il cmdlet Save-Help controlla la versione dei file della Guida nella cartella di destinazione. Se sono disponibili file della Guida più recenti, questo cmdlet scarica i file della Guida più recenti da Internet e li salva nella cartella . Il cmdlet Save-Help funziona esattamente come il cmdlet Update-Help, ad eccezione del fatto che salva i file cab (.cab) scaricati, invece di estrarre i file della Guida dai file cab e installarli nel computer.

La Guida salvata per ciascun modulo è composta da un file XML di informazioni (HelpInfo) e da un file CAB per i file della Guida di ogni impostazione cultura dell'interfaccia utente. Non è necessario estrarre i file della Guida dal file CAB. Il cmdlet Update-Help estrae i file della Guida, convalida il codice XML per la sicurezza e quindi installa i file della Guida e il file di informazioni della Guida in una sottocartella specifica della lingua della cartella del modulo.

Per salvare i file della Guida per i moduli nella cartella di installazione di PowerShell ($pshome\Modules), avviare PowerShell usando l'opzione Esegui come amministratore. Per scaricare i file della Guida per tali moduli, è necessario essere membri del gruppo Administrators nel computer.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Salvare la Guida per il modulo DhcpServer

# Option 1: Run Invoke-Command to get the PSModuleInfo object for the remote DHCP Server module, save the PSModuleInfo object in the variable $m, and then run Save-Help.

$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock { Get-Module -Name DhcpServer -ListAvailable }
Save-Help -Module $m -DestinationPath "C:\SavedHelp"


# Option 2: Open a PSSession--targeted at the remote computer that is running the DhcpServer module--to get the PSModuleInfo object for the remote module, and then run Save-Help.

$s = New-PSSession -ComputerName "RemoteServer"
$m = Get-Module -PSSession $s -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"


# Option 3: Open a CIM session--targeted at the remote computer that is running the DhcpServer module--to get the PSModuleInfo object for the remote module, and then run Save-Help.

$c = New-CimSession -ComputerName "RemoteServer"
$m = Get-Module -CimSession $c -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"

Questo esempio illustra tre modi diversi per usare Save-Help per salvare la Guida per il modulo DhcpServer da un computer client connesso a Internet, senza installare il modulo DhcpServer o il ruolo Server DHCP nel computer locale.

Esempio 2: Installare la Guida per il modulo DhcpServer

# First, run Export-CliXml to export the PSModuleInfo object to a shared folder or to removable media.

$m = Get-Module -Name "DhcpServer" -ListAvailable
Export-CliXml -Path "E:\UsbFlashDrive\DhcpModule.xml" -InputObject $m

# Next, transport the removable media to a computer that has Internet access, and then import the PSModuleInfo object with Import-CliXml. Run Save-Help to save the Help for the imported DhcpServer module PSModuleInfo object.

$deserialized_m = Import-CliXml "E:\UsbFlashDrive\DhcpModule.xml"
Save-Help -Module $deserialized_m -DestinationPath "E:\UsbFlashDrive\SavedHelp"

# Finally, transport the removable media back to the computer that does not have network access, and then install the help by running Update-Help.

Update-Help -Module DhcpServer -SourcePath "E:\UsbFlashDrive\SavedHelp"

In questo esempio viene illustrato come installare la Guida salvata nell'esempio 1 per il modulo DhcpServer in un computer che non dispone dell'accesso a Internet.

Esempio 3: Salvare la Guida per tutti i moduli

Save-Help -DestinationPath "\\Server01\FileShare01"

Questo comando scarica i file della Guida più recenti per tutti i moduli con le impostazioni cultura dell'interfaccia utente configurate per Windows nel computer locale. Salva i file della Guida nella cartella \\Server01\Fileshare01.

Esempio 4: Salvare la Guida per un modulo nel computer

Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01

Questo comando scarica i file della Guida più recenti per il modulo ServerManager e li salva nella cartella \\Server01\Fileshare01.

Quando un modulo è installato nel computer, è possibile digitare il nome del modulo come valore del parametro Module, anche se il modulo non viene importato nella sessione corrente.

Il comando usa il parametro Credential per specificare le credenziali di un utente che dispone dell'autorizzazione di scrittura nella condivisione file.

Esempio 5: Salvare la Guida per un modulo in un computer diverso

Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01

Questi comandi scaricano i file della Guida più recenti per il modulo CustomSQL e li salvano nella cartella \\Server01\Fileshare01.

Poiché il modulo CustomSQL non è installato nel computer, la sequenza include un comando Invoke-Command che ottiene l'oggetto modulo per il modulo CustomSQL dal computer Server02 e quindi invia tramite pipe l'oggetto modulo al cmdlet Save-Help .

Quando un modulo non è installato nel computer, Save-Help richiede l'oggetto modulo, che include informazioni sulla posizione dei file della Guida più recenti.

Esempio 6: Salvare la Guida per un modulo in più lingue

Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"

Questo comando salva la Guida per i moduli di PowerShell Core in quattro diverse impostazioni cultura dell'interfaccia utente. I Language Pack per queste impostazioni locali non devono essere installati nel computer.

Save-Help può scaricare i file della Guida per i moduli in impostazioni cultura dell'interfaccia utente diverse solo quando il proprietario del modulo rende disponibili i file tradotti su Internet.

Esempio 7: Salvare la Guida più volte ogni giorno

Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"

Questo comando salva la Guida per tutti i moduli installati nel computer. Il comando specifica il parametro Force per eseguire l'override della regola che impedisce al cmdlet Save-Help di scaricare la Guida più volte in ogni periodo di 24 ore.

Il parametro Force esegue anche l'override della restrizione di 1 GB e ignora il controllo della versione. Pertanto, è possibile scaricare i file anche se la versione non è successiva alla versione nella cartella di destinazione.

Il comando usa il cmdlet Save-Help per scaricare e salvare i file della Guida nella cartella specificata. Il parametro Force è obbligatorio quando è necessario eseguire un comando Save-Help più volte ogni giorno.

Parametri

-Credential

Specifica una credenziale utente. Questo cmdlet esegue il comando usando le credenziali di un utente che dispone dell'autorizzazione per accedere al percorso del file system specificato dal parametro DestinationPath . Questo parametro è valido solo quando il parametro DestinationPath o LiteralPath viene usato nel comando .

Questo parametro consente di eseguire i comandi Save-Help che usano il parametro DestinationPath 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

-DestinationPath

Specifica il percorso della cartella in cui vengono salvati i file della Guida. Non specificare un nome file o un'estensione di file.

Type:String[]
Position:0
Default value:None
Required:True
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, è consentito un solo comando Save-Help ogni 24 ore, i download sono limitati a 1 GB di contenuto non compresso per modulo e i file della Guida per un modulo vengono installati solo quando sono più recenti rispetto a quelli presenti nel computer.

Il limite di una volta al giorno protegge i server che ospitano i file della Guida e semplifica l'aggiunta di un comando Save-Help al profilo di PowerShell.

Per salvare la Guida per un modulo in più impostazioni cultura dell'interfaccia utente senza il parametro Force , includere tutte le impostazioni cultura dell'interfaccia utente nello stesso comando, ad esempio: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

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

-FullyQualifiedModule

Specifica i moduli con nomi specificati sotto forma di oggetti ModuleSpecification. Questa operazione è descritta nella sezione Osservazioni del costruttore ModuleSpecification (Hashtable) in MSDN Library. Ad esempio, il parametro FullyQualifiedModule accetta un nome di modulo specificato nel formato @{ModuleName = "modulename"; ModuleVersion = "version_number"} o @{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 un percorso della cartella di destinazione. A differenza del valore del parametro DestinationPath , il valore del parametro 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:True
Accept pipeline input:False
Accept wildcard characters:False

-Module

Specifica i moduli per i quali questo cmdlet scarica la Guida. Immettere uno o più nomi di modulo o virgola in un elenco delimitato da virgole o in un file con un nome di modulo in ogni riga. I caratteri jolly sono consentiti. È anche possibile inviare tramite pipe oggetti modulo dal cmdlet Get-Module a Save-Help.

Per impostazione predefinita, Save-Help scarica tutti i moduli che supportano la Guida aggiornabile e che sono installati nel computer locale in un percorso indicato nella variabile di ambiente PSModulePath.

Per salvare la Guida per i moduli non installati nel computer, eseguire un comando Get-Module in un computer remoto. Quindi inviare tramite pipe gli oggetti modulo al cmdlet Save-Help o inviare gli oggetti modulo come valore del parametro Module o InputObject.

Se il modulo specificato è installato nel computer, è possibile immettere il nome del modulo o un oggetto del modulo. Se il modulo non è installato nel computer, è necessario immettere un oggetto del modulo, ad esempio un oggetto restituito dal cmdlet Get-Module.

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

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 potrebbe generare errori quando il comando rileva i moduli che non supportano la Guida aggiornabile.

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

-UICulture

Specifica i valori delle impostazioni cultura dell'interfaccia utente per i quali questo cmdlet ottiene i file della Guida aggiornati. Immettere uno o più codici di lingua, ad esempio es-ES, una variabile che contiene oggetti cultura o un comando che ottiene oggetti cultura, ad esempio un comando Get-Culture o Get-UICulture.

I caratteri jolly non sono consentiti. Non specificare un codice di linguaggio parziale, ad esempio "de".

Per impostazione predefinita, Save-Help ottiene i file della Guida nelle impostazioni cultura dell'interfaccia utente impostate per Windows o le relative impostazioni cultura di fallback. Se si specifica il parametro UICulture , Save-Help cerca assistenza solo per le impostazioni cultura dell'interfaccia utente specificate, non in alcuna cultura di fallback.

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

-UseDefaultCredentials

Indica che questo cmdlet esegue il comando, incluso il download Web, con le credenziali dell'utente corrente. Per impostazione predefinita, il comando viene eseguito senza credenziali esplicite.

Questo parametro è efficace solo quando il download Web usa l'autenticazione NTLM, con negoziazione o basata su Kerberos.

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

Input

PSModuleInfo

È possibile inviare tramite pipe un oggetto modulo dal cmdlet Get-Module al parametro Module di Save-Help.

Output

None

Questo cmdlet non genera alcun output.

Note

  • Per salvare la Guida per i moduli nella cartella $pshome\Modules, avviare PowerShell usando l'opzione Esegui come amministratore. Solo i membri del gruppo Administrators nel computer possono scaricare la Guida per i moduli nella cartella $pshome\Modules.
  • La Guida salvata per ciascun modulo è composta da un file XML di informazioni (HelpInfo) e da un file CAB per i file della Guida di ogni impostazione cultura dell'interfaccia utente. Non è necessario estrarre i file della Guida dal file CAB. Il cmdlet Update-Help estrae i file della Guida, convalida il codice XML e quindi installa i file della Guida e il file di informazioni della Guida in una sottocartella specifica della lingua della cartella del modulo.
  • Il cmdlet Save-Help consente di salvare la Guida per i moduli che non sono installati nel computer. Tuttavia, poiché i file della Guida sono installati nella cartella del modulo, il cmdlet Update-Help può installare il file della Guida aggiornato solo per i moduli installati nel computer.
  • Se Save-Help non trova file della Guida aggiornati per un modulo o nella lingua specificata, continua automaticamente senza visualizzare alcun messaggio di errore. Per visualizzare i file salvati dal comando, specificare il parametro Verbose .
  • I moduli sono l'unità minima della Guida aggiornabile. Non è possibile salvare la Guida per un cmdlet specifico, solo per tutti i cmdlet nel modulo. Per trovare il modulo che contiene un cmdlet specifico, utilizzare la proprietà ModuleName insieme al cmdlet Get-Command, ad esempio (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help supporta tutti i moduli e gli snap-in di PowerShell Core. Non supporta altri snap-in.
  • I cmdlet Update-Help e Save-Help usano le porte seguenti per scaricare i file della Guida: Porta 80 per HTTP e porta 443 per HTTPS.
  • I cmdlet Update-Help e Save-Help non sono supportati in Ambiente preinstallazione di Windows (Windows PE).