当前位置: 首页 > 知识库问答 >
问题:

错误操作首选项和错误操作静默执行 Get-PSSession 配置

印辉
2023-03-14

我的案例:

$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction SilentlyContinue;
"2 - $ErrorActionPreference;"
Get-ChildItem NoSuchFile.txt -ErrorAction Stop;
"3 - $ErrorActionPreference;"

输出:

1 - 停止;
2 - 停止;
并显示错误...

现在

$ErrorActionPreference = "Stop";
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

输出:

1-停止;
并显示错误…

为什么不工作-ErrorAction沉默继续)获取PSSessionConfiguration?

更新:

现在

$ErrorActionPreference = "Continue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

输出:

1 -继续;< br> 2 -继续;

现在

$ErrorActionPreference = "SilentlyContinue"
"1 - $ErrorActionPreference;"
(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)
"2 - $ErrorActionPreference;"

输出:

1-SilentlyContinue
2-硅连续;

该参考:

< code>ErrorAction无处不在的参数可用于通过参数值< code>SilentlyContinue消除非终止错误,也可用于通过参数值< code>Stop将非终止错误转换为终止错误。然而,它不能帮助你忽略终止错误,在这种情况下,停止转录抛出一个终止错误。如果你想忽略,使用try/catch,例如:

try { Stop-Transcript } catch {}

共有3个答案

白丁雨
2023-03-14

提示#2

你不能使用古典2

(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue) 2> $NULL
if(!$?){
   'foo'
}

我不喜欢错误,所以我不惜一切代价避免它们。

太叔富
2023-03-14

看起来这是一个“未处理的异常”,这意味着 cmdlet 本身尚未编码以识别和处理该异常。它爆炸了,而没有运行它的内部错误处理,因此 cmdlet 上的 -ErrorAction 设置从未发挥作用。

楮星鹏
2023-03-14

我的解决方案:

$old_ErrorActionPreference = $ErrorActionPreference
$ErrorActionPreference = 'SilentlyContinue'
if((Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue) -eq $null) {
   WriteTraceForTrans "The session configuration MyShellUri is already unregistered."
}
else {        
   #Unregister-PSSessionConfiguration -Name "MyShellUri" -Force -ErrorAction Ignore
}
$ErrorActionPreference = $old_ErrorActionPreference 

或使用试捕捉

try { 

(Get-PSSessionConfiguration -Name "MyShellUri" -ErrorAction SilentlyContinue)

} 
catch {

}
 类似资料:
  • 问题内容: 在实现一个用户可以登录的应用程序时,我会遇到以下情况:如果用户已登录,请执行该操作,否则启动结果的登录活动,如果结果为Activity.RESULT_OK,请执行该操作。 我的问题是,执行perfom的操作是显示DialogFragment,但是调用 在onActivityResult回调中引发异常: 那么我该如何解决呢?我正在考虑在此处举一个标志并在onResume中显示对话框,但我

  • 我正在开发一个广泛使用C模板的库。在编写时,我遇到了这样的代码(当然是简化的): 在使用msvc 19(Visual Studio 2017)编译时,我遇到了以下错误: /opt/compiler-explorer/windows/19.10.25017/lib/native/include/xlocale(314):警告C4530:使用了C异常处理程序,但未启用展开语义。指定/EHsc(28):

  • 我刚刚开始开发一个Django博客,并遵循这个youtube教程-https://www.youtube.com/watch?v=7rgph8en0Jc 我正在使用Django 1.6.6。 每次我试图在管理中添加条目,我都会得到这个错误。谢谢你的帮助! 环境: Django版本:1.6.6 Python版本:2.7.8安装的应用程序:('Django.contrib.admin','Django

  • 我必须做一个程序,找到最大的偶数3给定的数字。然而,我似乎无法让它工作,因为我一直收到这个错误消息。我到底做错了什么? 对于初学者的问题,我很抱歉,但我以前从未见过这个错误消息,也不知道它意味着什么,也不知道如何修复它。 提前谢谢你。

  • 有两种主要的方法来处理流中的错误。你可以重试流并保证流最终会正常运行,或者处理错误并进行转换。 重试 - 现在怎么样? 当你认为错误是由于某些原因是暂时导致的,那么这种方法是适用的。通常不稳定的网络是个很好的例子。当网络不稳定时端点可能会在你多次尝试后才能回应。要点是你的首次尝试可能失败,但重试x次并且在两次尝试之间有一定的时间间隔,最终端点会回应。 retry retry() 操作符可以让我们重

  • 当我运行模拟器时,以下错误显示为警报: 操作无法完成。(LaunchServicesError错误0。) 我试过很多关于堆栈溢出的答案,但它们对我都不起作用。 Feb 18 14:48:12 com.apple.dt.xcode[32825]:错误域=LaunchServicesError Code=0“(null)”userInfo={Error=MissingBundleExecutable,