about_WSMan_Provider
Nome do fornecedor
WSMan
Unidades
WSMan:
Breve descrição
Fornece acesso a informações de configuração do Web Services for Management (WS-Management).
Descrição detalhada
Essas informações só se aplicam ao PowerShell em execução no Windows.
O provedor WSMan para PowerShell permite adicionar, alterar, limpar e excluir dados de configuração do WS-Management em computadores locais ou remotos.
O provedor WSMan expõe uma unidade do PowerShell com uma estrutura de diretórios que corresponde a um agrupamento lógico de definições de configuração do WS-Management. Estes agrupamentos são conhecidos como contentores.
A partir do Windows PowerShell 3.0, o provedor WSMan foi atualizado para oferecer suporte a novas propriedades para configurações de sessão, como OutputBufferingMode. As configurações de sessão aparecem como itens no diretório Plugin da unidade e as WSMan:
propriedades aparecem como itens em cada configuração de sessão.
O provedor WSMan oferece suporte aos cmdlets a seguir, que são abordados neste artigo.
Nota
Você pode usar comandos na WSMan:
unidade para alterar os valores das novas propriedades. No entanto, você não pode usar a WSMan:
unidade no PowerShell 2.0 para alterar as propriedades que são introduzidas no Windows PowerShell 3.0.
Embora nenhum erro seja gerado, os comandos não são eficazes Para alterar essas configurações, use a unidade WSMan no Windows PowerShell 3.0.
Organização do WSMan: Drive
Cliente: Você pode configurar vários aspetos do cliente WS-Management. As informações de configuração são armazenadas no registro.
Serviço: Você pode configurar vários aspetos do serviço WS-Management. As informações de configuração são armazenadas no registro.
Nota
A configuração do serviço às vezes é chamada de configuração do servidor.
Shell: Você pode configurar vários aspetos do shell WS-Management, como a configuração para permitir acesso remoto ao shell (AllowRemoteShellAccess) e o número máximo de usuários simultâneos permitidos (MaxConcurrentUsers).
Ouvinte: Você pode criar e configurar um ouvinte. Um ouvinte é um serviço de gerenciamento que implementa o protocolo WS-Management para enviar e receber mensagens.
Plugin: Os plug-ins são carregados e usados pelo serviço WS-Management para fornecer várias funções. Por padrão, o PowerShell fornece três plug-ins:
- O plug-in Encaminhamento de Eventos.
- O plug-in Microsoft.PowerShell.
- O plug-in do Provedor WMI (Instrumentação de Gerenciamento do Windows). Esses três plug-ins suportam encaminhamento de eventos, configuração e acesso WMI.
ClientCertificate: Você pode criar e configurar um certificado de cliente. Um certificado de cliente é usado quando o cliente WS-Management é configurado para usar a autenticação de certificado.
Hierarquia de diretórios do provedor WSMan
A hierarquia de diretórios do provedor WSMan para o computador local é a seguinte.
WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate
A hierarquia de diretórios do provedor WSMan para um computador remoto é a mesma de um computador local. No entanto, para acessar as definições de configuração de um computador remoto, você precisa fazer uma conexão com o computador remoto usando Connect-WSMan. Depois que uma conexão é feita a um computador remoto, o nome do computador remoto aparece no provedor.
WSMan:\<Remote_Computer_Name>
Navegando no WSMan: Drive
Este comando usa o Set-Location
cmdlet para alterar o local atual da WSMan:
unidade.
Set-Location WSMan:
Para retornar a uma unidade do sistema de arquivos, digite o nome da unidade. Por exemplo, digite.
Set-Location C:
Navegando para um local de armazenamento remoto do sistema
Este comando usa o Set-Location
comando para alterar o local atual para o local raiz no local de armazenamento remoto do sistema. Use uma barra \
invertida ou uma barra /
para a frente para indicar um nível da WSMan:
unidade.
Set-Location -Path WSMan:\SERVER01
Nota
O comando acima pressupõe que já existe uma conexão com o sistema remoto.
Exibindo o conteúdo do WSMan: Drive
Este comando usa o Get-Childitem
cmdlet para exibir os repositórios WS-Management no local do repositório Localhost.
Get-ChildItem -path WSMan:\Localhost
Se estiver na WSMan:
unidade, pode omitir o nome da unidade.
Este comando usa o Get-Childitem
cmdlet para exibir os repositórios WS-Management no local de armazenamento "SERVER01" do computador remoto.
Get-ChildItem -path WSMan:\SERVER01
Nota
O comando acima pressupõe que já existe uma conexão com o sistema remoto.
Definindo o valor dos itens na unidade WSMAN:
Você pode usar o Set-Item
cmdlet para alterar as definições de WSMAN
configuração na unidade. O exemplo a seguir define o valor TrustedHosts para aceitar todos os hosts com o sufixo "contoso.com".
# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"
O Set-Item
cmdlet oferece suporte a um parâmetro -Concatenate
adicional que acrescenta um valor em vez de alterá-lo. O exemplo a seguir acrescentará um novo valor "*.domain2.com" ao valor antigo armazenado em TrustedHost:
Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate
Criando itens na unidade WSMAN:
Criando um novo ouvinte
O New-Item
cmdlet cria itens dentro de uma unidade de provedor. Cada provedor tem diferentes tipos de item que você pode criar. WSMAN:
Na unidade, você pode criar ouvintes que você configura para receber e responder a solicitações remotas. O comando a seguir cria um novo ouvinte HTTP usando o New-Item
cmdlet.
New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force
Criar um novo plug-in
Este comando cria (registra) um plug-in para o serviço WS-Management.
New-Item -Path WSMan:\localhost\Plugin `
-Plugin TestPlugin `
-FileName %systemroot%\system32\WsmWmiPl.dll `
-Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
-SDKVersion 1 `
-Capability "Get","Put","Invoke","Enumerate" `
-XMLRenderingType text
Criando uma nova entrada de recurso
Este comando cria uma entrada de recurso no diretório Resources de um TestPlugin. Este comando pressupõe que um TestPlugin foi criado usando um comando separado.
New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
-ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
-Capability "Enumerate"
Criando uma nova entrada de segurança para um recurso
Este comando cria uma entrada de segurança no diretório Segurança do Resource_5967683 (um recurso específico). Este comando pressupõe que a entrada de recurso foi criada usando um comando separado.
$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
-Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"
Criando um novo certificado de cliente
Este comando cria a entrada ClientCertificate que pode ser usada pelo cliente WS-Management. O novo ClientCertificate aparecerá no diretório ClientCertificate como "ClientCertificate_1234567890". Todos os parâmetros são obrigatórios. O emissor precisa ser impressão digital do certificado do emitente.
$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
-Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
-URI wmicimv2/* `
-Credential $cred;
Criando um novo parâmetro de inicialização
Este comando cria um parâmetro de inicialização chamado "testparametername" no diretório "InitializationParameters". Este comando assume que o "TestPlugin" foi criado usando um comando separado.
New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
-ParamName testparametername `
-ParamValue testparametervalue
Parâmetros dinâmicos
Parâmetros dinâmicos são parâmetros de cmdlet adicionados por um provedor do PowerShell e estão disponíveis somente quando o cmdlet está sendo usado na unidade habilitada para provedor.
Cadeia de endereços <>
Especifica o endereço para o qual esse ouvinte foi criado. O valor pode ser um dos seguintes:
- A cadeia de caracteres literal "*". (O caractere curinga (
*
) faz com que o comando vincule todos os endereços IP em todos os adaptadores de rede.) - A cadeia de caracteres literal "IP:" seguida por um endereço IP válido no formato decimal pontilhado IPv4 ou no formato hexadecimal clonado IPv6.
- A string literal "MAC:" seguida pelo endereço MAC de um adaptador. Por exemplo: MAC:32-a3-58-90-be-cc.
Nota
O valor Address é definido ao criar um Listener.
Cmdlets suportados
Enumeração de capacidade <>
Ao trabalhar com plug-ins , esse parâmetro especifica uma operação que é suportada nesse URI (Uniform Resource Identifier). Você precisa criar uma entrada para cada tipo de operação que o URI suporta. Você pode especificar quaisquer atributos válidos para uma determinada operação, se a operação oferecer suporte a ela.
Esses atributos incluem SupportsFiltering e SupportsFragment.
- Criar: as operações de criação são suportadas no URI.
- O atributo SupportFragment será usado se a operação Create oferecer suporte ao conceito.
- O atributo SupportFiltering NÃO é válido para operações Create e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Excluir: as operações de exclusão são suportadas no URI.
- O atributo SupportFragment será usado se a operação Delete oferecer suporte ao conceito.
- O atributo SupportFiltering NÃO é válido para operações Delete e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Enumerar: As operações de enumeração são suportadas no URI.
- O atributo SupportFragment NÃO é suportado para operações Enumerate e deve ser definido como False.
- O atributo SupportFiltering é válido e, se o plug-in oferecer suporte à filtragem, esse atributo deverá ser definido como "True".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Get: As operações Get são suportadas no URI.
- O atributo SupportFragment será usado se a operação Get oferecer suporte ao conceito.
- O atributo SupportFiltering NÃO é válido para operações Get e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Invocar: as operações de invocação são suportadas no URI.
- O atributo SupportFragment não é suportado para operações Invoke e deve ser definido como False.
- O atributo SupportFiltering não é válido e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Put: As operações put são suportadas no URI.
- O atributo SupportFragment será usado se a operação Put suportar o conceito.
- O atributo SupportFiltering não é válido para operações Put e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Subscrever: As operações de subscrição são suportadas no URI.
- O atributo SupportFragment não é suportado para operações Subscribe e deve ser definido como False.
- O atributo SupportFiltering não é válido para operações Subscribe e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se as operações do Shell também forem suportadas.
- Shell: as operações do Shell são suportadas no URI.
- O atributo SupportFragment não é suportado para operações do Shell e deve ser definido como "False".
- O atributo SupportFiltering não é válido para operações do Shell e deve ser definido como "False".
Nota
Esta operação não é válida para um URI se QUALQUER outra operação também for suportada.
Nota
Se uma operação do Shell estiver configurada para um URI, as operações Get, Put, Create, Delete, Invoke e Enumerate serão processadas internamente no serviço WS-Management (WinRM) para gerenciar shells. Como resultado, o plug-in não pode lidar com as operações.
Cmdlets suportados
CertificateThumbprint <String>
Especifica a impressão digital do certificado de serviço.
Esse valor representa a cadeia de valores hexadecimais de dois dígitos no campo Impressão digital do certificado. Ele especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para executar essa ação. Os certificados são usados na autenticação baseada em certificado de cliente. Eles podem ser mapeados apenas para contas de usuário locais e não funcionam com contas de domínio. Para obter uma impressão digital de certificado, use os Get-Item
cmdlets ou Get-ChildItem
na unidade do PowerShell Cert:
.
Cmdlets suportados
Booleano ativado <>
Especifica se o ouvinte está habilitado ou desabilitado. O padrão é True.
Cmdlets suportados
FileName (Plugin) <String>
Especifica o nome do arquivo do plug-in de operações. Todas as variáveis de ambiente colocadas nesta entrada serão expandidas no contexto dos usuários quando uma solicitação for recebida. Como cada usuário pode ter uma versão diferente da mesma variável de ambiente, cada usuário pode ter um plug-in diferente. Esta entrada não pode estar em branco e deve apontar para um plug-in válido.
Cmdlets suportados
Cadeia de caracteres HostName <>
Especifica o nome do host do computador no qual o serviço WS-Management (WinRM) está sendo executado.
O valor deve ser um nome de domínio totalmente qualificado, uma cadeia de caracteres literal IPv4 ou IPv6 ou um caractere curinga.
Cmdlets suportados
String do emissor <>
Especifica o nome da autoridade de certificação que emitiu o certificado.
Cmdlets suportados
Os plug-ins do Plugin <> WS-Management são bibliotecas de vínculo dinâmico (DLLs) nativas
que conectam e estendem a funcionalidade do WS-Management . A API de plug-in WSW-Management fornece funcionalidade que permite que um usuário escreva plug-ins implementando determinadas APIs para operações e URIs de recursos suportados. Depois que os plug-ins são configurados para o serviço WS-Management (WinRM) ou para o IIS (Serviços de Informações da Internet), os plug-ins são carregados no host WS-Management ou no host IIS, respectivamente. As solicitações remotas são roteadas para esses pontos de entrada de plug-in para executar operações.
Cmdlets suportados
Inteiro curto não assinado da porta <>
Especifica a porta TCP para a qual esse ouvinte é criado. Você pode especificar qualquer valor de 1 a 65535.
Cmdlets suportados
Cadeia de caracteres de recurso <>
Especifica um ponto de extremidade que representa um tipo distinto de operação ou valor de gerenciamento. Um serviço expõe um ou mais recursos, e alguns recursos podem ter mais de uma instância. Um recurso de gerenciamento é semelhante a uma classe WMI ou a uma tabela de banco de dados, e uma instância é semelhante a uma instância da classe ou a uma linha na tabela. Por exemplo, a classe Win32_LogicalDisk representa um recurso. Win32_LogicalDisk="C:\\"
é uma instância específica do recurso.
Um URI (Uniform Resource Identifier) contém um prefixo e um caminho para um recurso. Por exemplo:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Cmdlets suportados
Cadeia de caracteres de recurso <>
Especifica o URI (Uniform Resource Identifier) que identifica um tipo específico de recurso, como um disco ou um processo, em um computador.
Um URI consiste em um prefixo e um caminho para um recurso. Por exemplo:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Cmdlets suportados
SDKVersion <String>
Especifica a versão do SDK do plug-in WS-Management. O único valor válido é 1.
Cmdlets suportados
String de assunto <>
Especifica a entidade identificada pelo certificado.
Cmdlets suportados
Cadeia de caracteres de transporte <>
Especifica o transporte a ser usado para enviar e receber solicitações e respostas do protocolo WS-Management. O valor deve ser HTTP ou HTTPS.
Nota: O valor Transport é definido ao criar um Listener.
Cmdlets suportados
Cadeia de caracteres URI <>
Identifica o URI para o qual o acesso é autorizado com base no valor do parâmetro Sddl.
Cmdlets suportados
String URLPrefix <>
Um prefixo de URL no qual aceitar solicitações HTTP ou HTTPS. Esta é uma cadeia de caracteres que contém apenas os caracteres , , , sublinhado (_
) e barra invertida (/
). [9-0]
[A-Z]
[a-z]
A cadeia de caracteres não deve começar com ou terminar com uma barra invertida (/
). Por exemplo, se o nome do computador for "SampleComputer", o cliente WS-Management especificará http://SampleMachine/URLPrefix
o endereço de destino.
Cmdlets suportados
Cadeia de caracteres de valor <>
Especifica o valor de um parâmetro de inicialização, que é um valor específico do plug-in usado para especificar opções de configuração.
Cmdlets suportados
Cadeia de caracteres XMLRenderingType <>
Especifica o formato no qual o XML é passado para plug-ins por meio do objeto WSMAN_DATA . Os seguintes valores são válidos:
- Texto: Os dados XML de entrada estão contidos em uma estrutura WSMAN_DATA_TYPE_TEXT , que representa o XML como um buffer de memória PCWSTR .
- XMLReader: Os dados XML de entrada estão contidos em uma estrutura WSMAN_DATA_TYPE_WS_XML_READER , que representa o XML como um objeto XmlReader , que é definido no arquivo de cabeçalho "WebServices.h".
Cmdlets suportados
Usando o pipeline
Os cmdlets do provedor aceitam entrada de pipeline. Você pode usar o pipeline para simplificar a tarefa enviando dados do provedor de um cmdlet para outro cmdlet do provedor. Para ler mais sobre como usar o pipeline com cmdlets de provedor, consulte as referências de cmdlet fornecidas ao longo deste artigo.
Obter ajuda
A partir do Windows PowerShell 3.0, você pode obter tópicos de ajuda personalizados para cmdlets de provedor que explicam como esses cmdlets se comportam em uma unidade do sistema de arquivos.
Para obter os tópicos de ajuda personalizados para a unidade do sistema de arquivos, execute um comando Get-Help em uma unidade do sistema de arquivos ou use o -Path
parâmetro Get-Help para especificar uma unidade do sistema de arquivos.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman: