LAN Ağı üzerinden 7 PC'den daha fazlası için PStool kullanılamaz


0

Aşağıda, uzaktaki bilgisayarları LAN Ağı ile kapatmak için kullandığım toplu iş dosyası komutu verilmiştir.

İşte yaptığı şey.

  1. Uzak bilgisayarların IP adresini adlandırılmış metin dosyasına list.txt
  2. IP olarak ekledim 0.0.0.0 uzaktaki tüm bilgisayar IP'lerinin altında.
  3. Aşağıdaki toplu iş dosyası, bilgisayarların LAN üzerinden kullanılabilir olup olmadığını kontrol eder.
  4. Bilgisayar mevcutsa, uzaktaki bilgisayarı kapatacak, bir sonraki IP'ye geçecektir.
  5. Toplu iş dosyası okuduğunda 0.0.0.0 Sonunda ana bilgisayarı kendi kendine kapatacak.

Benim sorunum bu partiyi 7'den fazla uzak bilgisayar için çalıştıramam. 7'den fazla uzak PC IP girişi eklersem list.txt toplu iş dosyası kilitleniyor ve işlem tamamlanmadı. Kodda herhangi bir hata yaptıysam veya bu sorunu nasıl çözebilirsem lütfen bana bildirin.

Bu toplu iş dosyasını en az 12 uzak bilgisayar için çalıştırmak istiyorum

@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
)
)
)

Yanıtlar:


0

Bir makineyi başka bir makine durumuna kontrol etmek arasında bir gecikme zamanlayıcısı koymak sorunu çözecektir.

Umut, makinenin çevrimiçi durumunu bulma ve kapatma komutunu geçme saniyenin çok daha kısa bir sürede çalışabilir ve kısa sürede bir sonraki makineye atlamak soruna neden olabilir. Bu nedenle, IF & amp; ELSE döngü ve daha ileri devam edin.


Merhaba Arkadaşım, anladım ki, iki bilgisayar arasında pinging zaman gecikmesi oluşturmak için ping'in üstündeki "timeout" komutunu kullanacağım. Bilmem gereken tek şey, iki bilgisayarın ping işlemi arasında gereken minimum zaman gecikmesidir. 1 saniye yeterli mi?
Dragonborn

Birkaç saniye uygulamanızı ve çalışıp çalışmadığını kontrol etmenizi öneririm. Makinenin erişmesine bağlı olabilir.
vembutech

Ne kadar olursa olsun yine de aynı problemden 1 ila 10 saniye gecikme süresi kullanmayı denedim.
Dragonborn

0

Komut dosyasını aşağıdaki gibi değiştirdim ve bir uygulamayı kullanarak BAT'tan EXE'e dönüştürdüm

@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
)
)
)

Yine de aynı sorunla karşı karşıyaydım. Exe dosyasını kullanarak komut dosyalarını çalıştırıyordum (BAT'a EXE kullanılarak dönüştürüldü), BAT dosyasını kullanarak yürüttüm. Daha sonra, EXE dönüştürücüsüne bağlanan BAt'ın EXE dosyasını etkilemekte olan bazı sorunları olduğunu anladım.

Daha sonra BAt'ı farklı uygulamalarla EXE'e dönüştürdüm ve IT ÇALIŞTIRILDI.

ATLAS sorununu çözdüm !!!!!!!!!!!!!! PHEV !!!!!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.