Powershell:捕获无法启动服务时引发的异常

2024-03-13

我似乎无法捕获抛出的异常Start-Service。这是我的代码:

try
{
    start-service "SomeUnStartableService"
}
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
    write-host "got here"
}

当我运行它时,抛出异常但未捕获:

*Service 'SomeUnStartableService' start failed.
At line:3 char:18
+     start-service <<<<  "SomeUnStartableService"
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
    + FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand*

$ErrorActionPreference设置为“停止”,因此这应该不是问题。

当我将代码更改为catch [Exception],异常被捕获并打印“got here”。

Does start-service扔一个ServiceCommandException或者是其他东西?看起来好像是,但我抓不到!

- - 编辑 - -

理想情况下,我可以编写以下内容,并在以下情况下抛出异常:start-service没有抛出异常,只捕获了抛出的异常start-service:

try
{
    start-service "SomeUnStartableService"
    throw (new-object Exception("service started when expected not to start"))
}
catch [Microsoft.PowerShell.Commands.ServiceCommandException]
{
    write-host "got here"
}

Try/Catch 仅适用于终止错误。使用带有 Stop 值的 ErrorAction 参数使错误成为终止错误,然后您将能够捕获它:

try
{
    start-service "SomeUnStartableService" -ErrorAction Stop
}
catch
{
    write-host "got here"
}

UPDATE:

当您将 $ErrorActionPreference 设置为“stop”(或使用 -ErrorAction Stop)时,您得到的错误类型是 ActionPreferenceStopException,因此您可以使用它来捕获错误。

$ErrorActionPreference='stop'

try
{
    start-service SomeUnStartableService
}
catch [System.Management.Automation.ActionPreferenceStopException]
{
    write-host "got here"
}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell:捕获无法启动服务时引发的异常 的相关文章

  • 在 Powershell 4 中压缩和解压缩文件

    我使用的是 Windows Server 2012 R2 64 位 我有 powershell 版本 4 可用 我正在尝试压缩和解压缩文件 当我尝试 Write Zip 命令时 它会抛出以下错误 Write Zip 术语 Write Zip
  • 在powershell中,使用export-csv cmdlet,我的整数被引号封装,知道为什么吗?

    所以我运行一个sql查询 通过管道传输到export csv 唯一的问题是所有值都用引号封装 包括整数 这对我来说不可能作为整数重新导入到SQL中 有什么想法吗 CSV 没有类型的概念 它是纯粹基于字符串的格式 PowerShell 只引用
  • 如何将异常序列化为Json

    C 异常是 ISerialisable 因此它们不能也是 DataContract 因此我无法使用 JsonDataContractSerializer 将异常序列化为 JSON 的替代方案是什么 由于这个问题还没有真正得到解答 只需创建一
  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • @Autowire注释的问题(空)

    我在验证器类中自动连接的两个服务有问题 这些服务工作正常 因为在我的控制器中是自动连接的 我有一个 applicationContext xml 文件和 MyApp servlet xml 文件 我的基础包是 es unican meteo
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • CompletableFuture 会吞掉异常吗?

    我一直在玩CompletableFuture并注意到一件奇怪的事情 String url http google com CompletableFuture
  • 如何调试symfony2服务容器中配置的标签和服务?

    我正在编写一个服务来处理 AccessDeniedException 并且我找到了一种方法来解决它使用 Symfony2 的 AccessDeniedHandlerInterface https stackoverflow com ques
  • 捕获特定的 WebException (550)

    假设我创建并执行一个System Net FtpWebRequest 我可以用catch WebException ex 捕获此请求引发的任何与 Web 相关的异常 但是 如果我有一些逻辑只想在由于以下原因引发异常时执行 550 file
  • C++ 获取 catch(...) 块中捕获的异常的描述

    我可以得到捕获的异常的描述吗 catch 堵塞 就像是 what std 异常 您可能可以使用一个技巧 catch handle exception void handle exception try throw catch const s
  • netsh 结果到 PowerShell 对象

    我正在尝试与NETSH https ss64 com nt netsh html来自 PowerShell 我想看到这个命令的结果 例如一个对象 但是netsh返回一个字符串 netsh wlan show hostednetwork Ge
  • 如何手动发送django异常日志?

    我的应用程序中有一个应该返回的特定视图HttpResponse 如果一切都成功完成并且类似HttpResponseBadRequest 否则 此视图适用于外部数据 因此可能会引发一些意外的异常 我当然需要知道发生了什么 所以我有这样的东西
  • PowerShell:函数没有正确的返回值

    我编写了一个 powershell 脚本来比较两个文件夹的内容 Dir1 d TEMP Dir1 Dir2 d TEMP Dir2 function Test Diff Dir1 Dir2 fileList1 Get ChildItem D
  • Symfony2 条件服务声明

    我目前正在尝试找到一个可靠的解决方案来动态更改 Symfony2 服务的依赖关系 详细信息 我有一个服务 它使用 HTTP 驱动程序与外部 API 进行通信 class myAwesomeService private httpDriver
  • 将带有星号的注册表项传递给测试路径

    我想通过以下方式运行此注册表路径Test Path在 PowerShell 中 但它包含一个星号 该星号在注册表中有效 但在 Windows 路径中无效 问题是 当我通过它时 Test Path将星号视为通配符 因此这需要非常非常长的时间
  • 启动过程中的写入进度 - 等待

    我正在尝试创建安装脚本并在安装过程中显示进度条 localfolder Get Location path start process FilePath localfolder Installer exe ArgumentList sile
  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • 在 powershell 中打开 Excel 时出错

    我需要用以下命令打开 Excel 文件CorruptLoad来自 powershell 脚本的参数 但是当我尝试做到这一点时 出现错误Exception calling Open with 15 argument s open method
  • 如何将函数内的捕获错误传递给父级

    我有这几行代码示例 想知道下面的逻辑到底如何 try var response child console log why here catch err console log should show this err function c

