#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Win32::OLE qw (in); my $Computer="."; my $WMIServices = Win32::OLE->GetObject("winmgmts:\\\\" . $Computer . "\\root\\cimv2"); my $WMIClasses = $WMIServices->SubclassesOf; foreach my $objItem (in $WMIClasses) { print Dumper($objItem); }