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 a WMI em um computador remoto.
Para executar um script:
O procedimento a seguir descreve como 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 seu editor de texto não adicione uma extensão .txt ao arquivo.
Abra uma janela do prompt de comando e navegue até o diretório onde você salvou o arquivo.
Digite cscript filename.vbs no prompt de comando.
Se você não puder acessar um log de eventos, verifique se está executando em um prompt de comando elevado. Alguns Logs de Eventos, como o Log de Eventos de Segurança, podem ser protegidos por Controles de Acesso do Usuário (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, talvez você queira 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 fazer...
Classes ou métodos WMI
...converter datas WMI em datas e horas padrão?
Use o objeto SWbemDateTime para convertê-los em datas e horas regulares.
VB
Set dtmInstallDate = CreateObject("WbemScripting.SWbemDateTime")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each strOS in objOS
dtmInstallDate.Value = strOS.InstallDate
Wscript.Echo dtmInstallDate.GetVarDate
Next
Ou faça com que seu código execute a tarefa manualmente.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_TimeZone")
For Each objItem in colItems
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Daylight Name: " & objItem.DaylightName
Wscript.Echo "Standard Name: " & objItem.StandardName
Wscript.Echo
Next
PowerShell
$Computer = "."
$timezone = Get-WMIObject -class Win32_TimeZone -ComputerName $computer
<# Display details #>
if ($computer -eq ".") {$computer = Hostname}
"Time zone information on computer `"{0}`"" -f $computer
"Time Zone Description : {0}" -f $timezone.Description
"Daylight Name : {0}" -f $timezone.DaylightName
"Standard Name : {0}" -f $timezone.StandardName
...garantir que "10/02/2000" seja interpretado como 2 de outubro de 2000, não "10 de fevereiro de 2000"?
Gerencie datas no formato CIM DATETIME e use métodos SWbemDateTime, como GetVarDate, para convertê-las de e para os formatos FILETIME ou VT_Date. Como o formato DATETIME é independente da localidade, você pode escrever um script que é executado em qualquer máquina. Use o objeto SWbemDateTime para convertê-los em datas e horas regulares. Consulte Formato de data e hora para obter mais informações sobre a conversão de datas e horas.
...converter uma data e hora WMI em um valor DateTime do .NET?
Analise manualmente a cadeia de caracteres e coloque os valores recuperados em um objeto DateTime .