Compartilhar via


about_WSMan_Provider

Nome do provedor

WSMan

Unidades

WSMan:

Descrição breve

Fornece acesso às informações de configuração do Web Services for Management (WS-Management).

Descrição detalhada

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ório que corresponde a um agrupamento lógico de definições de configuração do WS-Management. Esses agrupamentos são conhecidos como contêineres.

A partir do Windows PowerShell 3.0, o provedor WSMan foi atualizado para dar suporte a novas propriedades para configurações de sessão, como OutputBufferingMode. As configurações de sessão aparecem como itens no diretório Plug-in da unidade e as propriedades aparecem como itens em cada configuração de WSMan: sessão.

O provedor WSMan dá suporte aos cmdlets a seguir, que são abordados neste artigo.

Observação

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 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: É possível configurar vários aspectos do cliente WS-Management. As informações de configuração são armazenadas no registro.

  • Serviço: É possível configurar vários aspectos do serviço WS-Management. As informações de configuração são armazenadas no registro.

    Observação

    A configuração do serviço às vezes é chamada de configuração do servidor.

  • Shell: É possível configurar vários aspectos do shell WS-Management, como a configuração para permitir o 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.

  • Plug-in: 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 de 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 oferecem suporte ao encaminhamento de eventos, à configuração e ao 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 o Connect-WSMan. Depois que uma conexão é feita com um computador remoto, o nome do computador remoto aparece no provedor.

WSMan:\<Remote_Computer_Name>

Esse comando usa o Set-Location cmdlet para alterar o local atual para a WSMan: unidade.

Set-Location WSMan:

Para retornar a uma unidade de sistema de arquivos, digite o nome da unidade. Por exemplo, digite.

Set-Location C:

Esse comando usa o Set-Location comando para alterar o local atual para o local raiz no local de armazenamento do sistema remoto. Use uma barra \ invertida ou barra / para indicar um nível da WSMan: unidade.

Set-Location -Path  WSMan:\SERVER01

Observação

O comando acima pressupõe que já existe uma conexão com o sistema remoto.

Exibindo o conteúdo da unidade WSMan:

Esse comando usa o Get-Childitem cmdlet para exibir os repositórios do WS-Management no local do repositório Localhost.

Get-ChildItem -path WSMan:\Localhost

Se você estiver na WSMan: unidade, poderá omitir o nome da unidade.

Esse comando usa o Get-Childitem cmdlet para exibir os repositórios do WS-Management no local do repositório "SERVER01" do computador remoto.

Get-ChildItem -path WSMan:\SERVER01

Observação

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 cmdlet para alterar as Set-Item WSMAN definições de 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 dá 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 em uma unidade do provedor. Cada provedor tem diferentes tipos de itens 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

Criando um novo plug-in

Esse 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

Esse comando cria uma entrada de recurso no diretório Resources de um TestPlugin. Esse 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

Esse comando cria uma entrada de segurança no diretório de segurança do Resource_5967683 (um recurso específico). Esse 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

Esse comando cria uma 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 ter a impressão digital do certificado do emissor.

