gpt4 book ai didi

windows - 有依赖服务的定时任务重启服务

转载 作者:可可西里 更新时间:2023-11-01 11:27:13 26 4
gpt4 key购买 nike

我有一台充当打印服务器的 Windows 2008 R2 服务器。

此服务器上发生的几乎所有问题都可以通过重新启动后台打印程序服务来解决。

我想出了一个每天晚上自动重启服务的计划,我找到了这个命令:

Powershell.exe -ExecutionPolicy Bypass -Command { Restart-Service -Name spooler }

问题是我的假脱机程序有三个依赖它的服务,所以这个命令不起作用。在“spooler”之后添加一个 -force 命令是否安全,或者是否有任何其他方法可以做到这一点?

最佳答案

重新启动具有依赖关系的服务需要首先停止依赖服务。有一个 Dell KB article带有示例代码。在链接失效的情况下,有点调整的版本是这样的,

# Service to be restarted
$restartedService = "FooBar"

# Get service dependencies
$dependents = (get-service $restartedService).dependentservices

# information about dependent services
$dependentservices = gwmi Win32_Service | Select-object name,state,startmode | ? {$dependents.name -contains $_.name}

# Stop dependencies
Write-Host "Stopping Services" -f Yellow

foreach ($service in $dependentservices){

Write-Host "`r`nAnalyzing $($service.name)" -f Yellow

if($service.startmode -eq "auto" -or $service.status -eq "Running"){
Write-Host "Stopping $($service.name)"
stop-service $service.name
} else{
"$($service.name) is $($service.state) with the startmode: $($service.startmode)"
}
}

# Stop the service
stop-service $restartedService -force

Write-Host "Starting Services" -f Yellow

# start dependencies
foreach ($service in $dependentservices){

Write-Host "`r`nAnalyzing $($service.name)" -f Yellow

if($service.startmode -eq "auto"){
"Starting $($service.name)"
start-service $service.name
} else{
"$($service.name) is $($service.state) with the startmode: $($service.startmode)"
}
}

# start service
start-service $restartedService

关于windows - 有依赖服务的定时任务重启服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com