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]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]

Descrizione

Il Save-Help cmdlet 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 del modulo remoto.

In Windows PowerShell 4.0 la proprietà HelpInfoUri viene mantenuta sulla comunicazione remota di PowerShell, che consente di Save-Help lavorare 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 che dispone dell'accesso a Internet e quindi eseguire Save-Help sull'oggetto PSModuleInfo . La Guida salvata può essere trasportata nel computer remoto usando supporti di archiviazione rimovibili, ad esempio un'unità USB. La Guida può essere installata 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 Update-Help cmdlet . Aggiungere il parametro SourcePath per specificare la cartella in cui sono stati salvati i file della Guida.

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

Il Save-Help cmdlet controlla la versione di tutti i 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 Save-Help cmdlet funziona esattamente come il Update-Help cmdlet, ad eccezione del fatto che salva i file cab (.cab) scaricati, anziché 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 Update-Help cmdlet 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 del linguaggio 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"

In questo esempio vengono illustrati tre modi diversi per salvare Save-Help 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 \\Server01\Fileshare01 cartella .

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 quindi li salva nella \\Server01\Fileshare01 cartella .

Quando un modulo viene 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 fornire le credenziali di un utente autorizzato a scrivere 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 \\Server01\Fileshare01 cartella .

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

Quando un modulo non è installato nel computer, Save-Help richiede l'oggetto modulo, che include informazioni sul percorso 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 principali 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 Save-Help cmdlet 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 Save-Help cmdlet per scaricare e salvare i file della Guida nella cartella specificata. Il parametro Force è obbligatorio quando è necessario eseguire un comando più di una Save-Help volta 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 Save-Help comandi 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.

Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential generato dal Get-Credential cmdlet. Se si digita un nome utente, viene richiesto di immettere la password.

Le credenziali vengono archiviate in un oggetto PSCredential e la password viene archiviata come SecureString.

Nota

Per altre informazioni sulla protezione dei dati SecureString , vedere How secure is SecureString?.

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:String[]
Alias:Path
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Indica che questo cmdlet non segue la limitazione 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 Save-Help solo comando per ogni modulo in ogni periodo di 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 dei file nel computer.

Il limite di una volta al giorno protegge i server che ospitano i file della Guida e semplifica l'aggiunta di un Save-Help comando 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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-FullyQualifiedModule

Il valore può essere un nome di modulo, una specifica completa del modulo o un percorso di un file di modulo.

Quando il valore è un percorso, il percorso può essere completo o relativo. Un percorso relativo viene risolto rispetto allo script che contiene l'istruzione using.

Quando il valore è un nome o una specifica del modulo, PowerShell cerca il modulo specificato in PSModulePath .

Una specifica del modulo è una tabella hash con le chiavi seguenti.

  • ModuleName - Obbligatorio Specifica il nome del modulo.
  • GUID - Facoltativo Specifica il GUID del modulo.
  • È anche obbligatorio specificare almeno una delle tre chiavi seguenti.
    • ModuleVersion - Specifica una versione minima accettabile del modulo.
    • MaximumVersion - Specifica la versione massima accettabile del modulo.
    • RequiredVersion - Specifica una versione esatta e obbligatoria del modulo. Non è possibile usare questa opzione con le altre chiavi di versione.

Non è possibile specificare il parametro FullyQualifiedModule nello stesso comando di un parametro Module . i due parametri si escludono a vicenda.

Tipo:ModuleSpecification[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly: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 tipizzato. 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.

Tipo:String[]
Alias:PSPath, LP
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly: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 gli oggetti modulo dal Get-Module cmdlet a Save-Help.

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

Per salvare la Guida per i moduli non installati nel computer, eseguire un Get-Module comando in un computer remoto. Inviare quindi tramite pipe gli oggetti modulo risultanti al Save-Help cmdlet o inviare gli oggetti modulo come valore dei parametri 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 modulo, ad esempio quello restituito dal Get-Module cmdlet .

Il parametro Module del Save-Help cmdlet 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 Save-Help comando.

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

Tipo:PSModuleInfo[]
Alias:Name
Posizione:1
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-Scope

Questo parametro non esegue alcuna operazione in questo cmdlet.

Tipo:UpdateHelpScope
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-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 contenente oggetti impostazioni cultura o un comando che ottiene oggetti impostazioni cultura, ad esempio un Get-Culture comando o Get-UICulture . I caratteri jolly non sono consentiti.

Per impostazione predefinita, Save-Help ottiene i file della Guida nelle impostazioni cultura dell'interfaccia utente impostate per il sistema operativo o le impostazioni cultura di fallback. Se si specifica il parametro UICulture , Save-Help cerca solo la guida per la lingua specificata.

A partire da PowerShell 7.4, è possibile usare un codice di lingua parziale, ad esempio en per scaricare la Guida in inglese per qualsiasi area.

Tipo:CultureInfo[]
Posizione:2
Valore predefinito:Current UI culture
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly: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.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSModuleInfo

È possibile inviare tramite pipe un oggetto modulo a questo cmdlet.

Output

None

Questo cmdlet non restituisce 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 Update-Help cmdlet 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 del linguaggio della cartella del modulo.
  • Il Save-Help cmdlet può salvare la Guida per i moduli non installati nel computer. Tuttavia, poiché i file della Guida sono installati nella cartella del modulo, il cmdlet può installare il Update-Help file della Guida aggiornato solo per i moduli installati nel computer.
  • Se Save-Help non è possibile trovare i file della Guida aggiornati per un modulo o non è possibile trovare i file della Guida aggiornati nella lingua specificata, continua automaticamente senza visualizzare un 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, usare la proprietà ModuleName insieme al Get-Command cmdlet , ad esempio (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help supporta tutti i moduli e gli snap-in di PowerShell principali. Non supporta altri snap-in.
  • 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.
  • I Update-Help cmdlet e Save-Help non sono supportati in Windows Preinstallation Environment (Windows PE).