Obter-ObjetoWmi Computador Remoto: Inventario de Computadores Usando PowerShell

Como posso inventariar computadores remotos usando o PowerShell? A resposta é usando o Get-ObjetoWmi em um computador remoto. Esta postagem fornece um tutorial completo. Continue lendo se você estiver interessado.

Tyler

Por Tyler / Atualizado em 03/03/2025

Compartilhe isso: instagram reddit

Como conectar-se ao WMI remotamente?

O Windows Management Instrumentation (WMI) é uma infraestrutura de gerenciamento integrada ao Windows para consultar dados de gerenciamento e operações. Ele pode ser usado para consultar computadores locais e remotos para obter informações como processos em execução, software instalado, informações do BIOS e muito mais.

O cmdlet Get-WmiObject obtém instâncias de classes WMI ou informações sobre as classes WMI disponíveis. Você pode usar o parâmetro ComputerName para especificar um computador remoto, para que você possa se conectar ao WMI remotamente.

Como usar o PowerShell Get-WmiObject em um computador remoto

A seguir, veremos como usar o PowerShell Get-WmiObject em um computador remoto para inventariar informações do computador.

Se o parâmetro Query for especificado, o cmdlet executará uma instrução da linguagem de consulta WMI (WQL). Se o parâmetro List for especificado, o cmdlet obterá informações sobre as classes WMI disponíveis em um determinado namespace. O parâmetro ComputerName é usado para especificar os computadores. Vamos ver alguns exemplos.

Primeiro, vamos testar a conexão WMI com o computador remoto. O exemplo abaixo permite testar a conexão WMI com o computador remoto chamado PC1.

  • Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1

Teste de Conexão WMI

Você também pode enumerar a lista de compartilhamentos de rede de uma máquina remota usando a classe WMI Win32_Share do PowerShell. Aqui, FT é nada mais do que o cmdlet Format-Table, você pode alterá-lo para FL para exibir o resultado em formato de lista.

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL

Lista de Compartilhamentos de Rede

Você pode usar uma sintaxe semelhante a uma consulta SQL para filtrar a classe Win32_Share. O seguinte script PowerShell filtra e lista apenas as pastas compartilhadas de rede (não compartilhamentos ocultos) adicionando o filtro Type=0.

  • Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT

Pasta de Compartilhamento de Rede

Mais exemplos

Exemplo 1: Obtém serviços no computador remoto PC1:

  • Get-WmiObject -Class Win32_Service -ComputerName PC1

Também é possível obter os serviços em um computador remoto usando Get-WmiObject remote computerCredential. O exemplo a seguir usa o parâmetro Credential. O valor do parâmetro Credential é um nome de conta de usuário. O usuário é solicitado a fornecer uma senha.

  • Get-WmiObjectWin32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam

Exemplo 2: Parar um serviço no computador remoto PC1:

  • (Get-WmiObject -Class Win32_Service -Filter "name="WinRM"' -ComputerName PC1).StopService()

Exemplo 3: Obter o BIOS no computador remoto PC1:

  • Get-WmiObject -Class Win32_Bios -ComputerName PC1| Format-List -Property *

Nota

Devemos observar que o cmdlet Get-WmiObject foi substituído por Get-CimInstance no PowerShell 3.0. Por exemplo, o seguinte comando exibe o nome de cada processo em execução junto com seu tempo de kernel do maior para o menor:

  • Get-CimInstance -Class Win32_Process -ComputerName DC1 | Select-Object -Property Name,KernelModeTime | Sort-Object KernelModeTime -Descending

Get WmiObject

AnyViewer: Solução de desktop remoto com interface gráfica para o Windows

Se você deseja uma forma mais direta de consultar dados de gerenciamento e operações de computadores, recomendamos fortemente o AnyViewer, um programa de desktop remoto gratuito que permite controlar um computador remotamente de outro. Ele oferece uma interface gráfica de usuário para um computador remoto, o que é mais direto e intuitivo em comparação com o PowerShell.

Baixar GratuitoWin 11/10/8.1/8/7
Baixar Seguro

Passo 1. Faça o download, instale e inicie o AnyViewer em ambos os computadores.

Download AnyViewer

Passo 2. Vá para Log in e clique em Sign up. (Se você já tiver registrado no site oficial, você pode fazer login diretamente.)

Login no AnyViewer

Passo 3: Preencha as informações de registro.

Registrar-se no AnyViewer

Passo 4: Em seguida, você verá que fez login com sucesso no AnyViewer. Seu dispositivo será atribuído automaticamente à conta à qual você fez login.

Edições Gratuitas

Passo 5: Faça login na mesma conta do AnyViewer nos dois dispositivos. Em seguida, clique em Controle com um clique para obter acesso remoto desassistido.

Conectar aos Meus Dispositivos

✍Nota: Se você atualizar sua conta para um plano Profissional ou Empresarial, terá mais privilégios:

  • Você pode atribuir mais dispositivos para obter acesso remoto desassistido.
  • Mais dispositivos conectados serão exibidos, o que é conveniente para visualizar mais históricos de conexão a qualquer momento.
  • Você pode se conectar a outro computador no modo de privacidade, o que significa que pode escurecer a tela, bloquear o mouse e o teclado do computador remoto, protegendo ainda mais sua privacidade.

Passo 6: Depois de ter controle total do computador remoto, você pode abrir qualquer programa e gerenciá-lo como se estivesse usando-o na realidade.

Gerenciamento de Computadores no AnyViewer

A conclusão

Este post fornece um tutorial completo sobre como usar o PowerShell Get-WmiObject em um computador remoto para inventariar informações do computador. Se você deseja uma maneira mais direta e intuitiva de consultar dados de gerenciamento e operações do computador, é aconselhável usar o AnyViewer.