Win32_UserAccount python sample code
The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).
ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_UserAccount WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_UserAccount WMI class contains information about a user account on a Windows operating system. Note: Because both the Name and Domain are key properties, enumerating Win32_UserAccount on a large network can affect performance negatively. Calling GetObject or querying for a specific instance has less impact.
Sample Code
import win32com.client def WMIDateStringToDate(dtmDate): strDateTime = "" if (dtmDate[4] == 0): strDateTime = dtmDate[5] + '/' else: strDateTime = dtmDate[4] + dtmDate[5] + '/' if (dtmDate[6] == 0): strDateTime = strDateTime + dtmDate[7] + '/' else: strDateTime = strDateTime + dtmDate[6] + dtmDate[7] + '/' strDateTime = strDateTime + dtmDate[0] + dtmDate[1] + dtmDate[2] + dtmDate[3] + " " + dtmDate[8] + dtmDate[9] + ":" + dtmDate[10] + dtmDate[11] +':' + dtmDate[12] + dtmDate[13] return strDateTime strComputer = "." objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_UserAccount") for objItem in colItems: if objItem.AccountType != None: print "AccountType:" + ` objItem.AccountType` if objItem.Caption != None: print "Caption:" + ` objItem.Caption` if objItem.Description != None: print "Description:" + ` objItem.Description` if objItem.Disabled != None: print "Disabled:" + ` objItem.Disabled` if objItem.Domain != None: print "Domain:" + ` objItem.Domain` if objItem.FullName != None: print "FullName:" + ` objItem.FullName` if objItem.InstallDate != None: print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate) if objItem.LocalAccount != None: print "LocalAccount:" + ` objItem.LocalAccount` if objItem.Lockout != None: print "Lockout:" + ` objItem.Lockout` if objItem.Name != None: print "Name:" + ` objItem.Name` if objItem.PasswordChangeable != None: print "PasswordChangeable:" + ` objItem.PasswordChangeable` if objItem.PasswordExpires != None: print "PasswordExpires:" + ` objItem.PasswordExpires` if objItem.PasswordRequired != None: print "PasswordRequired:" + ` objItem.PasswordRequired` if objItem.SID != None: print "SID:" + ` objItem.SID` if objItem.SIDType != None: print "SIDType:" + ` objItem.SIDType` if objItem.Status != None: print "Status:" + ` objItem.Status`