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
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
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]
; 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
Return $ts
FileDelete($StrTempFiles)
EndFunc
Edit BugFix: Tags eingefügt