Results 1 to 3 of 3

Thread: Newb WMI: Check Before Running Query

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Feb 2003
    Posts
    146

    Newb WMI: Check Before Running Query

    Hello

    I am working on a small app to get memory info from machines on a network. It works well, but every now and then it hits a machine it can't connect to (no admin access or various reasons), and I get an error at:

    VB Code:
    1. Set objWMIService = GetObject("winmgmts:"  & "{impersonationLevel=impersonate}!\\" & lstMachines.List(i) & "\root\cimv2")

    I'm not familiar with WMI (I found this code in a search here). My question is, is there a way to check if it can get the info it needs off the machine BEFORE I set objWMIService to it? I tried things like "If GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & lstMachines.List(i) & "\root\cimv2") = 0" before it, but of course as I have no clue what I'm doing it generates an "Object Doesn't Support This Property of Method" error

    Thanks for any help

  2. #2

  3. #3
    Banned dglienna's Avatar
    Join Date
    Jun 2004
    Location
    Center of it all
    Posts
    17,901

    Re: Newb WMI: Check Before Running Query

    For some reason this doesn't report the memory in my server, but it doesn't error out. Google for scriptomatic2. It will write WMI scripts for you

    VB Code:
    1. On Error Resume Next
    2.  
    3. Const wbemFlagReturnImmediately = &h10
    4. Const wbemFlagForwardOnly = &h20
    5.  
    6. arrComputers = Array("Server.","Laptop.")
    7. For Each strComputer In arrComputers
    8.    WScript.Echo
    9.    WScript.Echo "=========================================="
    10.    WScript.Echo "Computer: " & strComputer
    11.    WScript.Echo "=========================================="
    12.  
    13.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    14.    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_MemoryArray", "WQL", _
    15.                                           wbemFlagReturnImmediately + wbemFlagForwardOnly)
    16.  
    17.    For Each objItem In colItems
    18.       WScript.Echo "Access: " & objItem.Access
    19.       strAdditionalErrorData = Join(objItem.AdditionalErrorData, ",")
    20.          WScript.Echo "AdditionalErrorData: " & strAdditionalErrorData
    21.       WScript.Echo "Availability: " & objItem.Availability
    22.       WScript.Echo "BlockSize: " & objItem.BlockSize
    23.       WScript.Echo "Caption: " & objItem.Caption
    24.       WScript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
    25.       WScript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
    26.       WScript.Echo "CorrectableError: " & objItem.CorrectableError
    27.       WScript.Echo "CreationClassName: " & objItem.CreationClassName
    28.       WScript.Echo "Description: " & objItem.Description
    29.       WScript.Echo "DeviceID: " & objItem.DeviceID
    30.       WScript.Echo "EndingAddress: " & objItem.EndingAddress
    31.       WScript.Echo "ErrorAccess: " & objItem.ErrorAccess
    32.       WScript.Echo "ErrorAddress: " & objItem.ErrorAddress
    33.       WScript.Echo "ErrorCleared: " & objItem.ErrorCleared
    34.       strErrorData = Join(objItem.ErrorData, ",")
    35.          WScript.Echo "ErrorData: " & strErrorData
    36.       WScript.Echo "ErrorDataOrder: " & objItem.ErrorDataOrder
    37.       WScript.Echo "ErrorDescription: " & objItem.ErrorDescription
    38.       WScript.Echo "ErrorGranularity: " & objItem.ErrorGranularity
    39.       WScript.Echo "ErrorInfo: " & objItem.ErrorInfo
    40.       WScript.Echo "ErrorMethodology: " & objItem.ErrorMethodology
    41.       WScript.Echo "ErrorResolution: " & objItem.ErrorResolution
    42.       WScript.Echo "ErrorTime: " & WMIDateStringToDate(objItem.ErrorTime)
    43.       WScript.Echo "ErrorTransferSize: " & objItem.ErrorTransferSize
    44.       WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
    45.       WScript.Echo "LastErrorCode: " & objItem.LastErrorCode
    46.       WScript.Echo "Name: " & objItem.Name
    47.       WScript.Echo "NumberOfBlocks: " & objItem.NumberOfBlocks
    48.       WScript.Echo "OtherErrorDescription: " & objItem.OtherErrorDescription
    49.       WScript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
    50.       strPowerManagementCapabilities = Join(objItem.PowerManagementCapabilities, ",")
    51.          WScript.Echo "PowerManagementCapabilities: " & strPowerManagementCapabilities
    52.       WScript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
    53.       WScript.Echo "Purpose: " & objItem.Purpose
    54.       WScript.Echo "StartingAddress: " & objItem.StartingAddress
    55.       WScript.Echo "Status: " & objItem.Status
    56.       WScript.Echo "StatusInfo: " & objItem.StatusInfo
    57.       WScript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
    58.       WScript.Echo "SystemLevelAddress: " & objItem.SystemLevelAddress
    59.       WScript.Echo "SystemName: " & objItem.SystemName
    60.       WScript.Echo
    61.    Next
    62. Next
    63.  
    64.  
    65. Function WMIDateStringToDate(dtmDate)
    66. WScript.Echo dtm:
    67.     WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
    68.     Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
    69.     & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
    70. End Function

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width