WindowsPowerShell 停止、启动、暂停和重启服务、卸载服务

1,019 阅读1分钟

PowerShell 停止、启动、暂停和重启服务、卸载服务

PowerShell 停止、启动、暂停和重启服务 官文

powershell卸载服务 官文

@TOC

停止、启动、暂停和重启

所有 Service cmdlet 都具有相同的一般形式。 可以按公用名或显示名称指定服务,并使用列表和通配符作为值。

停止服务

若要停止打印后台处理程序,请使用:

Stop-Service -Name spooler

启动服务

若要在打印后台处理程序停止后启动它,请使用:

Start-Service -Name spooler

暂停服务

若要暂停打印后台处理程序,请使用:

Suspend-Service -Name spooler

重启服务

Restart-Service cmdlet 的工作方式与其他 Service cmdlet 相同:

Restart-Service -Name spooler
PS> Restart-Service -Name spooler

WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
PS>

请注意,你将收到有关打印后台处理程序启动的重复警告消息。 当你执行需要耗费一些时间的服务操作时,PowerShell 将通知你它仍在尝试执行该任务。

如果想要重启多个服务,则可获取服务列表,并对其进行筛选,然后执行重启操作:

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

WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
Restart-Service : can't stop service 'Logical Disk Manager (dmserver)' because
 it has dependent services. It can only be stopped if the Force flag is set.
At line:1 char:57
+ Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service <<<<
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...

虽然这些 Service cmdlet 没有 ComputerName 参数,但是你可通过使用 Invoke-Command cmdlet 在远程计算机上运行它们。 例如,下面的命令在 Server01 远程计算机上重启后台打印程序服务。

Invoke-Command -ComputerName Server01 {Restart-Service Spooler}




停止、启动、暂停、重启、删除 MySQL服务

停止MySQL服务

Stop-Service -Name mysql

启动MySQL服务

Start-Service -Name mysql

暂停MySQL服务

Suspend-Service -Name mysql

重启MySQL服务

Restart-Service -Name mysql

对比dos(cmd) 的 netsc.exe

停止

  • Stop-Service -Name mysql
  • net stop mysql
  • sc.exe stop mysql

启动

  • Start-Service -Name mysql
  • net start mysql
  • sc.exe start mysql

重启

  • Restart-Service -Name mysql

删除

  • Remove-Service mysql 必须安装 PowerShell 6 或更高版本才能使用此 cmdlet
  • sc.exe delete mysql
  • mysqld remove mysql

查看服务状态

  • Get-Service -Name mysql
  • sc.exe query mysql