Restart print spooler service (Perl)

This code can be found in Chapter 8 of Windows Server 2003 Networking Recipes

Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.

Find out how to download all of the Perl code from this site.

# From the book "Windows Server 2003 Networking Recipes"

# This code will stop and start the print spooler service
# ---SCRIPT CONFIGURATION---

use Win32::OLE qw(in);

$strComputer = '.';
# ---END CONFIGURATION---
$objWMIService = Win32::OLE->GetObject('winmgmts:' . '{impersonationLevel=impersonate}!\\\\' . $strComputer . '\\root\\cimv2');
$colServiceList = $objWMIService->ExecQuery('Select * from Win32_Service where Name=\'Spooler\'');
foreach my $objService (in $colServiceList) {
    $errReturn = $objService->StopService();
}
$colServiceList = $objWMIService->ExecQuery('Select * from Win32_Service where Name=\'Spooler\'');
foreach my $objService (in $colServiceList) {
    $errReturn = $objService->StartService();
}
print "Script Complete\n";

This code has been viewed 4555 times.

New from the creators of TechTasks.com: StatSheet.com