java - 登录远程 Windows 服务器并执行 .bat 文件

标签 java batch-file remote-desktop

我们可以使用 Java 在远程 Windows 桌面中执行 .bat 文件吗?批处理文件检查系统服务,如果关闭,则假定与本地计算机中的 Java 程序进行通信,然后应再次执行并运行服务,并再次与 Java 程序联系:

我的批处理文件当前只是检查服务是否启动,然后启动服务:

所以有两个问题:

  1. 我们可以通过我的 Java 代码远程执行批处理文件吗:
    如果可以的话:
  2. 该代码能否根据特定条件与批处理文件进行通信(这里我的条件是服务是否正在运行)?:

请查看下面的批处理文件:

@ECHO OFF

for /f "tokens=3" %%a in ('sc query "aspnet_state"^|find "STATE"') do (
if %%a==4 (goto running)
    (sc start aspnet_state goto stopped)
   )
  :stopped
  msg * stopped but now it is running
  goto :eof
:running
msg * running

最佳答案

对于如何在远程 Windows 计算机上执行 .bat 文件,您有什么自己的想法吗?您是否考虑过将批处理文件传送到远程 Windows 计算机?考虑过获得运行这样的脚本所需的管理权限吗?来回通信过程中考虑过防火墙问题吗?

您正在设计的内容看起来类似于木马恶意软件。他们的工作方式 - 他们感染目标计算机(交付阶段),然后代理会不时与服务器计算机进行通信(通信阶段),以查看服务器计算机是否需要代理来完成任何工作。这是最可靠的,因为出站连接通常是允许的,而入站连接(服务器连接到代理)几乎总是被禁止。收到命令日志后,代理将执行命令(exec 阶段),然后将结果发布回服务器(comms back 阶段)。

类似这样的事情。

PS:Java 不是缩写词。

关于java - 登录远程 Windows 服务器并执行 .bat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384702/

相关文章:

java - 在 Java REST 客户端 [6.5] API 上使用 ES 6.5 中的映射创建索引

JAVA:如何创建http url连接选择要使用的ip地址

windows - 调用 "start myapp"和 "myapp"的区别

c# - 如何检测 *IIS 用户* 是否已在远程桌面连接中运行该网站

ssh - 使用谷歌 gcloud ssh 隧道进入网络内部的 linux 机器

java - 使用 Java 从另一台机器运行脚本

java - UnsatisfiedDependencyException : Error creating bean with name 'entityManagerFactory'

java - 结合最新的和冷的观察结果

windows - 安排 Powershell 和批处理作业同步运行

batch-file - Windows - 启动命令和协议(protocol)处理程序