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.
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.
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.
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.
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.
Mais exemplos
Exemplo 1: Obtém serviços no computador remoto 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.
Exemplo 2: Parar um serviço no computador remoto PC1:
Exemplo 3: Obter o BIOS no computador remoto PC1:
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:
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.
Passo 1. Faça o download, instale e inicie o AnyViewer em ambos os computadores.
Passo 2. Vá para Log in e clique em Sign up. (Se você já tiver registrado no site oficial, você pode fazer login diretamente.)
Passo 3: Preencha as informações de registro.
Passo 4: Em seguida, você verá que fez login com sucesso no AnyViewer. Seu dispositivo será atribuído automaticamente à conta à qual você fez login.
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.
✍Nota: Se você atualizar sua conta para um plano Profissional ou Empresarial, terá mais privilégios:
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.
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.