Los ejemplos de script mostrados en este tema obtienen datos sólo del ordenador local. Para obtener más información sobre cómo utilizar el script para obtener datos de ordenadores remotos, consulte Conexión a WMI en un ordenador remoto.
Para ejecutar un script
El siguiente procedimiento describe cómo ejecutar un script.
Copie el código y guárdelo en un archivo con extensión .vbs, por ejemplo filename.vbs. Asegúrese de que su editor de texto no añade la extensión .txt al archivo.
Abra una ventana de símbolo del sistema y vaya al directorio donde guardó el archivo.
Escriba cscript filename.vbs en el símbolo del sistema.
Si no puede acceder a un registro de eventos, compruebe si está ejecutando desde un símbolo del sistema elevado. Algunos Registros de Eventos, como el Registro de Eventos de Seguridad, pueden estar protegidos por Controles de Acceso de Usuario (UAC).
Nota:
Por defecto, cscript muestra la salida de un script en la ventana de símbolo del sistema. Debido a que los scripts WMI pueden producir grandes cantidades de salida, es posible que desee redirigir la salida a un archivo. Escriba cscript filename.vbs > outfile.txt en el símbolo del sistema para redirigir la salida del comando filename.vbs script a outfile.txt.
La siguiente tabla enumera ejemplos de scripts que pueden utilizarse para obtener diversos tipos de datos del ordenador local.
Cómo...
Clases o métodos WMI
...¿convertir fechas WMI a fechas y horas estándar?
Use el SWbemDateTime objeto para convertir estos a fechas y 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
O haga que su código realice la tarea manualmente.
...¿determinar el nombre de la zona horaria en la que funciona un ordenador?
Use el Win32_TimeZone clase y compruebe el valor de la Descripción propiedad.
VB
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
...¿asegurar que "10/02/2000" es interpretado como 2 Oct. 2, 2000, no "10 Feb, 2000"?
Gestionar fechas en CIMDATETIME formato y use SWbemDateTime métodos, tales como GetVarDate para convertirlos enr FILETIME or VT_Date formatos. Como el formato DATETIME es independiente de la localización, puede escribir una secuencia de comandos que se ejecute en cualquier máquina. Use el SWbemDateTime objeto para convertir estos a fechas y horas regulares. Véase formato de fecha y hora para más información sobre la conversión de fechas y horas.
...¿convertir un datetime WMI a un valor DateTime .NET?
Analiza manualmente la cadena y, a continuación, coloca los valores recuperados en un archivo DateTime objecto.