Win32_NTDomain 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_NTDomain WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
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_NTDomain")
for objItem in colItems:
if objItem.Caption != None:
print "Caption:" + ` objItem.Caption`
if objItem.ClientSiteName != None:
print "ClientSiteName:" + ` objItem.ClientSiteName`
if objItem.CreationClassName != None:
print "CreationClassName:" + ` objItem.CreationClassName`
if objItem.DcSiteName != None:
print "DcSiteName:" + ` objItem.DcSiteName`
if objItem.Description != None:
print "Description:" + ` objItem.Description`
if objItem.DnsForestName != None:
print "DnsForestName:" + ` objItem.DnsForestName`
if objItem.DomainControllerAddress != None:
print "DomainControllerAddress:" + ` objItem.DomainControllerAddress`
if objItem.DomainControllerAddressType != None:
print "DomainControllerAddressType:" + ` objItem.DomainControllerAddressType`
if objItem.DomainControllerName != None:
print "DomainControllerName:" + ` objItem.DomainControllerName`
if objItem.DomainGuid != None:
print "DomainGuid:" + ` objItem.DomainGuid`
if objItem.DomainName != None:
print "DomainName:" + ` objItem.DomainName`
if objItem.DSDirectoryServiceFlag != None:
print "DSDirectoryServiceFlag:" + ` objItem.DSDirectoryServiceFlag`
if objItem.DSDnsControllerFlag != None:
print "DSDnsControllerFlag:" + ` objItem.DSDnsControllerFlag`
if objItem.DSDnsDomainFlag != None:
print "DSDnsDomainFlag:" + ` objItem.DSDnsDomainFlag`
if objItem.DSDnsForestFlag != None:
print "DSDnsForestFlag:" + ` objItem.DSDnsForestFlag`
if objItem.DSGlobalCatalogFlag != None:
print "DSGlobalCatalogFlag:" + ` objItem.DSGlobalCatalogFlag`
if objItem.DSKerberosDistributionCenterFlag != None:
print "DSKerberosDistributionCenterFlag:" + ` objItem.DSKerberosDistributionCenterFlag`
if objItem.DSPrimaryDomainControllerFlag != None:
print "DSPrimaryDomainControllerFlag:" + ` objItem.DSPrimaryDomainControllerFlag`
if objItem.DSTimeServiceFlag != None:
print "DSTimeServiceFlag:" + ` objItem.DSTimeServiceFlag`
if objItem.DSWritableFlag != None:
print "DSWritableFlag:" + ` objItem.DSWritableFlag`
if objItem.InstallDate != None:
print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate)
if objItem.Name != None:
print "Name:" + ` objItem.Name`
if objItem.NameFormat != None:
print "NameFormat:" + ` objItem.NameFormat`
if objItem.PrimaryOwnerContact != None:
print "PrimaryOwnerContact:" + ` objItem.PrimaryOwnerContact`
if objItem.PrimaryOwnerName != None:
print "PrimaryOwnerName:" + ` objItem.PrimaryOwnerName`
print "Roles:"
strList = " "
try :
for objElem in objItem.Roles :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.Status != None:
print "Status:" + ` objItem.Status`
