As tarefas WMI para sistemas operacionais obtêm informações sobre o sistema operacional, como versão, se ele está ativado ou quais hotfixes estão instalados.
Os exemplos de script mostrados neste tópico obtêm dados somente do computador local. Para obter mais informações sobre como usar o script para obter dados de computadores remotos, consulte Conectando-se ao WMI em um computador remoto.
O procedimento a seguir descreve como executar um script.
Para executar um script
Copie o código e salve-o em um arquivo com uma extensão .vbs, como filename.vbs. Certifique-se de que o editor de texto não adiciona uma extensão .txt ao arquivo.
Abra uma janela de prompt de comando e navegue até o diretório onde você salvou o arquivo.
Digite CScript filename.vbs na linha de comandos.
Se não conseguir aceder a um registo de eventos, verifique se está a executar a partir de uma linha de comandos com privilégios elevados. Alguns Registos de Eventos, como o Registo de Eventos de Segurança, podem estar protegidos por Controlo de Acesso de Utilizador (UAC).
Observação
Por padrão, CScript exibe a saída de um script na janela do prompt de comando. Como os scripts WMI podem produzir grandes quantidades de saída, convém redirecionar a saída para um arquivo. Digite cscript filename.vbs > outfile.txt no prompt de comando para redirecionar a saída do script filename.vbs para outfile.txt.
A tabela a seguir lista exemplos de script que podem ser usados para obter vários tipos de dados do computador local.
Como faço para...
Classes ou métodos WMI
... Determinar se um service pack foi instalado em um computador?
Use a classe Win32_OperatingSystem e verifique os valores das propriedades ServicePackMajorVersion e ServicePackMinorVersion.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Install Date: " & objOperatingSystem.InstallDate
Next
... determinar qual versão do sistema operacional Windows está instalada em um computador?
Utilize a classe Win32_OperatingSystem e recupere as propriedades de Name e Version.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.Caption & " " & objOperatingSystem.Version
Next
PowerShell
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | format-list Caption, Version
... determinar qual pasta é a pasta do Windows (%Windir%) em um computador?
Use a classe específica Win32_OperatingSystem e verifique o valor da propriedade WindowsDirectory.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Windows Folder: " & objOperatingSystem.WindowsDirectory
Next