2 changed files with 78 additions and 40 deletions
@ -1,33 +1,44 @@
|
||||
|
||||
eval { |
||||
use Win32::Service; |
||||
}; |
||||
if (exists $INC{'Win32/Service.pm'}) { |
||||
print "Win32::Service is loaded\n"; |
||||
} else { |
||||
print "Win32::Service is not loaded\n"; |
||||
print "Attempting to install from cpan..\n"; |
||||
use CPAN; |
||||
my $module = 'Win32::Service'; |
||||
eval { |
||||
CPAN::Shell->install($module); |
||||
}; |
||||
if ($@) { |
||||
print "Error installing $module: $@"; |
||||
} else { |
||||
print "$module installed\n"; |
||||
} |
||||
} |
||||
eval { |
||||
use Win32::Service; |
||||
}; |
||||
if ($@) { |
||||
print "Unable to load or install Win32::Service. error: $@\n"; |
||||
} else { |
||||
my $service = "BITS"; |
||||
if (Win32::Service::StartService('', $service)) { |
||||
print "$service started\n"; |
||||
} else { |
||||
print "Failed to start $service\n"; |
||||
} |
||||
|
||||
eval { |
||||
require Win32::Service; |
||||
}; |
||||
if (exists $INC{'Win32/Service.pm'}) { |
||||
print "perl Win32::Service module is loaded\n"; |
||||
} else { |
||||
print "perl Win32::Service module is not loaded\n"; |
||||
print "Attempting to install from cpan..\n"; |
||||
use CPAN; |
||||
my $module = 'Win32::Service'; |
||||
eval { |
||||
CPAN::Shell->install($module); |
||||
}; |
||||
if ($@) { |
||||
print "Error installing $module: $@"; |
||||
} else { |
||||
print "$module installed\n"; |
||||
} |
||||
} |
||||
$@ = ''; |
||||
eval { |
||||
require Win32::Service; |
||||
}; |
||||
if ($@) { |
||||
print "Unable to load or install perl Win32::Service module. error: $@\n"; |
||||
} else { |
||||
my $service = "BITS"; |
||||
if (Win32::Service::GetStatus('', $service, \%status)) { |
||||
if ($status{CurrentState} == SERVICE_RUNNING) { |
||||
print "Service '$service' is already running.\n"; |
||||
} else { |
||||
print "Attempting to start '$service' service\n"; |
||||
if (Win32::Service::StartService('', $service)) { |
||||
print "$service started\n"; |
||||
} else { |
||||
print "Failed to start '$service' service. Error $^E\n"; |
||||
print "Ensure this script is run from an elevated shell or use a script that elevates permission\n" |
||||
} |
||||
} |
||||
} else { |
||||
print "Failed to get status for '$service' service. Error $^E\n"; |
||||
} |
||||
} |
Loading…
Reference in new issue