(用powershell檢測和重啓WINDOWS服務) the powershell script to auto check and restart the qlik services

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

  1. 获取服务
    可以通过使用 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
  1. 停止、启动、暂停和重启服务
    所有 Service cmdlet 都具有相同的一般形式。 可以按公用名或显示名称指定服务,并使用列表和通配符作为值。
    若要停止后台处理程序,请使用:
    Stop-Service -Name QlikSensePrintingService
    若要在停止后启动后台处理程序,请使用:
    Start-Service -Name QlikSensePrintingService
    若要暂停后台处理程序,请使用:
    Suspend-Service -Name QlikSensePrintingService

  2. 重启多个服务 可先获取服务列表,并对其进行筛选,然后执行重启操作:

PS> Get-Service -Name QlikSense*  | Where-Object -FilterScript {$_.CanStop} | Restart-Service

猜你喜欢

转载自blog.csdn.net/moshowgame/article/details/105917390