Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Windows PowerShell fornece um mecanismo simples para se conectar à Instrumentação de Gerenciamento do Windows (WMI) em um computador remoto. As conexões remotas no WMI são afetadas pelo Firewall do Windows, pelas configurações DCOM e pelo Controle de Conta de Usuário (UAC). Para obter mais informações sobre como configurar conexões remotas, consulte Conectando-se ao WMI remotamente a partir do Windows Vista.
Os exemplos neste tópico são baseados nos VBScripts de Conectando-se ao WMI em um computador remoto. Todos os exemplos neste tópico usam o cmdlet Get-WmiObject. Para obter mais informações, consulte Get-WmiObject.
Exemplos do Windows PowerShell
Ao criar uma conexão com um computador remoto, um usuário pode especificar as informações de conexão, como o nome do computador remoto, as credenciais e o nível de autenticação da conexão. Os exemplos a seguir ilustram como se conectar a um computador remoto usando diferentes conjuntos de credenciais e como acessar informações WMI.
O exemplo do Windows PowerShell a seguir mostra a configuração do nível de representação:
Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process -Impersonation 3 -ComputerName Computer_B
No exemplo anterior, o usuário se conecta a um computador remoto usando as mesmas credenciais (domínio e nome de usuário) com as quais fez logon. O usuário também solicitou o uso de personificação. Ao contrário do exemplo VBScript original, uma string de moniker não é necessária porque o nível de representação é definido pela propriedade "Impersonation". Por padrão, o nível de representação é definido como 3 (Representar).
O exemplo lista todas as instâncias da classe Win32_Process que estão sendo executadas no computador remoto.
Observação
Você deve especificar o namespace WMI ao qual se conectar no computador remoto porque é possível que o namespace padrão não seja o mesmo em computadores diferentes.
O exemplo do Windows PowerShell a seguir mostra como se conectar a um computador remoto utilizando credenciais diferentes e configurar o nível de representação para 3, que corresponde a Representar.
$Computer = "atl-dc-01"
Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process -Impersonation 3 -Credential `
FABRIKAM\administrator -ComputerName $Computer
No exemplo anterior, o nome do computador foi atribuído à variável $Computer. O utilizador conecta-se a um computador remoto usando credenciais específicas (domínio e nome de utilizador) e solicita imitação para o nível de autenticação.
Observação
O caractere de acento grave (') é usado para indicar uma quebra de linha. É equivalente ao caractere de sublinhado (_) no VBScript.
O exemplo do Windows PowerShell a seguir se conecta a um grupo de computadores remotos no mesmo domínio criando uma matriz de nomes de computadores remotos e, em seguida, exibindo nomes dos dispositivos Plug and Play — instâncias de Win32_PnPEntity— em cada computador:
$ArrComputers = "Computer1", "Computer2", "Computer3"
foreach ($Computer in $ArrComputers)
{
write-host ""
write-host "===================================="
write-host "Computer: $Computer"
write-host "===================================="
write-host "-----------------------------------"
write-host "Win32_PnPEntity instance"
write-host "-----------------------------------"
$ColItems = Get-WmiObject -Class Win32_PnPEntity -Namespace "root\cimv2" -Computer $Computer
$ColItems[0..47] | Format-List Name, Status
}
Observação
Para executar o script anterior do Windows PowerShell, você deve ser um administrador nos computadores remotos. Além disso, em relação ao exemplo anterior, observe o seguinte:
- Os nomes de computador na matriz devem ser colocados entre aspas porque são cadeias de caracteres.
- Os objetos retornados pelo Get-WmiObject são atribuídos à variável $ColItems.
- O operador de alcance [] limitou a lista de dispositivos Plug and Play a 48 instâncias. Para obter mais informações, consulte About_Operators.
- O "|" é o caractere do pipeline. O objeto retornado por ColItems é enviado para o cmdlet Format-List.
O exemplo do Windows PowerShell a seguir permite que você se conecte a um computador remoto em um domínio diferente. Este exemplo também exibe os nomes de processo para instâncias de Win32_Process no computador remoto.
$Computer = "FullComputerName"
$Domain = "DOMAIN"
$Credential = Get-Credential
$ColItems = Get-WmiObject -Class Win32_Process -Authority "ntlmdomain:$Domain" `
-Credential $Credential -Locale "MS_409" -Namespace "root\cimv2" -ComputerName $Computer
foreach ($ObjItem in $colItems)
{
write-host "Process Name:" $ObjItem.name
}
Observação
Para executar o script anterior do Windows PowerShell, você deve ser um administrador no computador remoto.
No exemplo anterior, o usuário se conecta a um computador remoto em um domínio diferente e especifica uma localidade preferencial. O comando Get-Credential solicita as credenciais do usuário e atribui as credenciais a um objeto. O exemplo também lista os nomes de instâncias da classe Win32_Process que estão sendo executadas no computador.
Tópicos relacionados