Den*_*dei 2 windows-services batch-file
我该怎么做呢?
我已经尝试了所有我能想到的。
为什么它不能与普通的 exe 一起使用?
我知道它应该运行一个程序,因为它可以正确地重新启动服务。
编辑
Application: test.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Exception
Run Code Online (Sandbox Code Playgroud)

这是我最近的一次尝试。
脚本有代码
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing
Run Code Online (Sandbox Code Playgroud)
现在,如果我运行 cmd 命令,脚本将打开 Internet Explorer
wscript.exe "C:\asfh.vbs"
Run Code Online (Sandbox Code Playgroud)
服务崩溃时的“运行程序”恢复选项以与服务相同的方式运行指定的可执行文件,即它在会话 0 中运行(因此受会话 0 隔离的影响,另见相关问题)并运行具有与服务相同的安全上下文。
这意味着它不能直接与用户交互(您可以显示 GUI,但没有人会看到它)但它也限制了可执行文件或脚本可以做什么。例如,某些 shell API 函数将无法正常工作,除非用户帐户在某个时候以交互方式登录。在您发布的示例脚本中,脚本本身可能正在运行,但无法启动 Internet Explorer,因为 IE 仅设计为在交互式会话中运行。
如果您将自己限制在基本功能上,它应该都能按预期工作。(我不知道描述哪些功能在服务上下文中可以安全使用的主列表,但通常很容易猜测。如有必要,您可以尝试试错!)
另请注意,据我所知forcedos.exe,现代版本的 Windows 中不再存在。如果要运行批处理文件,可以指定cmd.exe为应用程序和/c myscript.bat命令行参数。