IIsSmtpServerSetting - WMI sample in Perl
The foundations for Manageability in Windows 2019/2012/2008/ and Windows 10/8/7/Vista/XP are 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.
On this site, you can find many WMI samples.
The IIsSmtpServerSetting WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
IIsSmtpServerSetting
Example(s)
use Win32::OLE('in'); my $computer = "."; my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\MicrosoftIISv2") or die "WMI connection failed.\n"; my $colItems = $objWMIService->ExecQuery("SELECT * FROM IIsSmtpServerSetting", "WQL"); foreach my $objItem (in $colItems) { print "AccessExecute: $objItem->{AccessExecute}\n"; print "AccessFlags: $objItem->{AccessFlags}\n"; print "AccessNoPhysicalDir: $objItem->{AccessNoPhysicalDir}\n"; print "AccessNoRemoteExecute: $objItem->{AccessNoRemoteExecute}\n"; print "AccessNoRemoteRead: $objItem->{AccessNoRemoteRead}\n"; print "AccessNoRemoteScript: $objItem->{AccessNoRemoteScript}\n"; print "AccessNoRemoteWrite: $objItem->{AccessNoRemoteWrite}\n"; print "AccessRead: $objItem->{AccessRead}\n"; print "AccessScript: $objItem->{AccessScript}\n"; print "AccessSource: $objItem->{AccessSource}\n"; print "AccessSSL: $objItem->{AccessSSL}\n"; print "AccessSSL128: $objItem->{AccessSSL128}\n"; print "AccessSSLFlags: $objItem->{AccessSSLFlags}\n"; print "AccessSSLMapCert: $objItem->{AccessSSLMapCert}\n"; print "AccessSSLNegotiateCert: $objItem->{AccessSSLNegotiateCert}\n"; print "AccessSSLRequireCert: $objItem->{AccessSSLRequireCert}\n"; print "AccessWrite: $objItem->{AccessWrite}\n"; print "AddNoHeaders: $objItem->{AddNoHeaders}\n"; print "AdminACLBin: $objItem->{AdminACLBin}\n"; print "AllowAnonymous: $objItem->{AllowAnonymous}\n"; print "AlwaysUseSsl: $objItem->{AlwaysUseSsl}\n"; print "AnonymousOnly: $objItem->{AnonymousOnly}\n"; print "AnonymousPasswordSync: $objItem->{AnonymousPasswordSync}\n"; print "AnonymousUserName: $objItem->{AnonymousUserName}\n"; print "AuthAnonymous: $objItem->{AuthAnonymous}\n"; print "AuthBasic: $objItem->{AuthBasic}\n"; print "AuthFlags: $objItem->{AuthFlags}\n"; print "AuthMD5: $objItem->{AuthMD5}\n"; print "AuthNTLM: $objItem->{AuthNTLM}\n"; print "AuthPassport: $objItem->{AuthPassport}\n"; print "AzEnable: $objItem->{AzEnable}\n"; print "AzScopeName: $objItem->{AzScopeName}\n"; print "AzStoreName: $objItem->{AzStoreName}\n"; print "BadMailDirectory: $objItem->{BadMailDirectory}\n"; print "Caption: $objItem->{Caption}\n"; print "ClusterEnabled: $objItem->{ClusterEnabled}\n"; print "ConnectionTimeout: $objItem->{ConnectionTimeout}\n"; print "ConnectResponse: $objItem->{ConnectResponse}\n"; print "DefaultDomain: $objItem->{DefaultDomain}\n"; print "DefaultLogonDomain: $objItem->{DefaultLogonDomain}\n"; print "Description: $objItem->{Description}\n"; print "DisableSocketPooling: $objItem->{DisableSocketPooling}\n"; print "DoMasquerade: $objItem->{DoMasquerade}\n"; print "DontLog: $objItem->{DontLog}\n"; print "DropDirectory: $objItem->{DropDirectory}\n"; print "EnableReverseDnsLookup: $objItem->{EnableReverseDnsLookup}\n"; print "EtrnDays: $objItem->{EtrnDays}\n"; print "EtrnSubdomains: $objItem->{EtrnSubdomains}\n"; print "FullyQualifiedDomainName: $objItem->{FullyQualifiedDomainName}\n"; print "HopCount: $objItem->{HopCount}\n"; print "LimitRemoteConnections: $objItem->{LimitRemoteConnections}\n"; print "LocalRetryAttempts: $objItem->{LocalRetryAttempts}\n"; print "LocalRetryInterval: $objItem->{LocalRetryInterval}\n"; print "LogExtFileBytesRecv: $objItem->{LogExtFileBytesRecv}\n"; print "LogExtFileBytesSent: $objItem->{LogExtFileBytesSent}\n"; print "LogExtFileClientIp: $objItem->{LogExtFileClientIp}\n"; print "LogExtFileComputerName: $objItem->{LogExtFileComputerName}\n"; print "LogExtFileCookie: $objItem->{LogExtFileCookie}\n"; print "LogExtFileDate: $objItem->{LogExtFileDate}\n"; print "LogExtFileFlags: $objItem->{LogExtFileFlags}\n"; print "LogExtFileHost: $objItem->{LogExtFileHost}\n"; print "LogExtFileHttpStatus: $objItem->{LogExtFileHttpStatus}\n"; print "LogExtFileHttpSubStatus: $objItem->{LogExtFileHttpSubStatus}\n"; print "LogExtFileMethod: $objItem->{LogExtFileMethod}\n"; print "LogExtFileProtocolVersion: $objItem->{LogExtFileProtocolVersion}\n"; print "LogExtFileReferer: $objItem->{LogExtFileReferer}\n"; print "LogExtFileServerIp: $objItem->{LogExtFileServerIp}\n"; print "LogExtFileServerPort: $objItem->{LogExtFileServerPort}\n"; print "LogExtFileSiteName: $objItem->{LogExtFileSiteName}\n"; print "LogExtFileTime: $objItem->{LogExtFileTime}\n"; print "LogExtFileTimeTaken: $objItem->{LogExtFileTimeTaken}\n"; print "LogExtFileUriQuery: $objItem->{LogExtFileUriQuery}\n"; print "LogExtFileUriStem: $objItem->{LogExtFileUriStem}\n"; print "LogExtFileUserAgent: $objItem->{LogExtFileUserAgent}\n"; print "LogExtFileUserName: $objItem->{LogExtFileUserName}\n"; print "LogExtFileWin32Status: $objItem->{LogExtFileWin32Status}\n"; print "LogFileDirectory: $objItem->{LogFileDirectory}\n"; print "LogFilePeriod: $objItem->{LogFilePeriod}\n"; print "LogFileTruncateSize: $objItem->{LogFileTruncateSize}\n"; print "LogOdbcDataSource: $objItem->{LogOdbcDataSource}\n"; print "LogOdbcPassword: $objItem->{LogOdbcPassword}\n"; print "LogOdbcTableName: $objItem->{LogOdbcTableName}\n"; print "LogOdbcUserName: $objItem->{LogOdbcUserName}\n"; print "LogPluginClsid: $objItem->{LogPluginClsid}\n"; print "LogType: $objItem->{LogType}\n"; print "MasqueradeDomain: $objItem->{MasqueradeDomain}\n"; print "MaxBandwidth: $objItem->{MaxBandwidth}\n"; print "MaxBatchedMessages: $objItem->{MaxBatchedMessages}\n"; print "MaxConnections: $objItem->{MaxConnections}\n"; print "MaxDirChangeIOSize: $objItem->{MaxDirChangeIOSize}\n"; print "MaxEndpointConnections: $objItem->{MaxEndpointConnections}\n"; print "MaxMailObjects: $objItem->{MaxMailObjects}\n"; print "MaxMessageSize: $objItem->{MaxMessageSize}\n"; print "MaxOutConnections: $objItem->{MaxOutConnections}\n"; print "MaxOutConnectionsPerDomain: $objItem->{MaxOutConnectionsPerDomain}\n"; print "MaxRecipients: $objItem->{MaxRecipients}\n"; print "MaxSessionSize: $objItem->{MaxSessionSize}\n"; print "MaxSmtpErrors: $objItem->{MaxSmtpErrors}\n"; print "Name: $objItem->{Name}\n"; print "NameResolutionType: $objItem->{NameResolutionType}\n"; print "NTAuthenticationProviders: $objItem->{NTAuthenticationProviders}\n"; print "PickupDirectory: $objItem->{PickupDirectory}\n"; print "QueueDirectory: $objItem->{QueueDirectory}\n"; print "Realm: $objItem->{Realm}\n"; print "RelayForAuth: $objItem->{RelayForAuth}\n"; print "RelayIpList: $objItem->{RelayIpList}\n"; print "RemoteRetryAttempts: $objItem->{RemoteRetryAttempts}\n"; print "RemoteRetryInterval: $objItem->{RemoteRetryInterval}\n"; print "RemoteSmtpPort: $objItem->{RemoteSmtpPort}\n"; print "RemoteSmtpSecurePort: $objItem->{RemoteSmtpSecurePort}\n"; print "RemoteTimeout: $objItem->{RemoteTimeout}\n"; print "RouteAction: $objItem->{RouteAction}\n"; print "RoutePassword: $objItem->{RoutePassword}\n"; print "RouteUserName: $objItem->{RouteUserName}\n"; print "RoutingDll: $objItem->{RoutingDll}\n"; print "SaslLogonDomain: $objItem->{SaslLogonDomain}\n"; print "SecureBindings: $objItem->{SecureBindings}\n"; print "SendBadTo: $objItem->{SendBadTo}\n"; print "SendNdrTo: $objItem->{SendNdrTo}\n"; print "ServerAutoStart: $objItem->{ServerAutoStart}\n"; print "ServerBindings: $objItem->{ServerBindings}\n"; print "ServerComment: $objItem->{ServerComment}\n"; print "ServerListenBacklog: $objItem->{ServerListenBacklog}\n"; print "ServerListenTimeout: $objItem->{ServerListenTimeout}\n"; print "SettingID: $objItem->{SettingID}\n"; print "ShouldDeliver: $objItem->{ShouldDeliver}\n"; print "ShouldPickupMail: $objItem->{ShouldPickupMail}\n"; print "ShouldPipelineIn: $objItem->{ShouldPipelineIn}\n"; print "ShouldPipelineOut: $objItem->{ShouldPipelineOut}\n"; print "SmartHost: $objItem->{SmartHost}\n"; print "SmartHostType: $objItem->{SmartHostType}\n"; print "SmtpAqueueWait: $objItem->{SmtpAqueueWait}\n"; print "SmtpAuthTimeout: $objItem->{SmtpAuthTimeout}\n"; print "SmtpBdatTimeout: $objItem->{SmtpBdatTimeout}\n"; print "SmtpClearTextProvider: $objItem->{SmtpClearTextProvider}\n"; print "SmtpConnectTimeout: $objItem->{SmtpConnectTimeout}\n"; print "SmtpDataTimeout: $objItem->{SmtpDataTimeout}\n"; print "SmtpDisableRelay: $objItem->{SmtpDisableRelay}\n"; print "SmtpDomainValidationFlags: $objItem->{SmtpDomainValidationFlags}\n"; print "SmtpDotStuffPickupDirFiles: $objItem->{SmtpDotStuffPickupDirFiles}\n"; print "SmtpDSNLanguageID: $objItem->{SmtpDSNLanguageID}\n"; print "SmtpDSNOptions: $objItem->{SmtpDSNOptions}\n"; print "SmtpEventlogLevel: $objItem->{SmtpEventlogLevel}\n"; print "SmtpHeloNoDomain: $objItem->{SmtpHeloNoDomain}\n"; print "SmtpHeloTimeout: $objItem->{SmtpHeloTimeout}\n"; print "SmtpInboundCommandSupportOptions: $objItem->{SmtpInboundCommandSupportOptions}\n"; print "SmtpIpRestrictionFlag: $objItem->{SmtpIpRestrictionFlag}\n"; print "SmtpLocalDelayExpireMinutes: $objItem->{SmtpLocalDelayExpireMinutes}\n"; print "SmtpLocalNDRExpireMinutes: $objItem->{SmtpLocalNDRExpireMinutes}\n"; print "SmtpMailFromTimeout: $objItem->{SmtpMailFromTimeout}\n"; print "SmtpMailNoHelo: $objItem->{SmtpMailNoHelo}\n"; print "SmtpMaxRemoteQThreads: $objItem->{SmtpMaxRemoteQThreads}\n"; print "SmtpOutboundCommandSupportOptions: $objItem->{SmtpOutboundCommandSupportOptions}\n"; print "SmtpRcptToTimeout: $objItem->{SmtpRcptToTimeout}\n"; print "SmtpRemoteDelayExpireMinutes: $objItem->{SmtpRemoteDelayExpireMinutes}\n"; print "SmtpRemoteNDRExpireMinutes: $objItem->{SmtpRemoteNDRExpireMinutes}\n"; print "SmtpRemoteProgressiveRetry: $objItem->{SmtpRemoteProgressiveRetry}\n"; print "SmtpRemoteRetryThreshold: $objItem->{SmtpRemoteRetryThreshold}\n"; print "SmtpRsetTimeout: $objItem->{SmtpRsetTimeout}\n"; print "SmtpSaslTimeout: $objItem->{SmtpSaslTimeout}\n"; print "SmtpSSLCertHostnameValidation: $objItem->{SmtpSSLCertHostnameValidation}\n"; print "SmtpSSLRequireTrustedCA: $objItem->{SmtpSSLRequireTrustedCA}\n"; print "SmtpTurnTimeout: $objItem->{SmtpTurnTimeout}\n"; print "SmtpUseTcpDns: $objItem->{SmtpUseTcpDns}\n"; print "UpdatedDefaultDomain: $objItem->{UpdatedDefaultDomain}\n"; print "UpdatedFQDN: $objItem->{UpdatedFQDN}\n"; print "Win32Error: $objItem->{Win32Error}\n"; print "\n"; print "########\n"; print "\n"; }