Compartilhar via


Provedor WSMan

Nome do provedor

WSMan

Unidades

WSMan:

Descrição breve

Fornece acesso a serviços Web para obter informações de configuração de gerenciamento (WS-Management).

Descrição detalhada

O provedor WSMan para PowerShell permite adicionar, alterar, limpar e excluir WS-Management dados de configuração 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 WS-Management definições de configuração. 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 WSMan: unidade e as propriedades aparecem como itens em cada configuração de 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: Unidade

  • Cliente: você pode configurar vários aspectos do cliente WS-Management. As informações de configuração são armazenadas no Registro.

  • Serviço: você pode 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 Server.

  • Shell: você pode 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 dão suporte ao encaminhamento de eventos, à configuração e ao acesso WMI.
  • ClientCertificate: você pode criar e configurar um certificado do cliente. Um certificado de cliente é usado quando o cliente do WS-Management está 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 mesmo que para um computador local. No entanto, para acessar as configurações de um computador remoto, você precisa estabelecer uma conexão com o computador remoto usando Connect-WSMan. Depois que uma conexão é feita para 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 do repositório do sistema remoto. Use uma barra invertida \ ou uma barra / para frente para indicar um nível da WSMan: unidade.

Set-Location -Path  WSMan:\SERVER01

Observação

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

Exibindo o conteúdo do WSMan: Unidade

Esse 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 você estiver na WSMan: unidade, poderá omitir o nome da unidade.

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

Get-ChildItem -path WSMan:\SERVER01

Observação

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

Definindo o valor dos itens na unidade WSMAN:

Você pode usar o Set-Item cmdlet para alterar as definições de configuração na WSMAN 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 de provedor. Cada provedor tem tipos de item diferentes 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

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

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

Este comando cria uma entrada de segurança no diretório Security 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 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 a impressão digital do certificado dos emissores.

$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 initialization chamado "testparametername" no diretório "InitializationParameters". Esse 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 que são 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 associe 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 IPv4 dotted-decimal ou no formato IPv6 cloned-hexadecimal.
  • 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 durante a criação de um Ouvinte.

Cmdlets com suporte

Enumeração de funcionalidade <>

Ao trabalhar com plug-ins , esse parâmetro especifica uma operação com suporte neste URI (Uniform Resource Identifier). Você precisa criar uma entrada para cada tipo de operação ao qual o URI dá suporte. 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.

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

    Observação

    Essa operação não é válida para um URI se também há suporte para operações de Shell.

  • 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 delete e deve ser definido como "False".

    Observação

    Essa operação não é válida para um URI se também há suporte para operações de Shell.

  • Enumerar: há suporte para operações de enumeração no URI.
    • O atributo SupportFragment NÃO tem suporte para operações de Enumeração 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 é válida para um URI se também há suporte para operações de Shell.

  • Obter: há suporte para operações get 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 é válida para um URI se também há suporte para operações de Shell.

  • 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 é válida para um URI se também há suporte para operações de Shell.

  • Put: há suporte para operações put 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 é válida para um URI se também há suporte para operações de Shell.

  • Assinar: há suporte para operações de assinatura no URI.
    • O atributo SupportFragment não tem suporte para operações de assinatura 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 é válida para um URI se também há suporte para operações de Shell.

  • Shell: há suporte para operações de shell 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 tiver suporte.

    Observação

    Se uma operação Shell estiver configurada para uma operação URI, Get, Put, Create, Delete, Invoke e Enumerate será processada internamente no serviço WS-Management (WinRM) para gerenciar os shells. Como resultado, o plug-in não pode manipular 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 de dois dígitos hexadecimais no campo Impressão digital do certificado. Especifica o certificado de chave pública digital (X509) de uma conta de usuário com permissão para executar essa ação. Os certificados são utilizados na autenticação baseada em certificado do cliente. Eles podem ser mapeados somente para contas de usuário locais; eles não funcionam com contas de domínio. Para obter uma impressão digital do certificado, use os Get-Item cmdlets ou Get-ChildItem na unidade do PowerShell Cert: .

Cmdlets com suporte

Booliano habilitado <>

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

Cmdlets com suporte

Cadeia de caracteres FileName (Plug-in) <>

Especifica o nome do arquivo do plug-in de operações. Todas as variáveis de ambiente que forem 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 HostName <>

Especifica o nome de host do computador no qual o serviço WS-Management (WinRM) está em execução.

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 de WS-Management . A API de plug-in do WSW-Management fornece funcionalidade que permite que um usuário escreva plug-ins implementando determinadas APIs para URIs e operações de recursos com suporte. Depois que os plug-ins estiverem configurados para o serviço WS-Management (WinRM) ou para 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

Número <inteiro curto sem sinal de porta>

Especifica a porta TCP para a qual este ouvinte é criado. Você pode especificar qualquer valor entre 1 e 65535.

Cmdlets com suporte

Cadeia de caracteres de recurso <>

Especifica um ponto de extremidade que representa um tipo distinto de valor ou operação 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 identificador de recurso uniforme (URI) contém um prefixo e um caminho para um recurso. Por exemplo:

https://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 Uniform Resource identificador (URI) que identifica um tipo de recurso, como um disco ou um processo, em um computador específico.

Um URI consiste em um prefixo e um caminho para um recurso. Por exemplo:

https://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 do WS-Management. O único valor válido é 1.

Cmdlets com suporte

Cadeia de caracteres do assunto <>

Especifica a entidade que é 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 WS-Management. O valor deve ser HTTP ou HTTPS.

Observação: o valor 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

Cadeia de caracteres URLPrefix <>

Um prefixo de URL no qual aceitar solicitações de HTTP ou HTTPS. Essa é 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 especificaria http://SampleMachine/URLPrefix no 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 de plug-in específico 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 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 com suporte

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.

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

about_Providers