リモートマシンでサービスを規制するために、次のコードを使用しています。
import com.sun.jna.platform.win32.W32Service;
import com.sun.jna.platform.win32.W32ServiceManager;
import com.sun.jna.platform.win32.Winsvc;
public class CopyOfserviceRestart {
public static void main(String[] args) {
//public void services()
{
W32ServiceManager serviceManager = new W32ServiceManager("TPATADTS5", null);
serviceManager.open(Winsvc.SC_MANAGER_ALL_ACCESS);
W32Service service = serviceManager.openService("Exponent Manager Service", Winsvc.SC_MANAGER_ALL_ACCESS);
if( service.queryStatus().dwCurrentState == Winsvc.SERVICE_RUNNING)
{
System.out.println("Chalche");
}
else
{
service.startService();
service.close();
System.out.println("Done");
}
}
}}
いくつかのサーバーではすべて問題ありませんが、他のいくつかのサーバーでは次のエラーが発生しています:
スレッド「メイン」での例外 com.sun.jna.platform.win32.Win32Exception: アクセスが拒否されました。com.sun.jna.platform.win32.W32ServiceManager.open(W32ServiceManager.java:47) で com.accenture.service.CopyOfserviceRestart.main(CopyOfserviceRestart.java:15) で