$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
         -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
         -URI wmicimv2/* `
         -Credential $cred;

Criando um novo parâmetro de inicialização

Esse comando cria um parâmetro de inicialização chamado "testparametername" no diretório "InitializationParameters". Este comando pressupõe 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 caracteres de endereço <>

Especifica o endereço para o qual este 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 com pontos IPv4 ou no formato hexadecimal clonado IPv6.
  • A cadeia de caracteres literal "MAC:" seguida pelo endereço MAC de um adaptador. Por exemplo: MAC:32-a3-58-90-be-cc.

Observação

O valor Address é definido ao criar um Listener.

Cmdlets com suporte

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 compatível com o URI. Você pode especificar quaisquer atributos válidos para uma determinada operação, se a operação der suporte a ela.

Esses atributos incluem SupportsFiltering e SupportsFragment.

  • Criar: as operações de criação têm suporte no URI.
    • O atributo SupportFragment será usado se a operação Create der suporte ao conceito.
    • O atributo SupportFiltering NÃO é válido para operações Create e deve ser definido como "False".

    Observação

    Essa operação não será válida para um URI se as operações do Shell também forem suportadas.

  • Excluir: há suporte para operações de exclusão no URI.
    • O atributo SupportFragment será usado se a operação Delete der suporte ao conceito.
    • O atributo SupportFiltering NÃO é válido para operações de exclusão e deve ser definido como "False".

    Observação

    Essa operação não será válida para um URI se as operações do Shell também forem suportadas.

  • Enumerar: as operações de enumeração têm suporte no URI.
    • O atributo SupportFragment NÃO tem suporte para operações Enumerate e deve ser definido como False.
    • O atributo SupportFiltering é válido e, se o plug-in der suporte à filtragem, esse atributo deverá ser definido como "True".

    Observação

    Essa operação não será válida para um URI se as operações do Shell também forem suportadas.

  • Get: as operações Get têm suporte no URI.
    • O atributo SupportFragment será usado se a operação Get der suporte ao conceito.
    • O atributo SupportFiltering NÃO é válido para operações Get e deve ser definido como "False".

    Observação

    Essa operação não será válida para um URI se as operações do Shell também forem suportadas.

  • Invocar: há suporte para operações de invocação no URI.
    • O atributo SupportFragment não tem suporte para operações Invoke e deve ser definido como False.
    • O atributo SupportFiltering não é válido e deve ser definido como "False".

    Observação

    Essa operação não será 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 der suporte ao conceito.
    • O atributo SupportFiltering não é válido para operações Put e deve ser definido como "False".

    Observação

    Essa operação não será válida para um URI se as operações do Shell também forem suportadas.

  • Assinar: as operações de assinatura têm suporte no URI.
    • O atributo SupportFragment não tem suporte para operações Subscribe e deve ser definido como False.
    • O atributo SupportFiltering não é válido para operações de assinatura e deve ser definido como "False".

    Observação

    Essa operação não será 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 tem suporte 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".

    Observação

    Essa operação não será válida para um URI se QUALQUER outra operação também for suportada.

    Observação

    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 com suporte

Cadeia de caracteres CertificateThumbprint <>

Especifica a impressão digital do certificado de serviço.

Esse valor representa a cadeia de caracteres 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. Certificados digitais são empregados na autenticação de clientes baseada em certificados. 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 com suporte

Booleano habilitado <>

Especifica se o ouvinte está habilitado ou desabilitado. O padrão é verdadeiro.

Cmdlets com suporte

String de nome de arquivo (plug-in) <>

Especifica o nome do arquivo do plug-in de operações. Todas as variáveis de ambiente colocadas nessa 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. Essa entrada não pode estar em branco e deve apontar para um plug-in válido.

Cmdlets com suporte

Cadeia de caracteres do nome <do host>

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 com suporte

Cadeia de caracteres do emissor <>

Especifica o nome da autoridade de certificação que emitiu o certificado.

Cmdlets com suporte

que se conectam e estendem a funcionalidade do WS-Management. A API do plug-in WSW-Management fornece funcionalidade que permite que um usuário escreva plug-ins implementando determinadas APIs para URIs e operações de recursos suportados. Depois que os plug-ins são configurados para o serviço WS-Management (WinRM) ou para os Serviços de Informações da Internet (IIS), 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 com suporte

Porta <Inteiro Curto Sem Sinal>

Especifica a porta TCP onde este ouvinte é criado. Você pode especificar qualquer valor de 1 a 65535.

Cmdlets com suporte

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 com suporte

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 com suporte

Cadeia de caracteres SDKVersion <>

Especifica a versão do SDK do plug-in WS-Management. O único valor válido é 1.

Cmdlets com suporte

Cadeia de caracteres de assunto <>

Especifica a entidade identificada pelo certificado.

Cmdlets com suporte

Cadeia de caracteres de transporte <>

Especifica o transporte a ser usado para enviar e receber respostas e solicitações do protocolo de gestão do WS. O valor deve ser HTTP ou HTTPS.

Observação: o valor de transporte é definido ao criar um ouvinte.

Cmdlets com suporte

Cadeia de caracteres de URI <>

Identifica o URI para o qual o acesso é autorizado com base no valor do parâmetro SDDL.

Cmdlets com suporte

URLPrefix <String>

Um prefixo de URL no qual aceitar solicitações HTTP ou HTTPS. Esta é uma string 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 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 com suporte

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 com suporte

Cadeia de caracteres XMLRenderingType <>

Especifica o formato no qual o XML é passado para plug-ins por meio do objeto WSMAN_DATA . Os seguintes são valores 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 com suporte

Usando o pipeline

Os cmdlets do provedor aceitam a entrada do 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.

Obtendo ajuda

A partir do Windows PowerShell 3.0, você pode obter tópicos da Ajuda personalizados para cmdlets do provedor que explicam como esses cmdlets se comportam em uma unidade de 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:

Confira também