随机推荐

  • 如何通过 Gradle 任务使用 Spring 配置文件运行 bootRun?

    我正在尝试设置 Gradle 来启动bootRun启用各种 Spring 配置文件的过程 我现在的bootRun配置看起来像 bootRun pass command line options from gradle to bootRun
  • 如何检测 Zend Framework 表单上按下了哪个提交按钮?

    我有一个 Zend Framework 表单 有两个提交按钮 changes new Zend Form Element Submit save changes changes gt setLabel Save Changes delete
  • Spark 在 Hbase 的 InputSplit 期间给出空指针异常

    我正在使用 Spark 1 2 1 Hbase 0 98 10 和 Hadoop 2 6 0 从 hbase 检索数据时出现空点异常 找到下面的堆栈跟踪 sparkDriver akka actor default dispatcher 2
  • 如何在不使用 Elastic beanstalk 或 ec2 容器服务的情况下在 aws 上部署 docker 容器

    我想使用 docker 容器 而不必使用 elastic beanstalk 或 ec2 容器服务 我想上传一个 zip描述容器的文件 就像使用 elastic beanstalk 所做的那样 并让通用的 ec2 实例使用 docker 运
  • 十六进制数可以与十进制数相加/相减吗?

    当用 C 编程时 假设我有一个十六进制值的整数 h 和一个十进制数的整数 d h 和 d 之间可以做加法或减法吗 或者它们必须处于相同的数字系统中 是的 你可以写 int x 100 0x100 0100 这将十进制与十六进制和八进制混合在
  • 紧凑框架 - OpenNetCf.Net FTP 示例?

    我正在尝试让 OpenNetCF Net FTP 组件与我的 PDA 应用程序一起工作 除了连接到服务器之外 我正在努力让它做更多的事情 并且想知道是否有人知道我可以用来学习如何使用它的任何示例代码 我需要能够下载和上传文件 以及确定我想要
  • 使用 FLoginView 登录 facebook 未在 ios 6 中显示

    我正在尝试使用 FLoginView 创建 facebook 的登录按钮 以下是我写的代码 void viewDidLoad super viewDidLoad if loginview loginview FBLoginView allo
  • 与 PFX 文件合并

    VS2012 似乎使用 PFX 文件而不是 SNK 文件进行签名 我的印象是这与延迟签名有关 但我不在乎 当我构建应用程序时 我可以使用 an to 并查看它是否已签名 当我合并调试文件夹并使用 keyfile 指令 我成功地处理 SNK
  • 如何使用 Grails 4 JSON 视图呈现域对象的映射

    这是以下问题 如何将映射呈现为 Grails 4 JSON 视图中的属性 https stackoverflow com q 69322504 715608 我有以下 JSON 视图 我想渲染以下值mealsByPerson地图使用 bre
  • 是否可以创建圆形(或任何其他非矩形)图像?

    我看到的所有圆盘形图像实际上都在一个矩形框内 并且侧面 下图中的黑色部分 是透明的 是否有可能拥有圆形画布本身 或者图像总是被设计成矩形 If yes how 你是对的 任何非矩形图形确实都存在于与轴对齐的边界矩形内 这样做是因为矩形处理起
  • Codemirror 显示 HTMLLint 内联错误 (.addLineWidget)

    我一直在尝试让 HTMLHint 显示内联而不是 JSHint 使用 addLineWidget http codemirror net doc manual html addLineWidget Codemirror 提供了我尝试使用 J
  • 将 JSON 发布到控制器返回 400 Bad Request

    我正在开发 RESTful 服务 我无法将 JSON 数据发布到控制器 我正在使用以下依赖项 春季 3 2 3 发布 杰克逊 1 9 6 我也尝试过 Spring 3 2 3 RELEASE 与 Jackson 1 9 9 Spring 3
  • wp print_thumbnail 功能不起作用

    wordpress 打印缩略图功能在测试服务器上正常工作 但在在线服务器上无法工作并给出错误的图像路径 例如 var www vhosts vinehospitality co za httpdocs wp content uploads
  • 一个意料之外的问题发生了。 WordPress.org 可能有问题

    我无法在我的 WordPress 网站中安装插件 当我尝试安装新插件时 出现以下错误 但它允许我上传插件然后安装它 发生意外错误 WordPress org 或此服务器的配置可能有问题 如果问题仍然存在 请尝试支持论坛 花了更多时间后 我通
  • 用于键盘输入的简单 UIToolarAccessoryView 的布局约束错误

    我遇到了很多布局约束错误 因此我创建了一个新项目 并仅使用 UIToolbar 和 UITextField 来尝试解决问题 即使有一个干净的项目 即使我没有覆盖任何限制 我仍然会遇到奇怪的错误 inputAccessoryView 代码如下
  • Yocto 添加自定义 UBoot 环境变量

    我正在尝试通过 Yocto 构建过程添加两个新的 u boot 环境变量 My file u boot imx 2021 04 bbappend包含 FILESEXTRAPATHS prepend THISDIR PN SRC URI fi
  • 如何制作Java插件?

    如果我想让我的Java程序能够接受插件 我怎样才能让Java插件使用核心程序的类而不将所有代码包含到插件代码中 插件如何访问程序界面而不将其包含到自己的 jar 文件中 看看Java插件框架 http jpf sourceforge net
  • 有没有办法暂停核心动画并在稍后恢复它?

    我有几个核心动画同时进行 它们都有一个上下文和一个动画 ID 其中上下文是正在动画的对象 UIImageView 对象 我想暂停它们 以便动画暂时停止 然后当某些事情完成时 恢复它以完成它 这些事情仅发生在 UIScrollView 中非常
  • 在 javascript 中启用/禁用 asp 验证控制

    我希望使用 JavaScript 启用 禁用我的验证控件 当我单击单选按钮列表 是 否 时 2 3 行变得可见 单击 是 后 用户必须在该行中提供的文本框中输入内容 为此 我保留了需要字段验证器 我在页面加载时禁用所有这些 然后使用 Val
  • Powershell:捕获无法启动服务时引发的异常

    我似乎无法捕获抛出的异常Start Service 这是我的代码 try start service SomeUnStartableService catch Microsoft PowerShell Commands ServiceCom