Ich hätte ja gerne in meinen alten Thread gepostet, doch weil ich vorher meinen post gelöscht hatte, kam die Fehlermeldung, das ich einen doppelpost machen würde.
Mein Problem:
Ich würde gerne die namen aller Computer im Lokalen Netztwerk herausbekommen.
Dies war zuerst mein Code:
#include <process.au3>
#include <string.au3>
#include <array.au3>
$computer=_getcomputer()
_arraydisplay($computer)
func _getcomputer()
_RunDOS("net view >> " & @appdatacommondir & "/netview.txt" )
$file=fileopen(@appdatacommondir & "/netview.txt",0)
$lol = FileRead($file)
FileClose ($file)
FIleDelete(@appdatacommondir & "/netview.txt")
$w=_StringSplit($lol,@CRLF)
for $i=0 to Ubound($w)-1
if stringinstr($w[$i],"\\") Then
$w[$i]=stringreplace($w[$i],"\\","")
$w[$i]=stringreplace($w[$i]," ","")
$w[$i]=stringreplace($w[$i]," ","")
Else
$w[$i]=""
endif
next
_ArrayDeleteEmpty($w)
return $w
endfunc
Func _ArrayDeleteEmpty(ByRef $ARRAY)
If Not IsArray($ARRAY) Then Return 0
Local $arTMP[1]
For $i = 0 To UBound($ARRAY) -1
If $ARRAY[$i] <> '' Then
If $arTMP[0] = '' Then
$arTMP[0] = $ARRAY[$i]
Else
ReDim $arTMP[UBound($arTMP)+1]
$arTMP[UBound($arTMP)-1] = $ARRAY[$i]
EndIf
EndIf
Next
$ARRAY = $arTMP
EndFunc
Doch der DOS Befehkl scheint nicht richtig zu gehen und es wird immer nur mein eigener PC angegeben.
Wendern müsste ich mit erst die Arbeitsgruppen mit "net view /domain" ausgeben lassen und dann noch jede Arbeitsgruppe nach Computern durchsuchen "net view /domain:MSHEIMNETZ" . Doch diese Methode scheint sehr langsam zu sein, gibt es eventuell etwas schnelleres? Ihr wisst ja wie lange Windows immer unter Netztwerk Umgebung braucht. -.-