使用以下命令运行脚本时:

Restart-Service ServiceName

如何捕获结果?例如,如果该服务不存在,则会收到类似以下的消息:
Restart-Service : Cannot find any service with service name 'ServiceName'.

我已经尝试过使用trycatch,但是没有运气。

最佳答案

您可以 checkout ErrorAction参数。如果您不希望出现错误,则可以尝试以下操作(检查$?以查看是否成功)。

Restart-Service ServiceName -ErrorAction SilentlyContinue

try catch不会捕获您看到的所有错误,只会终止错误。如果您想将错误转为终止错误,则可以尝试以下操作。
try
{
    Restart-Service ServiceName -ErrorAction Stop
}
catch
{
    'Catched'
}

关于powershell - PowerShell的Restart-Service cmdlet的捕获结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19143282/

10-12 17:24