7303
Goto Top

Batch Rechnernamen aus dem Netzwerk auslesen

Guten Tag!

Ich benötige mal wieder Hilfe! Ich benötige ein Skript für ca. 250 Clients, welches auf jedem Rechner im Netzwerk einmalig einen Ordner anlegt und dort Dateien hineinkopiert. Das kopieren ist nicht das Problem. Nur leider weiß ich nicht wie ich die IP - Adressen der Clients auslesen kann? Ich möchte nämlich nicht jeden Rechnernamen oder jede IP einzeln eingeben. Kann mir jemand dabei behilflich sein? Habe einiges beim googlen gefunden nur leider kenne ich mich mit der Variablendeklaration nicht aus, so habe ich z.b. folgende Syntax verwendet:

 FOR /L %I IN (1,1,255) DO  

	rem Überprüfen ob Ordner existiert 
	if  exist  \\151.70.24.%I\ordner\  goto  fileexists
	goto  nofile 

i% soll den Wert 1 bis 255 beeinhalten. <-- vielleicht kennt jemand ne andere Möglichkeit?!

Naja danke schon mal für eure Hilfe!

Andie2409

Content-Key: 31119

Url: https://administrator.de/contentid/31119

Printed on: April 19, 2024 at 13:04 o'clock

Member: Dani
Dani Apr 25, 2006 at 12:01:20 (UTC)
Goto Top
Hi,
ich hätte ein VBScript, mit dem alle Computernamen in eine Textfile geschrieben werden! Wenn dein DNS funktioniert müsste es ja gehen!
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")  
Set objCommand =   CreateObject("ADODB.Command")  

objConnection.Provider = "ADsDSOObject"  
objConnection.Open "Active Directory Provider"  
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
    "Select Name, Location from 'LDAP://DC=DOMÄNE' " _  
        & "where objectClass='computer'"    
objCommand.Properties("Page Size") = 1000  
objCommand.Properties("Timeout") = 30   
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE   
objCommand.Properties("Cache Results") = False   
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Set fso = CreateObject("Scripting.FileSystemObject")  
Set TF = FSO.OpenTextFile("PFAD WO TEXTDATEI HIN SOLL",8, True)  

Do Until objRecordSet.EOF
    TF.WriteLine(objRecordSet.Fields("Name"))  
    objRecordSet.MoveNext
Loop
TF.Close 


Gruß
Dani
Member: miniversum
miniversum Apr 25, 2006 at 12:20:45 (UTC)
Goto Top
Na das sit ja schon Fast die Lösung...

Koppiere das hier in ne .bat-Datei
@echo off
echo Ereichbare IP-Adressen > Adressen.txt
FOR /L %%I IN (1,1,255) DO (if exist \\151.70.24.%%I\NUL (echo 151.70.24.%%I> Adressen.txt))

Auf diese art werden alle IP Adressen von 151.70.24.1 bis 151.70.24.255 durchprobiert ob dort ein Ordner erreicht werden kann. Wird was gefunden wird die IP-Adresse in eine Datei Adressen.txt geschrieben.
Du brauchst dann nur noch die Darei zu öffnen und siehst welche erreichbar sind.
Voraussetzung ist halt das alle PCs im bereich vom 151.70.24.xx liegen.

miniversum
Member: 2P
2P Apr 25, 2006 at 17:39:04 (UTC)
Goto Top
Hallo

Lass doch die Clients die Arbeit machen.
Einfach ein kleines Logon-Script, dass sie anweist ein Verzeichnis zu erstellen und die Dateien dort hineinzukopieren.

bis dann ...