Contact Info

Crumbtrail

ActiveXperts.com » Administration » Scripts » WMI Performance Counters » Perl

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";
}