这是我的代码:
try {
$usernames = Get-LocalUser | ?{$_.enabled -EQ "True"} | select "Name"
$usernames | foreach { Add-LocalGroupMember -Group "Hyper-V Administrators" -Member $_.Name }
}
catch
{write-host "All user accounts are already part of the Hyper-V Administrators group `n" -ForegroundColor black -BackgroundColor yellow}
当我运行它时,我仍然在控制台中看到错误,Catch从未运行过。有什么问题吗?
1条答案
按热度按时间hfyxw5xn1#
正如注解中所述,您可以使用
-ErrorAction Stop
,以便PowerShell将错误视为终止错误,这样错误将被您的try
block捕获。关于如何更改脚本的逻辑,以便它可以捕获错误,但也不会停止进一步的处理。为此,您只需将
try / catch
语句放入循环中: