Start, Logon, Logoff und Shutdown

  • Du hast bei dem letzten Befehl am Ende der Zeile noch ein S, was da nicht hin gehört und ich sehe auch den Prompt nach diesem Befehl nicht, was bedeutet, dass du ihn nicht ausgeführt hast! Hättest du ihn ausgeführt, stünde da jetzt eine Fehlermeldung und eine Zeile tiefer wieder der Prompt!

    C:\>IF %ERRORLEVEL% reg query "HKCU\SOFTWARE\pSAG\proalpha-client-test\5.1\proALPHA Session" /v UserID /reg:64S

    FEHLER: Ungültige Syntax.

    Geben Sie "REG QUERY /?" ein, um die Syntax anzuzeigen.

    C:\>

    Nun gib mal in einer Eingabeaufforderung auf einem anderen Rechner im Netzwerk (psexec nicht vergessen) folgenden Befehl ein, warte ein paar Sekunden und wiederhole die Befehle (diesmal alle und ohne Fehler) auf INFRA.

    Code
    psexec \\INFRA netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes

    Beide Ausgaben dann wieder hier posten.

  • Wir nutzen das bei uns in der Firma. Und wir haben extra im Büro einen Fernsehr mit der Weboberfläche von CheckMK, dort dargestellt mit 2 Spalten.
    Links: Allgemeine Netzwerkinfos Rechts: PC´s die Online sind und welcher User online ist und wer sich auf dem Terminalserver eingeloggt hat.
    Wir haben das seit 2 Jahren und sind immer noch nicht am ende mit einrichten.

  • Ich muss das Auslesen des Users der Anwendung vorerst zurückstellen. Ich greife das Thema wieder auf, wenn ich etwas mehr Zeit habe.

    Die Ansätze sind alle da...ich muss sie wohl nur mal in die richtige Reihenfolge bringen.

    Mir brennt jetzt noch eine andere Sache unter den Nägeln und ich beschreibe mal kurz meinen Fall:

    Ich habe den Code nochmal etwas verändert und mich dafür entschieden keine *.txt-Liste mehr zu nutzen, sondern die Abfrage der Rechner direkt per http-request zu erhalten.

    Das funktioniert auch alles schon sehr gut.

    Jetzt lasse ich das Script auf einer virtuellen Maschine laufen und sobald ich auf der Php-Seite einen Rechner erneut abfrage, geht er die Funktion durch und liefert mir auch das entsprechende Ergebnis.

    Ist die Warteliste allerdings leer, erhalte ich immer eine 1 zurück.

    Sobald ich einen weiteren Rechner neu abfrage, erscheint wieder eine 1, dann der entsprechende Rechner und dann wieder die 1.

    Habe ich n Rechner in der Warteliste, erscheint "n" und dann arbeitet das Script die Rechner ab.

    Ich muss also bei den Arrays irgendwelche Fehler gemacht haben.

    Ich unterlege das ganze mal mit Screenshots und aktuellem Code.

    PHP-Vorschau:

    pasted-from-clipboard.png

    Script mit Console:

    pasted-from-clipboard.png

    Aktueller Code:

  • Ohne den Source angesehen zu haben - sozusagen aus der holen Hand :) : Array [0] = nutzbarer Inhalt und NICHT die Anzahl der im Array benutzten Datensätze --> Schleifendurchlauf = Datensätze -1 ? Oder im Zweifel auch umgekehrt?

    Gruß

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • AutoIt
    Local $aRechner = StringSplit(getData(), ",")

    StringSplit liefert dir im ersten Index die Anzahl der Splits, wenn du das Flag $STR_NOCOUNT nicht als dritten Parameter mit angibst... in dem Fall sollte Zeile 38 so aussehen...

    Code
    For $i = 1 To $aRechner[0] ; [$i] ist hier völliger Quatsch!!!

    Hier das korrigierte Script:

    4 Mal editiert, zuletzt von Bitnugger (22. März 2018 um 19:07)

  • Hey Leute,

    vielen Dank für die super Unterstützung. :thumbup:

    Ein riesen Dank geht raus an Bitnugger, für die Geduld, die tollen Erklärungen und astreinen Codes! :klatschen:

    Was soll ich sagen, es funktioniert jetzt so wie es soll und ich bin sehr glücklich. :party:

    Habe allein durch diesen Thread so viel neues gelernt und freue mich es künftig weiter ein- und umsetzen zu können.

    Da der Punkt mit dem User aus der Anwendung noch offen ist, werde ich mich zeitnah wieder dazu melden.

    Nochmals tausend Dank für die Unterstützung:klatschen: