通过网络运行.bat

通过网络运行.bat

我的服务器 PC 上有一个 .bat 文件,其中包含该服务器 PC 上的各种文件路径等。我已设置 vpn,以便可以从主 PC 访问此 PC,但当我启动 .bat 时,它会在我的计算机上而不是服务器上查找文件路径。我希望能够在我的计算机上启动这个 .bat,它会在服务器 PC 上而不是我的 PC 上启动程序和文件路径。有人知道我该怎么做吗?

Ps.bat 文件启动了一个游戏服务器,为什么它需要在那台电脑上而不是我的电脑上

答案1

要点

最好只使用,PSExec以便保持简单以满足您的特定需求。语法相当直观,通常可以正常工作,但示例语法下面提供的应该是您连接到 VPN 后需要使用的所有内容,以使其正常工作。

我不确定您是否从连接 VPN 的 PC 运行此程序,是否需要用户名,<domain>\<username>但在测试时如果遇到问题请记住这一点。

示例语法

重要的提示: 从连接 VPN 的 PC 运行,从游戏服务器的角度指向 BAT 文件路径

psexec -u user - p password \\remotepc "c:\mybatchfile.bat"

进一步的想法

不同的例子:如果应用程序在内存中运行,无论它是否是服务,下面的命令都会确认它是否在内存中运行。如果不是,那么你可以告诉它运行你的进程。我不确定它是否会挂起,当发生这种情况时,你无法使用 TASKLIST 找到它正在运行,但这可能是需要检查的事情。然后,你可以安排类似下面的程序每天运行两次,等等,以自动化该过程。

@ECHO OFF
:::: The remote machine the TASKLIST command is run against must accept incoming WMI traffic from the machine sending the request
::::  Enabling the firewall rule "Windows Management Instrumentation (WMI)" should do the trick
TASKLIST /S ServerName | FINDSTR /I applicationname.exe
IF ERRORLEVEL 1 (GOTO :StartSomething) ELSE (GOTO :EOF)

:StartSomethink
pushd %~dp0
cd /d %CD%
start /b "Dayz Epoch Server" /min "DayZ_Epoch_instance_11_Chernarus.bat"
timeout 15
cd "C:\Users\LostandCrazy\Desktop\DayZ Server\instance_11_Chernarus\BattlEye\Bec"
start  "UEP BattlEye Extended Control" /min "BEC.exe" -f "Config.cfg"
taskkill /f /im cmd.exe
GOTO :EOF

原创想法等

既然你说(批处理)BAT 文件在服务器上,并且这个服务器就是你连接 VPN 时所连接的。。。

  • 当你连接到 VPN 时,通过 RDP 登录到服务器进行远程连接,然后从那里启动 BAT 文件

笔记:如果 BAT 文件首先在服务器上,我不知道为什么它甚至会出现在连接 VPN 的 PC 上,所以这部分让我感到困惑。

  • 批处理文件需要从服务器运行,因此您需要在服务器本身上运行它。您可以设置计划任务并自动执行此任务,或者通过 RDP 连接到服务器以手动启动等。
  • 您将无法从“主”PC等启动 EXE 文件,\\servername\c$\program files\~并期望它在服务器内存中运行。

更新

  • 使用 RDP,您只需在网络上拖动屏幕、单击鼠标和敲击键盘(在您的情况下即 VPN 互联网隧道)。这意味着 RDP 通常是一种在网络流量方面相当高效的协议。

  • 假设该设备连接到您所连接的 VPN 域,并且您要从中启动它的服务器能够验证您发送到服务器以启动它的任何远程命令,那么可以从该连接 VPN 的设备远程启动它。

  • 如果连接 VPN 的设备未加入您所连接的 VPN 域,且服务器无法进行身份验证,那么您可能能够使用 等启动某些远程命令RUNAS

  • 您可以通过 RDP 进入服务器并等待其加载,然后以此方式启动它,或者使用批处理文件在服务器上使用任务计划程序安排一个进程,并自动执行,这样就不需要手动完成。

  • 您可以使用批处理脚本解决方案在“某些事情”发生时“执行某些事情”。如果“某些事情”发生或被触发,您可以让它向您发送电子邮件等。

此外。 。 。

  • PowerShell 可以远程执行进程等,但您必须确保先决条件到位并进行测试以确认它按预期工作。
  • 您可以在服务器上创建一个指向 BAT 文件的计划任务,然后可能远程启动它(因此它没有自动化计划,因此您可以根据需要临时运行)。同样,您必须测试并确认所有这些都按预期工作

答案2

任何时候使用 LAN 路径或共享路径,您都需要使用 UNC 语法而不是驱动器号。不要使用驱动器号。使用 UNC 路径意味着可以从任何地方访问快捷方式和 bat 文件而不会出现问题。这是 \\servername\folder\folder 或 \\machinename\folder\folder 。

答案3

创建批处理文件的快捷方式,打开其属性(单击以选择它并按 Alt + Enter),然后在“启动于”字段中输入该文件的网络地址。

相关内容