捕获PowerShell的Restart-Service cmdlet的结果

时间:2013-10-02 17:40:01

标签: powershell

使用以下命令运行脚本时

Restart-Service ServiceName

如何捕获结果?例如,如果该服务不存在,我将收到如下消息:

Restart-Service : Cannot find any service with service name 'ServiceName'.

我使用try尝试catchif ($error),但没有运气。

2 个答案:

答案 0 :(得分:3)

您可以查看ErrorAction参数。如果您只是不想要错误,可以尝试以下方法(检查$?以查看它是否成功)。

Restart-Service ServiceName -ErrorAction SilentlyContinue

try catch不会捕获您看到的所有错误,只会终止错误。如果要在终止错误中转换错误,可以尝试以下操作。

try
{
    Restart-Service ServiceName -ErrorAction Stop
}
catch
{
    'Catched'
}

答案 1 :(得分:0)

要获取最后一个错误:

$error[0]