Terminalserver erkennen

  • Hallo All!

    hab mir unten eine Funktion gebaut, die mein Analysetool nutzt, um festzustellen, ob ich auf einem Terminalserver bin oder nicht.
    Mangels Testmöglichkeiten und/oder Erfahrungen auf solchen Systemen wäre es schön, wenn mal ein Profi einen Blick drauf werfen könnte. lt. Kollegen würden bei dem

    query termserver

    Kommando auch Server angezeigt werden, die keine Terminalserver sind.

    Was besseres (Abfrage Registry??) hab ich aber nicht gefunden.

    Es Dankt Euch

    German

    Spoiler anzeigen
    [autoit]

    Func _queryTermserver()

    [/autoit] [autoit][/autoit] [autoit]

    ; Kommando query Termserver eigener Name
    ; Return 0 ist kein Termserver
    ; Return 1 ist ein Termserver
    $ts=0
    $myname=@computerName

    [/autoit] [autoit][/autoit] [autoit]

    Dim $StrTempFiles = _TempFile() ; Name für Temp-Datei erzeugen

    [/autoit] [autoit][/autoit] [autoit]

    RunWait(@ComSpec & " /c " & Chr(34) & "query termserver /continue" & Chr(34) & " > " & $StrTempFiles, "", @sw_hide)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; einlesen in ein Array

    [/autoit] [autoit][/autoit] [autoit]

    Dim $aRecords

    [/autoit] [autoit][/autoit] [autoit]

    If Not _FileReadToArray($StrTempFiles,$aRecords) Then
    ; MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
    Exit
    EndIf
    For $x = 1 to $aRecords[0]

    [/autoit] [autoit][/autoit] [autoit]

    ; Msgbox(0,'Record:' & $x, $aRecords[$x],2)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    if StringInStr($aRecords[$x],$myname) > 0 then
    $ts=1
    exitloop
    EndIf

    Next

    [/autoit] [autoit][/autoit] [autoit]

    Return $ts
    FileDelete($StrTempFiles)

    EndFunc

    [/autoit]

    Edit BugFix: Tags eingefügt

  • Hallo msp-holzwurm

    habe den Befehl hier grade mal ausprobiert.
    In der Ausgabe wurden nur Terminal Server (2000 und 2003) aufgelistet.
    WindowsXP's und SuSE-Server wurden ignoriert.

    mfg

    aax