我正在对 AD 中的 1,000 个用户进行批量导入、设置或更新属性 6。
我使用以下 Exchange 命令行程序来实现此目的:
[PS] C:\>set-mailbox -Identity [email protected] -CustomAttribute6 [email protected] -WarningAction:SilentlyContinue -ErrorAction SilentlyContinue
上述命令重复1000次并自动生成。
我的问题是我想生成一个错误列表,以便可以反馈给上游以解决错误,例如:
- 缺少用户
- 模糊用户
- 设置属性失败。
我想要删除的是以下文字:
警告:命令已成功完成,但“company.com/Enterprise/Users/last, first”的设置未被修改。
我尝试设置以下内容-WarningAction:SilentlyContinue -ErrorAction SilentlyContinue
看起来要么是交换命令行不支持这一点,要么是因为 Exchange Powershell 命令行使用带有存根的“远程处理”可能会使错误处理复杂化。
答案1
您可以尝试在运行命令之前设置警告操作:
$oldWarningPreference = $WarningPreference
$WarningPreference = 'SilentlyContinue'
set-mailbox -Identity [email protected] -CustomAttribute6 [email protected] -ErrorAction SilentlyContinue
$WarningPreference = $oldWarningPreference
答案2
重新启动 shell 会话,你的命令应该可以按预期工作。你可以尝试-错误操作 0和-警告操作 0但这些只是别名。