首先要坦白的是,我对 powershell 还不是很熟悉。无论如何,我有一个 powershell 脚本,非常类似于 PowerShell 脚本循环遍历组中的所有用户
它一直运行良好(脚本查找组成员并设置 AD 属性等。它已经运行良好一段时间了,处理了大约 2500 个用户,但最近失败了)format-default:检索成员“PSComputerName”时发生以下异常:“未知错误(0x80005000)”
有一个用户导致了错误。我的问题是如何让 powershell 捕获此错误\忽略它并继续工作?
谢谢
答案1
采用绿色技术并无罪过!
如果您只是想完全忽略错误并继续,您可以在代码顶部添加以下内容:
$ErrorActionPreference = SilentlyContinue
不会抛出任何异常,执行将在下一个语句处继续。但是,这可能充满危险。在包含少量语句的简单脚本中,这已经足够了。在更大的上下文中,这可能会产生有害的结果。
通常,捕获异常并进行处理会更好,在这种情况下,您需要考虑使用 try / catch 块。这将允许您尝试一些代码,如果出现异常,请捕获它并处理错误。
Scripting Guy 有关于 Powershell 的非常好的帖子: