Ler em inglês

Compartilhar via


Save-Help

Baixa e salva os arquivos de ajuda mais recentes em um diretório do sistema de arquivos.

Sintaxe

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

Description

O cmdlet Save-Help baixa os arquivos de ajuda mais recentes para módulos do PowerShell e os salva em um diretório que você especificar. Esse recurso permite que você atualize os arquivos de ajuda em computadores que não têm acesso à Internet e facilita a atualização dos arquivos de ajuda em vários computadores. Esse cmdlet foi introduzido no Windows PowerShell 3.0.

A partir do Windows PowerShell 4.0, você pode usar Save-Help para baixar arquivos de ajuda para módulos instalados em computadores remotos. Também é possível salvar um objeto PSModuleInfo usando Export-Clixml em um computador que não tenha acesso à Internet, importar o objeto em um computador que tenha acesso à Internet e, em seguida, executar Save-Help no objeto PSModuleInfo. Depois de ter a ajuda salva, você pode copiá-la para o computador remoto e instalá-la executando Update-Help. Esse processo pode ser usado para instalar ajuda em computadores que não têm nenhum tipo de acesso à rede.

Sem parâmetros, um comando Save-Help baixa a ajuda mais recente para todos os módulos na sessão e para módulos instalados no computador em um local listado no PSModulePath variável de ambiente. Essa ação ignora módulos que não dão suporte à Ajuda Atualizável sem aviso.

O cmdlet Save-Help verifica a versão de todos os arquivos de ajuda na pasta de destino. Se os arquivos de ajuda mais recentes estiverem disponíveis, esse cmdlet baixará os arquivos de ajuda mais recentes da Internet e os salvará na pasta. O cmdlet Save-Help funciona exatamente como o cmdlet Update-Help, exceto pelo fato de salvar o conteúdo baixado, em vez de extrair os arquivos de ajuda e instalá-los no computador.

A ajuda salva para cada módulo consiste em um arquivo de informações de ajuda (HelpInfo XML) e um arquivo zip ou gabinete (.cab ou .zip) para os arquivos de ajuda em cada idioma. No Windows, o comando baixa os arquivos do gabinete. No Linux e no macOS, o comando baixa arquivos ZIP.

Para salvar os arquivos de ajuda para módulos na pasta de instalação do PowerShell ($PSHOME\Modules), inicie o PowerShell usando a opção executar como administrador . Você deve ser membro do grupo Administradores no computador para baixar os arquivos de ajuda desses módulos.

Para instalar arquivos de ajuda salvos, execute Update-Help com o parâmetro SourcePath para especificar a pasta que contém os arquivos de Ajuda salvos. Update-Help extrai os arquivos de ajuda do arquivo morto e os instala no local apropriado.

Exemplos

Exemplo 1: salvar a ajuda para o módulo DhcpServer

Este exemplo mostra três maneiras diferentes de usar Save-Help para salvar a ajuda do módulo DhcpServer de um computador cliente conectado à Internet, sem instalar o módulo dhcpServer ou a função de servidor DHCP no computador local.

PowerShell
# 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"

Exemplo 2: Instalar ajuda para o módulo DhcpServer

Este exemplo mostra como instalar a ajuda de um computador que não está conectado à rede. Para este exemplo, o primeiro computador não está conectado a uma rede acessível. Os arquivos devem ser copiados para ele usando mídia removível. O segundo computador está conectado à Internet e pode baixar os arquivos de ajuda.

PowerShell
# 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

Exemplo 3: Salvar ajuda para todos os módulos

Esse comando baixa os arquivos de ajuda mais recentes para todos os módulos no computador local. Ele salva os arquivos de ajuda na pasta \\Server01\Fileshare01.

PowerShell
Save-Help -DestinationPath \\Server01\FileShare01

Exemplo 4: Salvar ajuda para um módulo no computador

Esse comando baixa os arquivos de ajuda mais recentes para o módulo ServerManager e os salva na pasta \\Server01\Fileshare01.

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

Quando um módulo é instalado no computador, você pode digitar o nome do módulo como o valor do parâmetro Module, mesmo que o módulo não seja importado para a sessão atual.

O comando usa o parâmetro Credential para fornecer as credenciais de um usuário que tem permissão para gravar no compartilhamento de arquivos.

Exemplo 5: Salvar ajuda para um módulo em um computador diferente

Esses comandos baixam os arquivos de ajuda mais recentes para o módulo CustomSQL e os salvam na pasta \\Server01\Fileshare01.

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

Como o módulo CustomSQL não está instalado no computador, a sequência inclui um comando Invoke-Command que obtém o objeto de módulo do módulo CustomSQL do computador Server02 e, em seguida, redireciona o objeto do módulo para o cmdlet Save-Help.

