http://www.perlmonks.org?node_id=360201

#!e:/perl/bin/perl -w use strict; use warnings; use Win32::Process::Info; use Data::Dumper; my @processes = ("cogbootstrapservice.exe", "java.exe", "BIBusTKServerMain.exe", "bpfis.exe", "bpbkar32.exe"); my $pi = Win32::Process::Info->new ("server.domain.com", "WMI"); my @pids = $pi->ListPids (); # Get all known PIDs foreach my $pid (@pids) { my @info = $pi->GetProcInfo($pid); # print Dumper @info; my %info; foreach my $hash_ref (@info) { foreach (sort keys %{$hash_ref}) { foreach my $service (@processes) { if ($_ eq "Caption") { if (${$hash_ref}{$_} =~ /$service/ig) { print "$_ => ${$hash_ref}{$_}\n"; } } } } } }