Hallo,
ich habe mir jetzt eine Batch - Datei geschrieben nach deinen angaben
c:\temp\psloggedon.exe -l -x \%PCName% 2>NUL | FIND /I "Erbacher"woher kommt die Variable PCName? Aus den Aufrufparametern? Nutze diese doch direkt. Aber ich frag' mich immer noch, wozu? Warum machst Du alles so kompliziert?
PCName habe ich als Eingabevariable genommen, damit habe ich es nur getestet. Ich hatte nun vor in dieser Variable die Computernamen aus der Datenbank zu speichern, da durch den ersten Teil des Codes auch Server ect. gefunden werden kommt nach einer Zeit eine Fehlermeldung, daswegen möchte ich gezielt nach Computernamen suchen.
Nun will ich mir die variable so an PHP schicken
wget -O - --post-data 'action=bla&action2=123' http://bla.fhgw.de/test.php
Wo läuft Dein apache mit PHP? Auf der Linuxkiste, deren Daten Du zu Anfang gepostet hast? Von wo aus willst Du Deine Abfrage starten?
Ja genau, über die Linuxkiste :D möchte ich dieses Script starten, da auf der Kiste alle Scripts liegen.
Die Abfrage soll von jeden ex-beliebigen PC aus dem Netzwerk gestartet werden können.
Nehmen wir an, Deine Webserver/PHP-Kombination läuft auf einer Windowsmaschine, die Domain heiße EXAMPLE und nehmen wir weiter an, psloggedon.exe sei im Verzeichnis
D:\Program Files
gespeichert, d.h. der Pfad zu psloggedon.exe sei
D:\Program Files\psloggedon.exe
In diesem Falle könntest Du an die Ausgabe in der Form
\PC_1
EXAMPLE\User1
\PC_2
EXAMPLE\User2
\PC_3
\MAINFRAME
EXAMPLE\User1
EXAMPLE\User7
EXAMPLE\User22in Deinem PHP-Programm wie folgt kommen:
// Baue Kommando zusammen
$pathToExe = 'D:\Program Files\psloggedon.exe';
$domain = 'EXAMPLE';
$command = 'FOR /F "usebackq" %I IN (NET VIEW ^| FIND "\\\\") DO '
. '@ECHO %I & '
. '"' . $pathToExe . '"'
. ' -l -x %I 2>NUL | FIND '
. '"' . $domain . '\"';
// Beachte: Dieses Kommando enthält keinerlei Zeichen mehr, die zusätzlich
// maskiert werden müssen. Es darf nicht mit [link:http://de3.php.net/manual/de/function.escapeshellcmd.php@title=escapeshellcmd()]
// behandelt werden.// Führe Kommando aus
$output = link:http://de3.php.net/manual/de/function.shell-exec.php@title=shell_exec;// Debug-Ausgabe der Ausgabe des Kommandos:
echo link:http://de3.php.net/manual/de/function.htmlspecialchars.php@title=htmlspecialchars;
>
> Die Ausgabe des Kommandos nun nett aufzubereiten, sei es in einer Tabelle, sei es in einer Liste, sollte Dir nicht mehr schwer fallen.
Des ist dann kein Problem mehr :D
> Steht Dir Webserver/PHP ausschließlich auf der Linux-Kiste zur Verfügung, nähme ich an Deiner Stelle eine HTA.
Ja sie sind leider nur auf der Linux Kisten.
MfG Jonny F.