Java Runtime 클래스를 사용하여 PowerShell 스크립트를 실행하려고하지만 어떤 이유로 아무 일도 일어나지 않습니다. 또한 Java 코드로 CMD 출력을 얻으려고 시도하지만 성공하지는 못합니다. 이건 내 코드입니다 : 내가 CMD에서 동일한 명령을 실행할 때서비스 종료 Java에서 PowerShell 스크립트를 실행하여
private void connectToServer() {
executeCmdCommand("cd C:/PSTools");// navigate to psTools directory
executeCmdCommand("PsExec.exe //<server1> -u orgnization/user_qa -p sdsad1212 cmd");// connect the server machine
executeCmdCommand("powershell.exe C:/powerShell/stop-process.ps1 MainRls");// stopr service by execute powershell script
}
/**
* execute cmd commands
*/
private void executeCmdCommand(String command){
try {
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", command);
Process process = builder.start();
BufferedReader inputStream = new BufferedReader(new InputStreamReader(process.getInputStream()));
Report.assertOnReport(inputStream.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
수동으로 서비스가 성공적으로 종료하지만, 자바 코드에 의해 실행되는 경우는 아무것도하지 않는 것.
PowerShell 스크립트 실행 정책을 확인 했습니까? 기본 설정에는 서명 된 스크립트가 필요합니다. Powershell 프롬프트를 열고 다음을 입력하십시오 :'Set-ExecutionPolicy RemoteSigned' 또는'Set-ExecutionPolicy Unrestricted' –