第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于遠(yuǎn)程啟動服務(wù)的 CMD 命令不是在代碼中運行而是在 CMD 上運行

用于遠(yuǎn)程啟動服務(wù)的 CMD 命令不是在代碼中運行而是在 CMD 上運行

不負(fù)相思意 2023-02-23 17:39:29
我正在構(gòu)建遠(yuǎn)程重啟 Windows 服務(wù)的功能,但我在代碼中構(gòu)建的字符串命令沒有返回所需的輸出,從 IDE 調(diào)試時復(fù)制相同的命令并在 CMD 上運行它成功執(zhí)行。我嘗試從使用方法 Process cmdOutput Runtime.getRuntime().exec(command) 更改為 Process cmdOutput Runtime.getRuntime().exec(command[]) 我嘗試以不同的方式操作我的字符串命令以查看它是否需要它沒有成功。我在 StackOverflow 上看過類似的問題,但沒有人遇到過我正在經(jīng)歷的問題public void startService(int serviceId, String serviceName, String ipAddress) {    CMDExecutor executor = new CMDExecutor();    try {        String command = "cmd /C echo "+ password +" runas /user:"+ username +" "+ "\""+                System.lineSeparator() +" sc\\\\"  +ipAddress+ " start "+ serviceName + "\"";        String result = executor.getCMDResult(command);        logger.info(result);}public class CMDExecutor {public String getCMDResult(String command) throws IOException {    Process cmdOutput;    cmdOutput = Runtime.getRuntime().exec(command);    StringWriter writer = new StringWriter();    IOUtils.copy(cmdOutput.getInputStream(), writer, "UTF-8");    return writer.toString(); }}我期待以下SERVICE_NAME: serviceName        TYPE               : 10  WIN32_OWN_PROCESS        STATE              : 2  START_PENDING                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)        WIN32_EXIT_CODE    : 0  (0x0)        SERVICE_EXIT_CODE  : 0  (0x0)        CHECKPOINT         : 0x0        WAIT_HINT          : 0x7d0        PID                : 34916        FLAGS              :我得到了命令的一部分,但沒有任何變化,服務(wù)沒有啟動。
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊

經(jīng)過幾個小時的努力,簡單的解決方案是將命令分為兩部分,憑證部分和 sc 命令部分,如下所示。現(xiàn)在它按預(yù)期工作。


附言。我選擇從命令中刪除 echo 以避免在日志文件中打印憑據(jù)。


public void startService(int serviceId, String serviceName, String 

ipAddress) {

CMDExecutor executor = new CMDExecutor();

try {

String credentialsCommand = "cmd /C echo "+ password +" runas /user:"+ username;

String startServiceCommand = "sc\\\\"  +ipAddress+ " start "+ serviceName";

String credentialsResult = executor.getCMDResult(credentialsCommand );

logger.info(credentialsResult );

String startServiceResult= executor.getCMDResult(startServiceCommand );

logger.info(startServiceResult);

}


查看完整回答
反對 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號