Background
Its complex and repeatable to stop and start qlik services when in maintain.
So we can write down a powershell script to auto restart the qlik services.
每次qlik服務器有問題的時候,都需要停止和重啓服務,這個時候如果用powershell來處理就很簡單了,三句核心代碼搞定一切.
Script
echo "#####################################################"
echo " _ __ __ ___ "
echo " | | | \/ | | \ "
echo " | |__ | |\/| | | |) | "
echo " |____| |_| |_| |___/ "
echo "RESTARTING QLIK SERVICE"
echo "#####################################################"
echo " by zhengkai.blog.csdn.net"
echo "1.checking qlik services status:"
Get-Service -DisplayName qlik*
echo "2.stopping qlik services"
Get-Service -DisplayName qlik* | Where-Object -FilterScript {$_.CanStop} | Stop-Service
echo "3.starting qlik"
Get-Service -DisplayName qlik* | Where-Object -FilterScript {$_.CanStop} | Start-Service
echo "4.checking qlik services status again"
Get-Service -DisplayName qlik*
Document
The development document that about how to manage the service.can be found in Microsoft's Doc center
.
关于如何用PowerShell管理Windows服务
,可以参考以下文档:
https://docs.microsoft.com/zh-cn/powershell/scripting/samples/managing-services?view=powershell-7
- 获取服务
可以通过使用 Get-Service cmdlet 获取本地或远程计算机上的服务。 与使用 Get-Process 相同,使用不带参数的 Get-Service 命令将返回所有服务。 你可以按名称进行筛选,甚至可以使用星号作为通配符:
PowerShell
PS> Get-Service -Name qlik*
Status Name DisplayName
------ ---- -----------
Running QlikLoggingService Qlik Logging Service
Running QlikSenseEngine... Qlik Sense Engine Service
Running QlikSensePrinti... Qlik Sense Printing Service
Running QlikSenseProxyS... Qlik Sense Proxy Service
Running QlikSenseReposi... Qlik Sense Repository Database
Running QlikSenseReposi... Qlik Sense Repository Service
Running QlikSenseSchedu... Qlik Sense Scheduler Service
Running QlikSenseServic... Qlik Sense Service Dispatcher
by zhengkai.blog.csdn.net
-
停止、启动、暂停和重启服务
所有 Service cmdlet 都具有相同的一般形式。 可以按公用名或显示名称指定服务,并使用列表和通配符作为值。
若要停止
后台处理程序,请使用:
Stop-Service -Name QlikSensePrintingService
若要在停止后启动
后台处理程序,请使用:
Start-Service -Name QlikSensePrintingService
若要暂停
后台处理程序,请使用:
Suspend-Service -Name QlikSensePrintingService
-
重启多个服务 可先获取
服务列表
,并对其进行筛选
,然后执行
重启操作:
PS> Get-Service -Name QlikSense* | Where-Object -FilterScript {$_.CanStop} | Restart-Service