Изменение типа запуска службы
function FunEvalRTN($rtn)
{
Switch ($rtn.returnvalue)
{
0 { Write-Host -foregroundcolor green "No errors for $strCall" }
2 { Write-Host -foregroundcolor red "$strService service reports" `
" access denied" }
5 { Write-Host -ForegroundColor red "$strService service can not" `
" accept control at this time" }
10 { Write-Host -ForegroundColor red "$strService service is already" `
" running" }
14 { Write-Host -ForegroundColor red "$strService service is disabled" }
DEFAULT { Write-Host -ForegroundColor red "$strService service reports" `
" ERROR $($rtn.returnValue)" }
}
$rtn=$strCall=$null
}
$strService = "bits" #replace with service to stop, OR with $args for cmdline argument
$strComputer = "localhost" #leave for current computer, or replace to remote to another
$strClass = "win32_service" #leave alone for current script!
$objWmiService = Get-Wmiobject -Class $strClass -computer $strComputer `
-filter "name = '$strService'"
if( $objWMIService.state -ne 'running' -AND $objWMIService.startMode -eq 'Disabled')
{
Write-Host "The $strService service is disabled. Changing to manual ..."
$rtn = $objWmiService.ChangeStartMode("Manual")
$strCall = "Changing service to Manual"
FunEvalRTN($rtn)
if($rtn.returnValue -eq 0)
{
Write-Host "The $strService service is not running. Attempting to start ..."
$rtn = $objWMIService.StartService()
$strCall = "Starting service"
FunEvalRTN($rtn)
}
}
ELSEIF($objWMIService.state -ne 'running')
{
Write-Host "The $strService service is not running. Attempting to start ..."
$rtn = $objWMIService.StartService()
$strCall = "Starting service"
FunEvalRTN($rtn)
}
ELSEIF($objWMIService.state -eq 'running')
{
Write-Host "The $strService service is already running"
}
ELSE
{
Write-Host "$strService is indeterminent"
}
Голосов пока нет

Оставить комментарий