所有 Service cmdlet 都具有相同的一般形式。 可以按公用名或显示名称指定服务,并使用列表和通配符作为值。 若要停止打印后台处理程序,请使用:

Stop-Service -Name spooler

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

Start-Service -Name spooler

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

Suspend-Service -Name spooler

虽然 Restart-Service cmdlet 的操作方式与其他 Service cmdlet 的操作方式相同,但是我们将针对它列举一些更复杂的示例。 使用最简单的方式指定服务的名称:

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>

你将注意到你收到了有关打印后台处理程序启动的重复警告消息。 执行需要耗费一些时间的服务操作时,Windows 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 : Cannot 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}

设置服务属性

Set-Service cmdlet 更改本地或远程计算机上服务的属性。 因为服务状态是一种属性,所以你可以使用此 cmdlet 来启动、停止和暂停服务。 Set-Service cmdlet 还有一个 StartupType 参数,可让你更改服务启动类型。
若要在 Windows Vista 和 Windows 的更高版本上使用 Set-Service,请使用“以管理员身份运行”选项打开 Windows PowerShell。