gpt4 book ai didi

java - 如何从 Java 程序内部将 powershell 脚本作为 Windows 服务运行?

转载 作者:行者123 更新时间:2023-11-29 04:33:13 28 4
gpt4 key购买 nike

我有以下从 Java 内部运行 Windows 服务的代码。该代码使用 JInterop Java 库,JInterop 是用于 Windows COM 服务器的纯 Java COM 客户端。有关 JIntop 的更多详细信息,请参见此处 [ http://fishi.devtail.io/weblog/2015/01/21/pure-java-dcom-bridge-j-interop/]

    String cmdFile = "service.bat";
results = wbemServices_dispatch.callMethodA(
"Get", new Object[]{ new JIString("Win32_Process"),
new Integer(0), JIVariant.OPTIONAL_PARAM()});

IJIDispatch wbemObjectSet_dispatch = (IJIDispatch)JIObjectFactory.narrowObject(
(results[0]).getObjectAsComObject());
results = wbemObjectSet_dispatch.callMethodA("Create",
new Object[]{ new JIString(targetFilePrefix + cmdFile),
JIVariant.OPTIONAL_PARAM(),
JIVariant.OPTIONAL_PARAM()});

是否可以使用相同的库或以其他方式以与上述相同的方式将 powershell 文件 (.ps1) 作为服务运行。

最佳答案

您可以创建一个批处理文件,该文件又可以像这样触发一个 powershell 脚本:

@echo off
Powershell.exe set-executionpolicy remotesigned -File C:\folder\MyScript.ps1
pause

将其另存为“Trigger_ps.bat”

然后您可以使用 sc 命令 通过提及此批处理文件路径来创建 Windows 服务,如下所示:

SC CREATE PS_Trigger_Service Displayname= "PS_Trigger_Service" binpath= "C:\folder\Trigger_ps.bat" start= auto

这应该可以解决您的目的。

关于java - 如何从 Java 程序内部将 powershell 脚本作为 Windows 服务运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42927184/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com