Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Win32::Service Module is not able start a service in windows

by bmallik (Initiate)
on Feb 11, 2013 at 10:31 UTC ( #1018127=perlquestion: print w/ replies, xml ) Need Help??
bmallik has asked for the wisdom of the Perl Monks concerning the following question:

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" ; } } }

Comment on Win32::Service Module is not able start a service in windows
Download Code
Re: Win32::Service Module is not able start a service in windows
by Anonymous Monk on Feb 11, 2013 at 10:54 UTC

    My aim is to start a win service in a remote windows box through perl.

    Why don't you specify a hostname, if that is your aim?

    for diagnostic info try using  Win32::Service...() or die $^E ;

Re: Win32::Service Module is not able start a service in windows
by Anonymous Monk on Feb 11, 2013 at 13:08 UTC
    Is your code authorized to do so?
      Well actually thats where I am confused. I could able to fetch the status by Win32::Service::GetStatus(); But not able to start it by using GetStart() API.

        Can you start the service with net start?


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1018127]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2014-08-23 06:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (172 votes), past polls