我有以下脚本:
foreach ($server in $ProductList.$SelectedServer) {
Invoke-Command -ComputerName $server -Credential domain\user -ScriptBlock {
Import-Module WebAdministration
echo "restarting AppPool $args[0] ... on $args[1]"
Restart-WebAppPool -Name $args[0] -ErrorAction Stop
echo "Restarted WebApp $args[0] on $args[1]"
}
} -ArgumentList $SelectedAppPool, $Server
我想检查Restart-WebAppPool
命令是否成功执行。如果确实如此,我就会回应它的工作原理。否则回声'它不起作用'。
目标是提供简单的普通英语消息,而不是典型的未处理异常。
答案 0 :(得分:2)
从理论上讲,你大部分都在那里,在try {
Restart-WebAppPool -Name $args[0] -ErrorAction stop
Write-Host "It worked"
} catch {
Write-Host "It did not work"
# Error handling goes here.
}
抛出终止错误的情况下,我不知道我的头脑,但是为了做任何事情他们你需要尝试/捕获块:
Restart-WebAppPool
"它有效"仅当{{1}}
没有引发终止错误时,才会显示输出