about_WSMan_Provider

Nome do provedor

WSMan

Unidades

WSMan:

Descrição breve

Fornece acesso a informações de configuração do WS-Management (Web Services for 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 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 Plug-in da unidade e as propriedades aparecem como itens em cada configuração de WSMan: sessão.

O provedor WSMan oferece suporte aos cmdlets a seguir, 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 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 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

    Às vezes, a configuração do serviço é chamada de configuração do servidor.

  • 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.

  • 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 oferecem suporte a 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 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 frente / para indicar um nível da WSMan: unidade.

Set-Location -Path  WSMan:\SERVER01

Observação

O comando acima assume 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 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 WS-Management no local de armazenamento "SERVER01" do computador remoto.

Get-ChildItem -path WSMan:\SERVER01

Observação

O comando acima assume 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-ItemWSMAN 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 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 em 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

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

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

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

Este 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 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 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 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 suportados

Enumeração de recursos <>

Ao trabalhar com plug-ins , esse parâmetro especifica uma operação com suporte 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 têm suporte 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".

    Observação

    Essa 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".

    Observação

    Essa 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 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 oferecer suporte à filtragem, esse atributo deverá ser definido como "True".

    Observação

    Essa 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".

    Observação

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

  • Invocar: as operações de chamada são suportadas 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 as operações do Shell também forem suportadas.

  • Put: As operações de colocação são suportadas no URI.
    • O atributo SupportFragment será usado se a operação Put oferecer 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 as operações do Shell também forem suportadas.

  • Assinar: as operações de assinatura são suportadas 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 Subscribe e deve ser definido como "False".

    Observação

    Essa 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 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 é 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 manipular as operações.

Cmdlets suportados

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. Os certificados são utilizados na autenticação baseada em certificado do 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 do certificado, use os Get-Item cmdlets ou Get-ChildItem na unidade do PowerShell Cert: .

Cmdlets suportados

Booleano habilitado <>

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

Cmdlets suportados

FileName (Plugin) <Cadeia de caracteres>

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

Cadeia de caracteres do emissor <>

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

Cmdlets suportados

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 URIs e operações de recursos com suporte. 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

Porta <Inteiro Curto Não Assinado>

Especifica a porta TCP para a qual este 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

Cadeia de caracteres SDKVersion <>

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

Cmdlets suportados

Cadeia de caracteres do assunto <>

Especifica a entidade identificada pelo certificado.

Cmdlets suportados

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.

Nota: O valor Transport é definido ao criar um Listener.

Cmdlets suportados

Cadeia de caracteres de URI <>

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

Cmdlets suportados

Cadeia de caracteres 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 no 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 . Estes são os 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 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.

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