Kommunikation zweier batch abläufe im lokalen lan
es sind leider keine netzwerkfreigaben vorhanden
Hallo
Ich bräuchte hilfe...
folgendes szenario:
pc1 mit batch1
pc2 mit batch2
verbunden per lan können also problemlos kommunizieren
wie kann ich eine kommunikation schaffen ? das batch 1 daten über die cpu/ram und und und auslastung an batch 2 weiterleitet( das auslesen von cpu und ram hab ich scho ...)
WIN VISTA
(Netzwerkfreigaben nicht möglich)
cpu auslastung feststellen ist kein problem alleine die übertragung...
ich greife auch auf externe programme zu
hab mir schon netcat angeschaut aber das hilft mir nicht viel oder ?
DANKE
glg chris
Hallo
Ich bräuchte hilfe...
folgendes szenario:
pc1 mit batch1
pc2 mit batch2
verbunden per lan können also problemlos kommunizieren
wie kann ich eine kommunikation schaffen ? das batch 1 daten über die cpu/ram und und und auslastung an batch 2 weiterleitet( das auslesen von cpu und ram hab ich scho ...)
WIN VISTA
(Netzwerkfreigaben nicht möglich)
cpu auslastung feststellen ist kein problem alleine die übertragung...
ich greife auch auf externe programme zu
hab mir schon netcat angeschaut aber das hilft mir nicht viel oder ?
DANKE
glg chris
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 121020
Url: https://administrator.de/contentid/121020
Ausgedruckt am: 04.11.2024 um 22:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo Christian25 und willkommen im Forum!
Spontan fiele mir zu diesem Thema "wmic.exe" ein - wenn Du allerdings schon keine Freigaben verwenden kannst / darfst, könnten die nötigen Systemeinstellungen für den Remote-Zugriff (siehe Connecting to WMI Remotely Starting with Windows Vista oder auch hier) ein Hindernis sein ...
Grüße
bastla
Spontan fiele mir zu diesem Thema "wmic.exe" ein - wenn Du allerdings schon keine Freigaben verwenden kannst / darfst, könnten die nötigen Systemeinstellungen für den Remote-Zugriff (siehe Connecting to WMI Remotely Starting with Windows Vista oder auch hier) ein Hindernis sein ...
das auslesen von cpu und ram hab ich scho
Wie sieht denn Deine Lösung dafür überhaupt aus?Grüße
bastla
Hallo Christian25!
Deine VBScripte (könntest Du auch posten) werden vermutlich ebenfalls WMI verwenden und könnten dann grundsätzlich die Informationen direkt vom anderen Rechner bekommen, sodass nur ein einziger Batch nötig wäre - allerdings wird in dem oben verlinkten Artikel darauf hingewiesen, dass zumindest die Firewall-Einstellungen angepasst werden müssen, und unter Vista ev auch die UAC dazwischenfunkt (auch abhängig davon, ob das Script mit Admin-Rechten läuft, bzw ob sich die Rechner in einer Domäne befinden - dazu gibt es übrings von Dir überhaupt keine Informationen ...).
Grüße
bastla
Deine VBScripte (könntest Du auch posten) werden vermutlich ebenfalls WMI verwenden und könnten dann grundsätzlich die Informationen direkt vom anderen Rechner bekommen, sodass nur ein einziger Batch nötig wäre - allerdings wird in dem oben verlinkten Artikel darauf hingewiesen, dass zumindest die Firewall-Einstellungen angepasst werden müssen, und unter Vista ev auch die UAC dazwischenfunkt (auch abhängig davon, ob das Script mit Admin-Rechten läuft, bzw ob sich die Rechner in einer Domäne befinden - dazu gibt es übrings von Dir überhaupt keine Informationen ...).
Grüße
bastla
Zitat von @Christian25:
> Zitat von @Globalpos:
> ----
> Hallo Christian25!
> > ist es auch möglich benutzerdefinierte daten zu
> übertragen ?
> Dazu kann ich leider nichts beitragen ...
>
> Grüße
> bastla
es gibt hier also keine möglichkeit ?
Hallo zusammen!> Zitat von @Globalpos:
> ----
> Hallo Christian25!
> > ist es auch möglich benutzerdefinierte daten zu
> übertragen ?
> Dazu kann ich leider nichts beitragen ...
>
> Grüße
> bastla
es gibt hier also keine möglichkeit ?
entschuldigt, wenn ich den Beitrag wieder ausgrabe. Doch ich habe ein ähnliches Problem.
Ich möchte ebenfalls zwischen zwei Batch Programmen Daten austauschen können. (Mindestens in eine Richtung)
Dazu habe ich einen Batch auf dem Zielrechner, welcher in einer Endlosschlaufe läuft. Der müsste dann irgendwie die Daten empfangen.
Auf einem anderen Rechner müsste ich per Batch irgendwelche Daten (Variableninhalte) senden können.
Die beiden Rechner sind im gleichen Netzwerk.
Das Tool "PSEXEC" kenne ich, jedoch möchte ich das ohne externe Tools lösen. (Wenn möglich) Zudem haben verschiedene Leute Probleme mit diesem Tool, dass es manchmal nicht läuft und manchmal schon.....
Ich bin um jeden Hinweis froh!
Grüsse
Server2008
Hallo Server2008!
Auch von Dir kommt relativ wenig Information - daher nur folgender Ansatz: Wenn nichts dagegen spricht, eine Datei zum Übertragen zu verwenden, könntest Du zB die relevanten Variablen mit einem einheitlixhen Präfix (zB "pr_Var1", "pr_Var2", ...) versehen und mit einem
speichern.
Abzuholen und einzulesen wären die Werte dann innerhalb Deiner Schleife etwa so:
Grüße
bastla
Auch von Dir kommt relativ wenig Information - daher nur folgender Ansatz: Wenn nichts dagegen spricht, eine Datei zum Übertragen zu verwenden, könntest Du zB die relevanten Variablen mit einem einheitlixhen Präfix (zB "pr_Var1", "pr_Var2", ...) versehen und mit einem
set pr_>\\Server\Share\VarTrans.txt
Abzuholen und einzulesen wären die Werte dann innerhalb Deiner Schleife etwa so:
set "Trans=\\Server\Share\VarTrans.txt"
if exist "%Trans%" (
for /f "usebackq delims=" %%i in ("%Trans%") do set "%%i"
del "%Trans%"
)
bastla
Zitat von @bastla:
Hallo Server2008!
Auch von Dir kommt relativ wenig Information - daher nur folgender Ansatz: Wenn nichts dagegen spricht, eine Datei zum
Übertragen zu verwenden, könntest Du zB die relevanten Variablen mit einem einheitlixhen Präfix (zB
"pr_Var1", "pr_Var2", ...) versehen und mit einem
speichern.
Abzuholen und einzulesen wären die Werte dann innerhalb Deiner Schleife etwa so:
Grüße
bastla
Hallo Server2008!
Auch von Dir kommt relativ wenig Information - daher nur folgender Ansatz: Wenn nichts dagegen spricht, eine Datei zum
Übertragen zu verwenden, könntest Du zB die relevanten Variablen mit einem einheitlixhen Präfix (zB
"pr_Var1", "pr_Var2", ...) versehen und mit einem
set pr_>\\Server\Share\VarTrans.txt
>
Abzuholen und einzulesen wären die Werte dann innerhalb Deiner Schleife etwa so:
set "Trans=\\Server\Share\VarTrans.txt"
> if exist "%Trans%" (
> for /f "usebackq delims=" %%i in ("%Trans%") do set "%%i"
> del "%Trans%"
> )
>
bastla
Hallo Bastla,
Vielen Dank für Deinen Lösungsansatz.
Von dem her könnte ich auch schreiben
echo MeinVariablenInhalt>\\Computer\Share\test.txt
Leider ist nicht immer sichergestellt, dass ich die Berechtigung habe, auf ein Laufwerk (lokal oder Netzwerk) zuzugreifen.
Konkret möchte ich von einem Steuer-PC aus einen speziellen Befehl ins Netzwerk senden. (z.B. GetIPAddress)
ALLE Computer im selben Netzwerk, auf welchen mein "Empfänger-Batch" läuft, bekommen nun diesen Befehl und führen dann etwas aus. (Sie wissen dann zum Beispiel, dass wenn sie den String "GetIPAddress" erhalten, die eigene IP Adresse ermitteln sollen und diese z.B. auf einen FTP Server laden sollen.)
Mir geht es momentan aber mal nur um die Kommunikation über das Netzwerk. Wenn möglich ohne externe Tools (nur Windows Bordmittel ab WinXP, WinVista und Win7) und wenn möglich ohne den Umweg über eine Datei.
Eine Datei hat den Nachteil, dass der / die Empfänger sie immer auslesen müssen. Wenn ich aber dann bereits den nächsten Befehl reinschreiben möchte, dann habe ich eine Zugriffsverletzung.
Aber vielen Dank schon mal für Deine Hilfe! Der Ansatz wäre grundsätzlich klasse!!
Gruss
Server2008