UPDATE
Pode fazer mais sentido usar apenas PSExec
para manter isso simples para sua necessidade específica. A sintaxe é bastante intuitiva e isso normalmente funciona, minha sintaxe de amostra deve ser tudo o que você precisa usar para que ela funcione uma vez conectada à VPN.
Não tenho certeza se você executar isso a partir do PC conectado à VPN, pois o nome de usuário precisará ser domain\username
, mas lembre-se disso ao testar.
EXEMPLO DE SINTAXE
(Executar a partir do PC conectado à VPN, apontar o caminho do arquivo BAT como é do ponto de vista do Servidor de Jogos)
psexec -u user - p password \remotepc "c:\mybatchfile.bat"
Outras ideias
Exemplo: Se o seu aplicativo for executado na memória, seja ou não um serviço. A seguir, verificamos se ele está sendo executado na memória. Se não estiver, você poderá instruí-lo para executar o processo. Eu não tenho certeza se ele é desligado e quando isso ocorre você não pode encontrá-lo em execução com o TASKLIST, mas isso pode ser algo para checar. Você poderia então agendar algo como o abaixo para executar duas vezes por dia, etc. para automatizar o processo.
@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
Você está dizendo que o arquivo BAT (em lote) está no servidor e que esse servidor é o que você conecta quando se conecta à VPN.
Portanto, quando você se conectar à VPN, conecte-se remotamente a este servidor fazendo logon via RDP e, em seguida, inicie o arquivo BAT a partir daí dessa forma como se estivesse no servidor.Se o BAT estiver no servidor, não tenho idéia de por que ele está no seu PC com conexão VPN, então essa parte é confusa para mim.
O arquivo em lote precisará ser executado a partir do servidor, para que você precise executá-lo no próprio servidor. Você pode configurar uma tarefa agendada e automatizar isso também, ou conectar-se ao servidor via RDP para iniciar manualmente, etc.
Desde que você diz que este é um arquivo em lote BAT, vou assumir que você está falando sobre um servidor Windows. Você não será capaz de lançar algum arquivo EXE a partir do seu PC "principal", etc., que está em \ nomedoservidor \ c $ \ arquivos de programas \ ~ e esperar que isso seja executado na memória do servidor, para que sua solicitação e a redação é muito confuso. Eu faço esse tipo de coisa todos os dias para centenas de empregos e muitos servidores diferentes, é fácil como torta.
EDITAR
Com o RDP, você só está arrastando a tela, os cliques do mouse e os toques do teclado pela rede (ou seja, o túnel da Internet VPN no seu caso). Isso significa que o RDP é tipicamente um protocolo eficiente em termos de tráfego de rede.
É possível iniciar remotamente a partir do dispositivo conectado à VPN, desde que esteja conectado ao domínio da VPN à qual você se conecta e o servidor do qual você deseja ativá-lo seja capaz de autenticar qualquer comando remoto que você enviar para o servidor. isso.
Se o dispositivo conectado à VPN não estiver associado ao domínio da VPN à qual você se conecta e o servidor não puder se autenticar, será possível iniciar algum comando remoto com RUNAS, etc.
Você poderia olhar para algumas coisas que eu posso pensar em cima da minha cabeça, mas eu pessoalmente apenas RDP no servidor e esperar por ele para carregar e, em seguida, lançá-lo dessa forma, ou então agendar um processo (com agendador de tarefas) no servidor com o arquivo em lote e automatizar para que não precise fazer isso manualmente de outra forma.
Não há tempo padrão, etc. Quando você inicia o Servidor de Jogo, o processo do Servidor de Jogo trava ou sobrecarrega a memória no servidor de tempos em tempos e você precisa se conectar para reiniciá-lo? Existem soluções em lote que você pode colocar em prática para fazer alguma coisa quando algo acontece e eu faço isso o tempo todo, e você pode mandar um e-mail, etc., se algo acontecer ou for acionado, etc.
Se você puder explicar qual é o problema e por que isso não pode ser automatizado, pode haver uma solução melhor e mais automatizada usando arquivos em lote do Windows.
Caso contrário. . .
- O PowerShell pode executar processos, etc. remotamente, mas você precisa garantir pré-requisitos estão no local e teste para confirmar que funciona como esperado.
- Você pode criar uma tarefa agendada no servidor apontando para o arquivo BAT e, em seguida, potencialmente, iniciá-lo remotamente (para que ele NÃO tenha PROGRAMAÇÃO para automação, para que você possa executar ad hoc conforme necessário). Mais uma vez, você teria que testar e confirmar se tudo isso funciona como esperado