Não é possível usar o PStool por mais de 7 PCs pela rede LAN

0

Abaixo está o comando de arquivo em lote que estou usando atualmente para desligar os computadores remotos através da Rede LAN.

Aqui está o que faz.

  1. Eu especifiquei o endereço IP dos computadores remotos no arquivo de texto chamado list.txt
  2. Eu adicionei um IP como 0.0.0.0 na parte inferior de todos os IPs do computador remoto.
  3. O arquivo de lote abaixo verificará se os computadores estão disponíveis na LAN.
  4. Se o computador estiver disponível, o PC remoto será desligado, caso contrário, passará para o próximo IP.
  5. Quando o arquivo em lote exibir 0.0.0.0 , ele será encerrado automaticamente no computador mestre.

Meu problema é que não posso executar esse lote por mais de 7 computadores remotos. Se eu adicionar mais de 7 IP de PC remoto em list.txt , o arquivo de lote trava e a ação não é concluída. Por favor, deixe-me saber se eu cometi algum erro no código ou como eu posso corrigir esse problema.

Eu quero rodar esse arquivo em lote por no mínimo 12 PCs remotos

@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%a in (C:\Users\calcopm\Desktop\list.txt) do (
SET IP =%%a
SET C=0
IF %%a equ 0.0.0.0 (
shutdown /s
) ELSE (
ping -n 1 %%a | find "TTL=" >NUL: && SET C=1
IF !C! equ 1 (
psshutdown \%%a
) else (
ECHO REMOTE %%a IS NOT REACHABLE
)
)
)
    
por Dragonborn 08.12.2014 / 05:01

2 respostas

0

Eu mudei meu script como abaixo e converti do BAT para EXE usando um aplicativo

@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%a in (C:\Users\calcopm\Desktop\list.txt) do (
IF %%a equ 0.0.0.0 (
shutdown /s
) ELSE (
ping -n 1 -w 100
IF errorlevel 1 (
ECHO REMOTE %%a IS NOT REACHABLE
) else (
psshutdown \%%a
)
)
)

Ainda estava enfrentando o mesmo problema. Como eu estava executando os scripts usando o arquivo exe (convertido usando BAT para EXE), eu executei usando o arquivo BAT estava tudo bem. Então eu percebi que o conversor BAt to EXE tinha alguns problemas que estavam afetando o arquivo EXE.

Então eu converti o BAt para EXE com diferentes aplicações e ele trabalhava como um charme.

Eu resolvi o problema ATLAST !!!!!!!!!!!!! ufa !!!!!

    
por 23.01.2015 / 07:27
0

A introdução de um temporizador de atraso entre para verificar uma máquina para outro status da máquina resolveria o problema.

Espero que, encontrar o status on-line da máquina e passar o comando de desligamento pode ser executado em uma fração de segundo e pular para a próxima máquina dentro de um período mais curto pode causar o problema. Portanto, sugiro que você introduza um atraso de tempo no IF & ELSE loop e prossiga ainda mais.

    
por 08.12.2014 / 23:07