$class = "winmgmts:{impersonationLevel=impersonate}\\\\$key\\Root\\cimv2"; $process_info = Win32::OLE->GetObject( $class ) || warn "\n shit"; my $cnt = 0; foreach my $process ( sort { $a->{Name} cmp $b->{Name}} in( $process_info->InstancesOf( "Win32_Process" ))) { print LOG $process -> {Name} . "\n"; print LOG $process -> {ProcessID} . "\n"; print LOG $process -> {ExecutablePath} . "\n\n"; }