PowerShell 脚本 - 检查退出代码
PowerShell script - check for exit code
我有以下脚本:
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
命令是否执行成功。如果是,我 echo 'it worked' else echo 'It did not work'.
目标是提供简单明了的英文消息,而不是典型的未处理异常。
从理论上讲,您已经完成了大部分工作,我不知道在什么情况下 Restart-WebAppPool
会抛出终止错误,但是为了对它们做任何事情,您将需要 try/catch 块:
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
没有抛出终止错误时才会显示 "It worked" 输出
我有以下脚本:
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
命令是否执行成功。如果是,我 echo 'it worked' else echo 'It did not work'.
目标是提供简单明了的英文消息,而不是典型的未处理异常。
从理论上讲,您已经完成了大部分工作,我不知道在什么情况下 Restart-WebAppPool
会抛出终止错误,但是为了对它们做任何事情,您将需要 try/catch 块:
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