use warnings; use Win32::OLE qw( in ); my $WMIServices; my $Machine = "."; $WMIServices = Win32::OLE->GetObject( "winmgmts:{impersonationLevel= impersonate,(security)}//".$Machine ); my $res = $WMIServices->ExecQuery("select * from MMStorageDriver_FailurePredictData"); foreach (keys %$res) { print "$_\n"; }