我有一个充当打印服务器的Windows 2008 R2服务器。
通过重新启动打印后台处理程序服务,几乎所有在此服务器上发生的问题都得到解决。
我想出了一个计划,每晚自动重启服务,我发现这个命令:
Powershell.exe -ExecutionPolicy旁路-Command {重新启动服务-Name假脱机程序}
问题是我的假脱机程序有三个服务依赖于它,所以这个命令将无法正常工作。 在“假脱机程序”之后添加-force命令是否安全?还有其他方法可以吗?
重新启动具有依赖关系的服务需要首先停止依赖服务。 有一个戴尔知识库文章的示例代码。 在链接腐烂的情况下,一个位调整版本是这样的,
# 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