My aim is to start a win service in a remote windows box through perl.
Below is my code,which will print all the service status and will check for a for a perticular serviceSensrSvc) status and trying to start that service by useing "Win32::Service::StartService("", $serviceHash{$key});".
My script not able to start the service once it executes the code "Win32::Service::StartService("", $serviceHash{$key});". Please help me.
#!C:\Perl64\bin\perl.exe use Win32::Service; #set up a hash of known service states my %statcodeHash = ( '1' => 'stopped.', '2' => 'start pending.', '3' => 'stop pending.', '4' => 'running.', '5' => 'continue pending.', '6' => 'pause pending.', '7' => 'paused.' ); my %serviceHash; #go get 'em... Win32::Service::GetServices("", \%serviceHash); foreach $key(keys %serviceHash){ my %statusHash; Win32::Service::GetStatus("", $serviceHash{$key}, \%statusHash); if ($statusHash{"CurrentState"} =~ /[1-7]/){ print $serviceHash{"$key"} . " is currently " . $statcodeHash{ +$statusHash{"CurrentState"}} . "\n"; if (( $serviceHash{"$key"} =~ /SensrSvc/ ) && ($statcodeHash{$sta +tusHash{"CurrentState"}} =~/stopped/ )) { # Win32::Service::StartService("", $serviceHash{$key}); system `net start "SensrSvc" `; print "$serviceHash{$key} !!! \n" ; } } }
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |