I've used Win32::OLE and Win32::OLE::Enum to grab WMI information. As for enumerating your output, what are you trying to accomplish? I'd tackle this differently based on if you were printing a tree menu of the data, or simply reporting on it.

Either way I've included a basic example of grabbing a CPU value from WMI. This script contains more source the necessary, to assist with learning.

#!perl #Change These Variables (Leave all variables BLANK if connecting to lo +cahost)# $server=""; $remote_user=""; $remote_pass=""; use Win32::OLE qw(in with); use Win32::OLE::Enum; Win32::OLE->Option(Warn => 0); ##WMI Connect## $WMI = Win32::OLE->new('WbemScripting.SWbemLocator'); if(!$WMI){ print Win32::OLE->LastError(); exit; } $Services = $WMI->ConnectServer($server, "root/cimv2", $remote_user, $ +remote_pass); if(!$Services){ $err_tmp_raw=Win32::OLE->LastError(); $err_tmp=Win32::OLE->LastError(); $err_tmp=~s/\'/\\'/g; $err_tmp=~s/\"/\\"/g; $err_tmp='Access Denied' if($err_tmp=~m/denied/i); $err_tmp='WMI Not Installed' if($err_tmp=~m/class not registered/i +); $err_tmp='RPC Server Unavailable' if($err_tmp=~m/rpc server is una +vailable/i); print "$err_tmp\n"; print Win32::OLE->LastError(); exit; } my $Processor_set = $Services->InstancesOf("Win32_Processor"); foreach my $object (Win32::OLE::Enum->All($Processor_set)){ print "CPU: $object->{'caption'}\n"; print "CPU Utilization: $object->{'LoadPercentage'}\n"; }

Hope this helps.


In reply to Re: How to Enum windows ActiveDirectory OU objects by FitTrend
in thread How to Enum windows ActiveDirectory OU objects by blackadder

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.