Man*_*jur 1 java powershell wmi wmi-service j-interop
我有以下代码从 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
这应该可以解决您的目的。
| 归档时间: | 
 | 
| 查看次数: | 13326 次 | 
| 最近记录: |