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. Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

A partire da Windows PowerShell 4.0, è possibile usare Save-Help per scaricare i file della Guida per i moduli installati nei computer remoti. È anche possibile salvare un oggetto PSModuleInfo usando Export-Clixml in un computer che non ha accesso a Internet, importare l'oggetto in un computer che dispone dell'accesso a Internet e quindi eseguirlo Save-Help nell'oggetto PSModuleInfo . Dopo aver salvato la Guida, è possibile copiarla nel computer remoto e installarla eseguendo Update-Help. Questo processo può essere usato per installare la Guida nei computer che non dispongono di alcun tipo di accesso alla rete.

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 il contenuto scaricato, anziché estrarre i file della Guida e installarli nel computer.

La Guida salvata per ogni modulo è costituita da un file di informazioni della Guida (HelpInfo XML) e da un archivio CAB o ZIP (.cab o .zip) per i file della Guida in ogni lingua. In Windows il comando scarica i file CAB. In Linux e macOS il comando scarica i file ZIP.

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 questi moduli, è necessario essere membri del gruppo Administrators nel computer.

Per installare i file della Guida salvati, eseguire Update-Help con il parametro SourcePath per specificare la cartella contenente i file della Guida salvati. Update-Help estrae i file della Guida dall'archivio e li installa nel percorso appropriato.

Esempio

Esempio 1: Salvare la Guida per il modulo DhcpServer

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.

# Option 1:
# 1. Run Invoke-Command to get the PSModuleInfo object for the DhcpServer module,
# 2. Save-Help on the PSModuleInfo object to save the help files to a folder on
#    the local computer.

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


# Option 2:
# 1. Open a PSSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object

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


# Option 3:
# 1. Open a CimSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$cimsession = New-CimSession -ComputerName "RemoteServer"
$mod = Get-Module -CimSession $cimsession -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath "C:\SavedHelp"

Esempio 2: Installare la Guida per il modulo DhcpServer

In questo esempio viene illustrato come installare la Guida per un computer che non è connesso alla rete. Per questo esempio, il primo computer non è connesso a una rete accessibile. I file devono essere copiati utilizzando supporti rimovibili. Il secondo computer è connesso a Internet e può scaricare i file della Guida.

# On the first computer, get the PSModuleInfo object for the module and save it to
# removable media.

Get-Module -Name "DhcpServer" -ListAvailable |
    Export-CliXml -Path E:\UsbFlashDrive\DhcpModule.xml

# Move the removable media to a computer that has internet access, and then import the
# PSModuleInfo object. Run Save-Help on the imported PSModuleInfo object and save the help
# files to the removable media.

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

# Finally, move the removable media back to the first computer and install the help.

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

Esempio 3: Salvare la Guida per tutti i moduli

Questo comando scarica i file della Guida più recenti per tutti i moduli nel computer locale. Salva i file della Guida nella \\Server01\Fileshare01 cartella .

Save-Help -DestinationPath \\Server01\FileShare01

Esempio 4: Salvare la Guida per un modulo nel computer

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

$saveHelpSplat = @{
    Module = 'ServerManager'
    DestinationPath = '\\Server01\FileShare01'
    Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat

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

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

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

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

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.

$saveHelpSplat = @{
    Module = 'Microsoft.PowerShell*'
    UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
    DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat

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

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.

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

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\User01oppure immettere un oggetto PSCredential generato dal cmdlet Get-Credential. 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.

Annotazioni

Per ulteriori informazioni sulla protezione dei dati di SecureString, vedere Quanto è sicuro 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 del nome 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 PSModulePath per il modulo specificato.

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 è interpretato come un carattere jolly. Se il percorso include caratteri di escape, racchiudilo 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 modelli di nome in un elenco delimitato da virgole o in un file con un nome di modulo in ogni riga. Sono consentiti caratteri jolly. È 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 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 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 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 comando Get-Culture 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 basata su NTLM, negotiate o 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 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 ogni modulo è costituita da un file di informazioni della Guida (HelpInfo XML) e da un file cab (.cab) per i file della Guida di ogni 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 riesce a trovare i file della Guida aggiornati per un modulo o non riesce a 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à più piccola 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 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 Update-Help cmdlet e Save-Help non sono supportati in Windows Preinstallation Environment (Windows PE).