如何从Java程序内部将Powershell脚本作为Windows服务运行? [英] how to run a powershell script as a windows service from inside a Java program?

查看:166
本文介绍了如何从Java程序内部将Powershell脚本作为Windows服务运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码从Java内部运行Windows服务.该代码使用JInterop Java库,JInterop是Windows COM服务器的纯Java COM客户端. JIntop的更多详细信息可在此处[

I have the following code that runs a windows service from inside Java.The code uses JInterop Java library, JInterop is a pure Java COM client for windows COM server. More details of JIntop are available here [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)作为服务运行.

Is it possible to run a powershell file(.ps1) as a service in the same manner as above using the same library, or in some other way.

推荐答案

您可以创建一个批处理文件,该文件又可以触发如下所示的powershell脚本:

You can create a batch file which, in-turns, can trigger a powershell script like this:

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

将其另存为 "Trigger_ps.bat"

Save it as "Trigger_ps.bat"

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

Then you can use the sc command to create a windows service by mentioning this batch file path like this:

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

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

This should solve your purpose.

这篇关于如何从Java程序内部将Powershell脚本作为Windows服务运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