Windows 服务恢复 - 运行 程序无法运行
Windows service recovery - run a program wont work
我该怎么做?
能想到的我都试过了
- 正在浏览我想要的 .exe 文件运行。
- 运行一个bat文件
- 在程序文本框中写入 forcedos.exe 并在命令行参数文本框中写入我的 bat 文件的路径
为什么它不能与普通的 exe 一起工作?
而且我知道它应该 运行 一个程序,因为它可以正确地重新启动服务。
编辑
Application: test.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Exception
这是我最新的尝试。
脚本有代码
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing
现在,如果我 运行 cmd 命令
,脚本将打开 Internet Explorer
wscript.exe "C:\asfh.vbs"
服务崩溃时的 "run a program" 恢复选项 运行 指定的可执行文件以与服务相同的方式运行,即它 运行 在会话 0 中(等等)受 session 0 isolation, see also related questions) 影响,并且它 运行 具有与服务相同的安全上下文。
这意味着它不能直接与用户交互(你可以显示一个 GUI,但没有人会看到它)但它也限制了可执行文件或脚本可以做什么。例如,某些 shell API 功能将无法正常工作,除非用户帐户在某个时候已交互登录。在您发布的示例脚本中,脚本本身可能是 运行ning,但无法启动 Internet Explorer,因为 IE 仅设计为在交互式会话中 运行。
只要您将自己限制在基本功能上,它应该都能按预期工作。 (据我所知,没有描述在服务上下文中可以安全使用哪些功能的主列表,但通常很容易猜到。如有必要,您可以求助于试错法!)
另请注意,据我所知,forcedos.exe
已不再出现在 Windows 的现代版本中。如果你想运行一个批处理文件,你可以指定cmd.exe
作为应用程序,/c myscript.bat
作为命令行参数。
我该怎么做?
能想到的我都试过了
- 正在浏览我想要的 .exe 文件运行。
- 运行一个bat文件
- 在程序文本框中写入 forcedos.exe 并在命令行参数文本框中写入我的 bat 文件的路径
为什么它不能与普通的 exe 一起工作?
而且我知道它应该 运行 一个程序,因为它可以正确地重新启动服务。
编辑
Application: test.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Exception
这是我最新的尝试。
脚本有代码
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing
现在,如果我 运行 cmd 命令
,脚本将打开 Internet Explorerwscript.exe "C:\asfh.vbs"
服务崩溃时的 "run a program" 恢复选项 运行 指定的可执行文件以与服务相同的方式运行,即它 运行 在会话 0 中(等等)受 session 0 isolation, see also related questions) 影响,并且它 运行 具有与服务相同的安全上下文。
这意味着它不能直接与用户交互(你可以显示一个 GUI,但没有人会看到它)但它也限制了可执行文件或脚本可以做什么。例如,某些 shell API 功能将无法正常工作,除非用户帐户在某个时候已交互登录。在您发布的示例脚本中,脚本本身可能是 运行ning,但无法启动 Internet Explorer,因为 IE 仅设计为在交互式会话中 运行。
只要您将自己限制在基本功能上,它应该都能按预期工作。 (据我所知,没有描述在服务上下文中可以安全使用哪些功能的主列表,但通常很容易猜到。如有必要,您可以求助于试错法!)
另请注意,据我所知,forcedos.exe
已不再出现在 Windows 的现代版本中。如果你想运行一个批处理文件,你可以指定cmd.exe
作为应用程序,/c myscript.bat
作为命令行参数。