Save-Help
Descarga y guarda los archivos de ayuda más recientes en un directorio del sistema de archivos.
Sintaxis
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>]
Description
El Save-Help
cmdlet descarga los archivos de ayuda más recientes para los módulos de PowerShell y los guarda en un directorio que especifique. Esta característica le permite actualizar los archivos de ayuda en equipos que no tienen acceso a Internet y facilita la actualización de los archivos de ayuda en varios equipos. Este cmdlet se introdujo en Windows PowerShell 3.0.
A partir de Windows PowerShell 4.0, puede usar Save-Help
para descargar archivos de ayuda para módulos instalados en equipos remotos. También es posible guardar un objeto PSModuleInfo mediante Export-Clixml
en un equipo que no tenga acceso a Internet, importar el objeto en un equipo que tenga acceso a Internet y, a continuación, ejecutarlo Save-Help
en el objeto PSModuleInfo . Una vez que tenga la ayuda guardada, puede copiarla en el equipo remoto e instalarla ejecutando Update-Help
.
Este proceso se puede usar para instalar ayuda en equipos que no tienen ningún tipo de acceso a la red.
Sin parámetros, un Save-Help
comando descarga la ayuda más reciente para todos los módulos de la sesión y para los módulos que se instalan en el equipo en una ubicación que aparece en la variable de entorno PSModulePath . Esta acción omite los módulos que no admiten ayuda actualizable sin advertencia.
El Save-Help
cmdlet comprueba la versión de los archivos de ayuda de la carpeta de destino. Si hay archivos de ayuda más recientes disponibles, este cmdlet descarga los archivos de ayuda más recientes de Internet y, a continuación, los guarda en la carpeta . El Save-Help
cmdlet funciona igual que el Update-Help
cmdlet, salvo que guarda el contenido descargado, en lugar de extraer los archivos de ayuda e instalarlos en el equipo.
La ayuda guardada para cada módulo consta de un archivo de información de ayuda (HelpInfo XML) y un archivo zip o contenedor (.cab
o .zip
) para los archivos de ayuda en cada idioma. En Windows, el comando descarga los archivos del gabinete. En Linux y macOS, el comando descarga archivos ZIP.
Para guardar los archivos de ayuda de los módulos en la carpeta de instalación de PowerShell ($PSHOME\Modules
), inicie PowerShell mediante la opción Ejecutar como administrador. Debe ser miembro del grupo Administradores del equipo para descargar los archivos de ayuda de estos módulos.
Para instalar archivos de ayuda guardados, ejecute Update-Help
con el parámetro SourcePath para especificar la carpeta que contiene los archivos de Ayuda guardados.
Update-Help
extrae los archivos de ayuda del archivo e los instala en la ubicación adecuada.
Ejemplos
Ejemplo 1: Guardar la ayuda para el módulo DhcpServer
En este ejemplo se muestran tres maneras diferentes de usar Save-Help
para guardar la ayuda del módulo DhcpServer desde un equipo cliente conectado a Internet, sin instalar el módulo DhcpServer ni el rol servidor DHCP en el equipo local.
# 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"
Ejemplo 2: Instalación de la ayuda para el módulo DhcpServer
En este ejemplo se muestra cómo instalar ayuda para un equipo que no está conectado a la red. En este ejemplo, el primer equipo no está conectado a una red accesible. Los archivos deben copiarse en él mediante medios extraíbles. El segundo equipo está conectado a Internet y puede descargar los archivos de ayuda.
# 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
Ejemplo 3: Guardar ayuda para todos los módulos
Este comando descarga los archivos de ayuda más recientes para todos los módulos del equipo local. Guarda los archivos de ayuda en la \\Server01\Fileshare01
carpeta .
Save-Help -DestinationPath \\Server01\FileShare01
Ejemplo 4: Guardar ayuda para un módulo en el equipo
Este comando descarga los archivos de ayuda más recientes para el módulo ServerManager y, a continuación, los guarda en la \\Server01\Fileshare01
carpeta .
$saveHelpSplat = @{
Module = 'ServerManager'
DestinationPath = '\\Server01\FileShare01'
Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat
Cuando se instala un módulo en el equipo, puede escribir el nombre del módulo como valor del parámetro Module , incluso si el módulo no se importa en la sesión actual.
El comando usa el parámetro Credential para proporcionar las credenciales de un usuario que tiene permiso para escribir en el recurso compartido de archivos.
Ejemplo 5: Guardar ayuda para un módulo en otro equipo
Estos comandos descargan los archivos de ayuda más recientes para el módulo CustomSQL y los guardan en la \\Server01\Fileshare01
carpeta .
Invoke-Command -ComputerName Server02 { Get-Module -Name CustomSQL -ListAvailable } |
Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
Dado que el módulo CustomSQL no está instalado en el equipo, la secuencia incluye un Invoke-Command
comando que obtiene el objeto de módulo para el módulo CustomSQL del equipo Server02 y, a continuación, canaliza el objeto de módulo al Save-Help
cmdlet .
Cuando un módulo no está instalado en el equipo, Save-Help
necesita el objeto module, que incluye información sobre la ubicación de los archivos de ayuda más recientes.
Ejemplo 6: Guardar ayuda para un módulo en varios idiomas
Este comando guarda ayuda para los módulos principales de PowerShell en cuatro referencias culturales de interfaz de usuario diferentes. Los paquetes de idioma de estas configuraciones regionales no tienen que instalarse en el equipo.
$saveHelpSplat = @{
Module = 'Microsoft.PowerShell*'
UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat
Save-Help
puede descargar archivos de ayuda para módulos en diferentes referencias culturales de la interfaz de usuario solo cuando el propietario del módulo hace que los archivos traducidos estén disponibles en Internet.
Ejemplo 7: Guardar ayuda más de una vez cada día
Este comando guarda la ayuda de todos los módulos instalados en el equipo. El comando especifica el parámetro Force para invalidar la regla que impide que el Save-Help
cmdlet descargue ayuda más de una vez en cada período de 24 horas.
Save-Help -Force -DestinationPath \\Server3\AdminShare\Help
El parámetro Force también invalida la restricción de 1 GB y evita la comprobación de versiones. Por lo tanto, puede descargar archivos incluso si la versión no es posterior a la versión de la carpeta de destino.
El comando usa el Save-Help
cmdlet para descargar y guardar los archivos de ayuda en la carpeta especificada.
El parámetro Force es necesario cuando tiene que ejecutar un comando más de una Save-Help
vez cada día.
Parámetros
-Credential
Especifica una credencial de usuario. Este cmdlet ejecuta el comando mediante credenciales de un usuario que tiene permiso para acceder a la ubicación del sistema de archivos especificada por el parámetro DestinationPath . Este parámetro solo es válido cuando se usa el parámetro DestinationPath o LiteralPath en el comando .
Este parámetro permite ejecutar Save-Help
comandos que usan el parámetro DestinationPath en equipos remotos. Al proporcionar credenciales explícitas, puede ejecutar el comando en un equipo remoto y acceder a un recurso compartido de archivos en un tercer equipo sin encontrar un error de acceso denegado o usar la autenticación CredSSP para delegar las credenciales.
Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential generado por el cmdlet Get-Credential
. Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.
Las credenciales se almacenan en un objeto PSCredential y la contraseña se almacena como SecureString.
Nota:
Para obtener más información sobre la protección de datos de SecureString, consulte ¿Qué tan segura es SecureString?.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DestinationPath
Especifica la ruta de acceso de la carpeta en la que se guardan los archivos de ayuda. No especifique un nombre de archivo ni una extensión de nombre de archivo.
Tipo: | String[] |
Alias: | Path |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Force
Indica que este cmdlet no sigue la limitación de una vez al día, omite la comprobación de versiones y descarga archivos que superan el límite de 1 GB.
Sin este parámetro, solo se permite un Save-Help
comando para cada módulo en cada período de 24 horas, las descargas se limitan a 1 GB de contenido sin comprimir por módulo y los archivos de ayuda de un módulo solo se instalan cuando son más recientes que los archivos del equipo.
El límite de una vez al día protege los servidores que hospedan los archivos de ayuda y le permite agregar un Save-Help
comando a su perfil de PowerShell.
Para guardar la ayuda de un módulo en varias referencias culturales de interfaz de usuario sin el parámetro Force , incluya todas las referencias culturales de la interfaz de usuario en el mismo comando, como: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-FullyQualifiedModule
El valor puede ser un nombre de módulo, una especificación de módulo completa o una ruta de acceso a un archivo de módulo.
Cuando el valor es una ruta de acceso, la ruta de acceso puede ser completa o relativa. Se resuelve una ruta de acceso relativa con respecto al script que contiene la instrucción using.
Cuando el valor es un nombre o especificación de módulo, PowerShell busca en el psModulePath para el módulo especificado.
Una especificación de módulo es una tabla hash que tiene las siguientes claves.
-
ModuleName
- Required Especifica el nombre del módulo. -
GUID
- opcional Especifica el GUID del módulo. - También es obligatorio especificar al menos una de las tres claves siguientes.
-
ModuleVersion
: especifica una versión mínima aceptable del módulo. -
MaximumVersion
: especifica la versión máxima aceptable del módulo. -
RequiredVersion
: especifica una versión exacta y necesaria del módulo. Esto no se puede usar con las otras claves de versión.
-
No se puede especificar el parámetro FullyQualifiedModule en el mismo comando que un parámetro Module. los dos parámetros son mutuamente excluyentes.
Tipo: | ModuleSpecification[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-LiteralPath
Especifica una ruta de acceso de la carpeta de destino. A diferencia del valor del parámetro DestinationPath , el valor del parámetro LiteralPath se usa exactamente como se escribe. Ningún carácter se interpreta como carácter comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Tipo: | String[] |
Alias: | PSPath, LP |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Module
Especifica los módulos para los que este cmdlet descarga ayuda. Escriba uno o varios nombres de módulo o patrones de nombre en una lista separada por comas o en un archivo que tenga un nombre de módulo en cada línea. Se permite el uso de caracteres comodín. También puede canalizar objetos de módulo desde el Get-Module
cmdlet a Save-Help
.
De forma predeterminada, Save-Help
descarga ayuda para todos los módulos que admiten ayuda actualizable y se instalan en el equipo local en una ubicación que aparece en la variable de entorno PSModulePath .
Para guardar la ayuda de los módulos que no están instalados en el equipo, ejecute un Get-Module
comando en un equipo remoto. A continuación, canalice los objetos de módulo resultantes al Save-Help
cmdlet o envíe los objetos de módulo como valor de los parámetros Module o InputObject .
Si el módulo que especifique está instalado en el equipo, puede escribir el nombre del módulo o un objeto de módulo. Si el módulo no está instalado en el equipo, debe escribir un objeto de módulo, como uno devuelto por el Get-Module
cmdlet .
El parámetro Module del cmdlet Save-Help
no acepta la ruta de acceso completa de un archivo de módulo o archivo de manifiesto de módulo. Para guardar la ayuda de un módulo que no está en una ubicación PSModulePath , importe el módulo en la sesión actual antes de ejecutar el Save-Help
comando.
Un valor de "*" (todos) intenta actualizar la ayuda de todos los módulos instalados en el equipo. Esto incluye módulos que no admiten ayuda actualizable. Este valor puede generar errores cuando el comando encuentra módulos que no admiten ayuda actualizable.
Tipo: | PSModuleInfo[] |
Alias: | Name |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | True |
-Scope
Este parámetro no hace nada en este cmdlet.
Tipo: | UpdateHelpScope |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-UICulture
Especifica los valores de referencia cultural de la interfaz de usuario para los que este cmdlet obtiene archivos de ayuda actualizados. Escriba uno o varios códigos de idioma, como es-ES
, una variable que contenga objetos de referencia cultural o un comando que obtenga objetos de referencia cultural, como un comando Get-Culture
o Get-UICulture
. No se admite el uso de caracteres comodín.
De forma predeterminada, Save-Help
obtiene archivos de ayuda en la referencia cultural de la interfaz de usuario establecida para el sistema operativo o su referencia cultural de reserva. Si especifica el parámetro UICulture, Save-Help
solo busca ayuda para el idioma especificado.
A partir de PowerShell 7.4, puede usar un código de idioma parcial, como en
para descargar ayuda en inglés para cualquier región.
Tipo: | CultureInfo[] |
Posición: | 2 |
Valor predeterminado: | Current UI culture |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UseDefaultCredentials
Indica que este cmdlet ejecuta el comando, incluida la descarga web, con las credenciales del usuario actual. De forma predeterminada, el comando se ejecuta sin credenciales explícitas.
Este parámetro solo es efectivo cuando la descarga web usa NTLM, negotiate o autenticación basada en Kerberos.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar un objeto de módulo a este cmdlet.
Salidas
None
Este cmdlet no devuelve ninguna salida.
Notas
- Para guardar la ayuda de los módulos en la carpeta $PSHOME\Modules, inicie PowerShell mediante la opción Ejecutar como administrador. Solo los miembros del grupo Administradores del equipo pueden descargar ayuda para los módulos de la carpeta $PSHOME\Modules.
- La ayuda guardada para cada módulo consta de un archivo de información de ayuda (HelpInfo XML) y un archivo de gabinete (.cab) para los archivos de ayuda de cada referencia cultural de la interfaz de usuario. No tiene que extraer los archivos de ayuda del archivo de gabinete. El
Update-Help
cmdlet extrae los archivos de ayuda, valida el XML y, a continuación, instala los archivos de ayuda y el archivo de información de ayuda en una subcarpeta específica del lenguaje de la carpeta del módulo. - El
Save-Help
cmdlet puede guardar la ayuda de los módulos que no están instalados en el equipo. Sin embargo, dado que los archivos de ayuda están instalados en la carpeta del módulo, el cmdlet puede instalar elUpdate-Help
archivo de ayuda actualizado solo para los módulos instalados en el equipo. - Si
Save-Help
no encuentra archivos de ayuda actualizados para un módulo o no encuentra archivos de ayuda actualizados en el idioma especificado, continúa silenciosamente sin mostrar un mensaje de error. Para ver qué archivos guardó el comando, especifique el parámetro Verbose . - Los módulos son la unidad más pequeña de ayuda actualizable. No puede guardar la ayuda de un cmdlet determinado, solo para todos los cmdlets del módulo. Para buscar el módulo que contiene un cmdlet determinado, use la propiedad ModuleName junto con el
Get-Command
cmdlet , por ejemplo,(Get-Command \<cmdlet-name\>).ModuleName
-
Save-Help
admite todos los módulos y los complementos principales de PowerShell. No admite ningún otro complemento. - Los cmdlets
Update-Help
ySave-Help
usan los siguientes puertos para descargar archivos de ayuda: Puerto 80 para HTTP y puerto 443 para HTTPS. - Los cmdlets
Update-Help
ySave-Help
no se admiten en el entorno de preinstalación de Windows (Windows PE).