Contact Info

Crumbtrail

ActiveXperts.com » Administration » Scripts » WMI » perl sample

Win32_PerfFormattedData_AcdPerf perl 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_PerfFormattedData_AcdPerf WMI class can be used in ActiveXperts Network Monitor to monitor your servers.


Sample Code

use Win32::OLE('in');

my $computer = ".";

my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
my $colItems = $objWMIService->ExecQuery("SELECT * FROM Win32_PerfFormattedData_AcdPerf_LCRGS00ResponseGroupServiceHosting", "WQL");

foreach my $objItem (in $colItems) {
	print "Caption: $objItem->{Caption}\n";
	print "Description: $objItem->{Description}\n";
	print "Frequency_Object: $objItem->{Frequency_Object}\n";
	print "Frequency_PerfTime: $objItem->{Frequency_PerfTime}\n";
	print "Frequency_Sys100NS: $objItem->{Frequency_Sys100NS}\n";
	print "Name: $objItem->{Name}\n";
	print "RGS000Totalnumberofincomingcallssincestartup: $objItem->{RGS000Totalnumberofincomingcallssincestartup}\n";
	print "RGS001Totalnumberofincomingcallsdeclinedbecauseofhighnumberofactivecalls: $objItem->{RGS001Totalnumberofincomingcallsdeclinedbecauseofhighnumberofactivecalls}\n";
	print "RGS002Totalnumberofincomingcallsdeclinedbecauseofmemorypressure: $objItem->{RGS002Totalnumberofincomingcallsdeclinedbecauseofmemorypressure}\n";
	print "RGS003TotalnumberofincomingcallsdeclinedbecauseofSIPheadersthatwerenotvalid: $objItem->{RGS003TotalnumberofincomingcallsdeclinedbecauseofSIPheadersthatwerenotvalid}\n";
	print "RGS004Totalnumberofincomingcallsdeclinedbecauseofworkflowcreationfailure: $objItem->{RGS004Totalnumberofincomingcallsdeclinedbecauseofworkflowcreationfailure}\n";
	print "RGS005Totalnumberofincomingcallsthatweredeclinedduetoworkflowstartupfailure: $objItem->{RGS005Totalnumberofincomingcallsthatweredeclinedduetoworkflowstartupfailure}\n";
	print "RGS006Totalnumberofincomingcallsthatweredeclinedduetoconferencingattempt: $objItem->{RGS006Totalnumberofincomingcallsthatweredeclinedduetoconferencingattempt}\n";
	print "RGS007TotalnumberofincomingcallsthatweredeclinedduetomissingReferredByheader: $objItem->{RGS007TotalnumberofincomingcallsthatweredeclinedduetomissingReferredByheader}\n";
	print "RGS008TotalnumberofincomingcallsthatdeclinedduetoMsRoutingScenarioheadernotbeingvalid: $objItem->{RGS008TotalnumberofincomingcallsthatdeclinedduetoMsRoutingScenarioheadernotbeingvalid}\n";
	print "RGS009TotalnumberofincomingcallsthatweredeclinedduetovideoonlySDP: $objItem->{RGS009TotalnumberofincomingcallsthatweredeclinedduetovideoonlySDP}\n";
	print "RGS010TotalnumberofincomingcallsthatweredeclinedbecauseofaMatchMakingfailure: $objItem->{RGS010TotalnumberofincomingcallsthatweredeclinedbecauseofaMatchMakingfailure}\n";
	print "RGS011Totalnumberofunhandledexceptions: $objItem->{RGS011Totalnumberofunhandledexceptions}\n";
	print "RGS012Totalnumberofdifferentworkflowsloadedinmemory: $objItem->{RGS012Totalnumberofdifferentworkflowsloadedinmemory}\n";
	print "RGS013Totalnumberofdifferentapplicationendpoints: $objItem->{RGS013Totalnumberofdifferentapplicationendpoints}\n";
	print "RGS014Totalnumberofcompiledandcachedworkflowassemblies: $objItem->{RGS014Totalnumberofcompiledandcachedworkflowassemblies}\n";
	print "RGS015TotalnumberoffailureswhenbindingtotheCollaborationPlatform: $objItem->{RGS015TotalnumberoffailureswhenbindingtotheCollaborationPlatform}\n";
	print "RGS016TotalnumberoffailureswhenbindingMatchMakingtoWCF: $objItem->{RGS016TotalnumberoffailureswhenbindingMatchMakingtoWCF}\n";
	print "RGS017Totalnumberofapplicationendpointbindingfailures: $objItem->{RGS017Totalnumberofapplicationendpointbindingfailures}\n";
	print "RGS018Totalnumberofcertificatevalidationfailures: $objItem->{RGS018Totalnumberofcertificatevalidationfailures}\n";
	print "RGS019Totalnumberofsuccessfulcertificatevalidations: $objItem->{RGS019Totalnumberofsuccessfulcertificatevalidations}\n";
	print "RGS020Totalnumberofapplicationendpointterminations: $objItem->{RGS020Totalnumberofapplicationendpointterminations}\n";
	print "RGS021Durationofthecallinmilliseconds: $objItem->{RGS021Durationofthecallinmilliseconds}\n";
	print "Timestamp_Object: $objItem->{Timestamp_Object}\n";
	print "Timestamp_PerfTime: $objItem->{Timestamp_PerfTime}\n";
	print "Timestamp_Sys100NS: $objItem->{Timestamp_Sys100NS}\n";
	print "\n";
	print "########\n";
	print "\n";
}