问题描述
运行以下PowerShell代码行(在具有管理员权限的WIN 2008 R2服务器上):
try {
Import-Module webadministration -ErrorAction Stop
}
catch {
"ERROR : $( $Error[ 0 ].ToString() )"
}
将错误抛出到控制台上,并且实际上不会将其传递给catch块:
Process should have elevated status to access iis configuration data
以上错误按原样显示,但PowerShell控制台上的颜色为红色。 请清除-除上述错误外,没有显示其他文本。 $ Error [0]也没有填充。
错误似乎不是从PowerShell脚本生成的,而是从外部进程/脚本生成的。
有什么办法可以抑制此错误?即使在try-catch块中提供了ErrorAction首选项之后,该错误仍然会显示。
此外,以下内容将无效:
Import-Module webadministration -ErrorAction Stop
Import-Module webadministration | Out-Null
Import-Module webadministration 2>&1 | Out-Null
$null = Import-Module webadministration
Import-Module webadministration -ErrorAction SilentlyContinue
$ErrorActionPreference = 'SilentlyContinue'
Import-Module webadministration
值得注意的是,Import-Module webadministration
命令在第二次在同一PowerShell会话中加载后才能工作!意思
# First Go
Import-Module webadministration
# error thrown on first go
# Second Go
Import-Module webadministraion
# Second go works! It loads the 'webadministration' module
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)