Win32_NetworkLoginProfile python sample code | ActiveXperts Network Monitor
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_NetworkLoginProfile WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_NetworkLoginProfile WMI class represents the network login information of a specific user on a Windows system. This includes, but is not limited to password status, access privileges, disk quotas, and login directory paths.
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_NetworkLoginProfile")
for objItem in colItems:
if objItem.AccountExpires != None:
print "AccountExpires:" + WMIDateStringToDate(objItem.AccountExpires)
if objItem.AuthorizationFlags != None:
print "AuthorizationFlags:" + ` objItem.AuthorizationFlags`
if objItem.BadPasswordCount != None:
print "BadPasswordCount:" + ` objItem.BadPasswordCount`
if objItem.Caption != None:
print "Caption:" + ` objItem.Caption`
if objItem.CodePage != None:
print "CodePage:" + ` objItem.CodePage`
if objItem.Comment != None:
print "Comment:" + ` objItem.Comment`
if objItem.CountryCode != None:
print "CountryCode:" + ` objItem.CountryCode`
if objItem.Description != None:
print "Description:" + ` objItem.Description`
if objItem.Flags != None:
print "Flags:" + ` objItem.Flags`
if objItem.FullName != None:
print "FullName:" + ` objItem.FullName`
if objItem.HomeDirectory != None:
print "HomeDirectory:" + ` objItem.HomeDirectory`
if objItem.HomeDirectoryDrive != None:
print "HomeDirectoryDrive:" + ` objItem.HomeDirectoryDrive`
if objItem.LastLogoff != None:
print "LastLogoff:" + WMIDateStringToDate(objItem.LastLogoff)
if objItem.LastLogon != None:
print "LastLogon:" + WMIDateStringToDate(objItem.LastLogon)
if objItem.LogonHours != None:
print "LogonHours:" + ` objItem.LogonHours`
if objItem.LogonServer != None:
print "LogonServer:" + ` objItem.LogonServer`
if objItem.MaximumStorage != None:
print "MaximumStorage:" + ` objItem.MaximumStorage`
if objItem.Name != None:
print "Name:" + ` objItem.Name`
if objItem.NumberOfLogons != None:
print "NumberOfLogons:" + ` objItem.NumberOfLogons`
if objItem.Parameters != None:
print "Parameters:" + ` objItem.Parameters`
if objItem.PasswordAge != None:
print "PasswordAge:" + WMIDateStringToDate(objItem.PasswordAge)
if objItem.PasswordExpires != None:
print "PasswordExpires:" + WMIDateStringToDate(objItem.PasswordExpires)
if objItem.PrimaryGroupId != None:
print "PrimaryGroupId:" + ` objItem.PrimaryGroupId`
if objItem.Privileges != None:
print "Privileges:" + ` objItem.Privileges`
if objItem.Profile != None:
print "Profile:" + ` objItem.Profile`
if objItem.ScriptPath != None:
print "ScriptPath:" + ` objItem.ScriptPath`
if objItem.SettingID != None:
print "SettingID:" + ` objItem.SettingID`
if objItem.UnitsPerWeek != None:
print "UnitsPerWeek:" + ` objItem.UnitsPerWeek`
if objItem.UserComment != None:
print "UserComment:" + ` objItem.UserComment`
if objItem.UserId != None:
print "UserId:" + ` objItem.UserId`
if objItem.UserType != None:
print "UserType:" + ` objItem.UserType`
if objItem.Workstations != None:
print "Workstations:" + ` objItem.Workstations`