Quando um módulo não está instalado no computador, Save-Help precisa do objeto do módulo, que inclui informações sobre o local dos arquivos de ajuda mais recentes.

Exemplo 6: Salvar ajuda para um módulo em vários idiomas

Esse comando salva a ajuda para os principais módulos do PowerShell em quatro culturas de interface do usuário diferentes. Os pacotes de idiomas para essas localidades não precisam ser instalados no computador.

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

Save-Help pode baixar arquivos de ajuda para módulos em diferentes culturas de interface do usuário somente quando o proprietário do módulo disponibiliza os arquivos traduzidos na Internet.

Exemplo 7: Salvar ajuda mais de uma vez por dia

Esse comando salva a ajuda para todos os módulos instalados no computador. O comando especifica o parâmetro Force para substituir a regra que impede que o cmdlet Save-Help baixe ajuda mais de uma vez em cada período de 24 horas.

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

O parâmetro Force também substitui a restrição de 1 GB e contorna a verificação de versão. Portanto, você pode baixar arquivos mesmo se a versão não for posterior à versão na pasta de destino.

O comando usa o cmdlet Save-Help para baixar e salvar os arquivos de ajuda na pasta especificada. O parâmetro Force é necessário quando você precisa executar um comando Save-Help mais de uma vez por dia.

Parâmetros

-Credential

Especifica uma credencial de usuário. Esse cmdlet executa o comando usando credenciais de um usuário que tem permissão para acessar o local do sistema de arquivos especificado pelo parâmetro DestinationPath. Esse parâmetro é válido somente quando o parâmetro DestinationPath ou literalPath é usado no comando.

Esse parâmetro permite executar comandos Save-Help que usam o parâmetro DestinationPath em computadores remotos. Ao fornecer credenciais explícitas, você pode executar o comando em um computador remoto e acessar um compartilhamento de arquivos em um terceiro computador sem encontrar um erro de acesso negado ou usar a autenticação CredSSP para delegar credenciais.

Digite um nome de usuário, como user01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo cmdlet Get-Credential. Se você digitar um nome de usuário, será solicitado que você insira a senha.

As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.

Observação

Para obter mais informações sobre proteção de dados SecureString, consulte Quão seguro é SecureString?.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DestinationPath

Especifica o caminho da pasta na qual os arquivos de ajuda são salvos. Não especifique um nome de arquivo ou uma extensão de nome de arquivo.

Tipo:String[]
Aliases:Path
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Indica que esse cmdlet não segue a limitação de uma vez por dia, ignora a verificação de versão e baixa arquivos que excedem o limite de 1 GB.

Sem esse parâmetro, apenas um comando Save-Help para cada módulo é permitido em cada período de 24 horas, os downloads são limitados a 1 GB de conteúdo não compactado por módulo e os arquivos de ajuda para um módulo são instalados somente quando são mais recentes do que os arquivos no computador.

O limite uma vez por dia protege os servidores que hospedam os arquivos de ajuda e torna prático adicionar um comando Save-Help ao seu perfil do PowerShell.

Para salvar a ajuda de um módulo em várias culturas de interface do usuário sem o parâmetro Force, inclua todas as culturas de interface do usuário no mesmo comando, como: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-FullyQualifiedModule

O valor pode ser um nome de módulo, uma especificação de módulo completa ou um caminho para um arquivo de módulo.

Quando o valor é um caminho, o caminho pode ser totalmente qualificado ou relativo. Um caminho relativo é resolvido em relação ao script que contém a instrução using.

Quando o valor é uma especificação de nome ou módulo, o PowerShell pesquisa o PSModulePath para o módulo especificado.

Uma especificação de módulo é um hashtable que tem as seguintes chaves.

  • ModuleName - necessário especifica o nome do módulo.
  • GUID - opcional especifica o GUID do módulo.
  • Também é necessário para especificar pelo menos uma das três chaves abaixo.
    • ModuleVersion – especifica uma versão mínima aceitável do módulo.
    • MaximumVersion – especifica a versão máxima aceitável do módulo.
    • RequiredVersion – especifica uma versão exata e necessária do módulo. Isso não pode ser usado com as outras chaves de versão.

Não é possível especificar o parâmetro FullyQualifiedModule no mesmo comando que um parâmetro do Módulo. os dois parâmetros são mutuamente exclusivos.

Tipo:ModuleSpecification[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-LiteralPath

Especifica um caminho da pasta de destino. Ao contrário do valor do parâmetro DestinationPath, o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Tipo:String[]
Aliases:PSPath, LP
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Module

Especifica os módulos para os quais esse cmdlet baixa ajuda. Insira um ou mais nomes de módulo ou patters de nome em uma lista separada por vírgulas ou em um arquivo que tenha um nome de módulo em cada linha. Caracteres curinga são permitidos. Você também pode canalizar objetos de módulo do cmdlet Get-Module para Save-Help.

Por padrão, Save-Help baixa a ajuda para todos os módulos que dão suporte à Ajuda Atualizável e são instalados no computador local em um local listado na variável de ambiente PSModulePath.

Para salvar a ajuda de módulos que não estão instalados no computador, execute um comando Get-Module em um computador remoto. Em seguida, encaminhe os objetos de módulo resultantes para o cmdlet Save-Help ou envie os objetos do módulo como o valor dos parâmetros do Módulo ou InputObject.

Se o módulo especificado estiver instalado no computador, você poderá inserir o nome do módulo ou um objeto de módulo. Se o módulo não estiver instalado no computador, você deverá inserir um objeto de módulo, como um retornado pelo cmdlet Get-Module.

O módulo parâmetro do cmdlet Save-Help não aceita o caminho completo de um arquivo de módulo ou arquivo de manifesto do módulo. Para salvar a ajuda de um módulo que não está em um PSModulePath local, importe o módulo para a sessão atual antes de executar o comando Save-Help.

Um valor de "*" (todos) tenta atualizar a ajuda para todos os módulos instalados no computador. Isso inclui módulos que não dão suporte à Ajuda Atualizável. Esse valor pode gerar erros quando o comando encontrar módulos que não dão suporte à Ajuda Atualizável.

Tipo:PSModuleInfo[]
Aliases:Name
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:True

-Scope

Esse parâmetro não faz nada neste cmdlet.

Tipo:UpdateHelpScope
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-UICulture

Especifica os valores de cultura da interface do usuário para os quais esse cmdlet obtém arquivos de ajuda atualizados. Insira um ou mais códigos de idioma, como es-ES, uma variável que contém objetos de cultura ou um comando que obtém objetos de cultura, como um comando Get-Culture ou Get-UICulture. Não são permitidos caracteres curinga.

Por padrão, Save-Help obtém arquivos de ajuda na cultura da interface do usuário definida para o sistema operacional ou sua cultura de fallback. Se você especificar o parâmetro UICulture, Save-Help procurará apenas ajuda para o idioma especificado.

A partir do PowerShell 7.4, você pode usar um código de idioma parcial, como en para baixar ajuda em inglês para qualquer região.

Tipo:CultureInfo[]
Cargo:2
Valor padrão:Current UI culture
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseDefaultCredentials

Indica que esse cmdlet executa o comando, incluindo o download da Web, com as credenciais do usuário atual. Por padrão, o comando é executado sem credenciais explícitas.

Esse parâmetro só é eficaz quando o download da Web usa autenticação baseada em NTLM, negociação ou Kerberos.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSModuleInfo

Você pode canalizar um objeto de módulo para este cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.

Observações

  • Para salvar a ajuda para módulos na pasta $PSHOME\Modules, inicie o PowerShell usando a opção Executar como administrador. Somente os membros do grupo Administradores no computador podem baixar a ajuda para módulos na pasta $PSHOME\Modules.
  • A ajuda salva para cada módulo consiste em um arquivo de ajuda (HelpInfo XML) e um arquivo de gabinete (.cab) para os arquivos de ajuda de cada cultura da interface do usuário. Você não precisa extrair os arquivos de ajuda do arquivo do gabinete. O cmdlet Update-Help extrai os arquivos de ajuda, valida o XML e instala os arquivos de ajuda e o arquivo de informações de ajuda em uma subpasta específica do idioma da pasta do módulo.
  • O cmdlet Save-Help pode salvar a ajuda de módulos que não estão instalados no computador. No entanto, como os arquivos de ajuda estão instalados na pasta do módulo, o cmdlet Update-Help pode instalar o arquivo de ajuda atualizado apenas para módulos instalados no computador.
  • Se Save-Help não encontrar arquivos de ajuda atualizados para um módulo ou não encontrar arquivos de ajuda atualizados no idioma especificado, ele continuará silenciosamente sem exibir uma mensagem de erro. Para ver quais arquivos foram salvos pelo comando, especifique o parâmetro Verbose.
  • Os módulos são a menor unidade de ajuda atualizável. Você não pode salvar a ajuda para um cmdlet específico, somente para todos os cmdlets no módulo. Para localizar o módulo que contém um cmdlet específico, use a propriedade ModuleName junto com o cmdlet Get-Command, por exemplo, (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help dá suporte a todos os módulos e aos principais snap-ins do PowerShell. Ele não dá suporte a outros snap-ins.
  • Os cmdlets Update-Help e Save-Help usam as seguintes portas para baixar arquivos de ajuda: Porta 80 para HTTP e porta 443 para HTTPS.
  • Os cmdlets Update-Help e Save-Help não têm suporte no Windows PE (Ambiente de Pré-Instalação do Windows).