Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Netzwerkänderung und Eintritt in eine Domäne per Batchscript

Mitglied: DragonKM

DragonKM (Level 1) - Jetzt verbinden

28.03.2012 um 13:46 Uhr, 2249 Aufrufe, 8 Kommentare

Hallöchen,

ich versuche mich gerade im Batchscriptung (hab das vor Jahren mal gemacht) und sitze an meinem kleinen VM Netzwerk vor folgendem Problem:

Ich möchte einen Client per Batchdatei in das VM Netz (Server 2003 mit DHCP, DNS usw. steht bereits) aufnehmen. Da der Server in einem eigenen Netz ist, müssen natürlich die Netzwerkeinstellungen geändert werden und dabei hängt es.

Ich habe folgende Batchdatei geschrieben:

01.
@ECHO OFF 
02.
ECHO *********************************************** 
03.
ECHO * Script um Rechner in die Domäne aufzunehmen * 
04.
ECHO *********************************************** 
05.
ECHO. 
06.
ECHO. 
07.
ECHO Ändere Netzwerkeinstellungen des Rechners 
08.
ECHO. 
09.
ECHO Neue IP-Adresse:    192.168.0.254 
10.
ECHO Neue Subnet-Maske:  255.255.255.0 
11.
ECHO Neues Gateway:      192.168.0.1 
12.
ECHO. 
13.
ECHO. 
14.
netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.0.254 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1 
15.
ECHO. 
16.
ECHO. 
17.
ECHO Prüfe ob Netzwerkdaten korrekt geändert wurden: 
18.
@for /F "tokens=10,*" %%i in ('ipconfig /all^|find "IP-Adresse"') do @set IP=%%i 
19.
if %IP% == 192.168.0.254 goto SET IPA = OK ELSE SET IPA = NOK 
20.
@for /F "tokens=10,*" %%i in ('ipconfig /all^|find "Subnetmaske"') do @set Subnet=%%i 
21.
if %Subnet% == 255.255.255.0 SET SUBNET = OK ELSE Set Subnet = NOK 
22.
@for /F "tokens=10,*" %%i in ('ipconfig /all^|find "Standardgateway"') do @set Gateway=%%i 
23.
if %Gateway% == 192.168.0.1 set Gateway = OK ELSE Set Gateway = NOK 
24.
 
25.
 
26.
IF %IP% == NOK ECHO "IP Adresse wurde nicht geändert" 
27.
IF %SUBNET% == NOK ECHO "Subnetmaske wurde nicht geändert" 
28.
IF %GATEWAY% == NOK ECHO "Standardgateway wurde nicht geändert" 
29.
IF %IP% == OK ECHO "IP Adresse wurde geändert" 
30.
IF %SUBNET% == OK ECHO "Subnetmaske wurde geändert" 
31.
IF %GATEWAY% == OK ECHO "Standardgateway wurde geändert" 
32.
PAUSE
Die Netzwerkdaten werden geändert, doch bei der Überprüfung bekomme ich die Meldung das "Set syntaktisch falsch wäre" Ich vermute, dass ich in der IF Abrage in Zeile 19 einen Fehler habe. Ich hoffe mir kann jemand weiterhelfen
Mitglied: bastla
28.03.2012 um 13:57 Uhr
Hallo DragonKM!

So sollte es besser gehen:
if %IP%==192.168.0.254 (SET IPA=OK) ELSE (SET IPA=NOK)
Generell: Leerzeichen in Batch nur dort verwenden, wo sie wirklich erforderlich sind ...

Grüße
bastla
Bitte warten ..
Mitglied: DragonKM
28.03.2012 um 14:20 Uhr
Vielen Dank für die schnelle Antwort,

nun bekomme ich folgende Meldung:

01.
"(SET" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Bitte warten ..
Mitglied: bastla
28.03.2012 um 14:27 Uhr
Hallo DragonKM!

Der Fehler solltet aber doch nur auftauchen, wenn %IP% leer ist (den ganzen Batch hatte ich mir nicht angesehen) ...

Vermeiden lässt sich der Fehler entweder mit
if "%IP%"=="192.168.0.254" (SET IPA=OK) ELSE (SET IPA=NOK)
oder mit
if defined IP if %IP%==192.168.0.254 (SET IPA=OK) ELSE (SET IPA=NOK)
- ansetzen musst Du aber sicher schon bei der Ermittlung der IP, zB (unter XP) per
for /F "tokens=14" %%i in ('ipconfig /all^|find "IP-Adresse"') do "set IP=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: DragonKM
28.03.2012 um 14:33 Uhr
Hab den Fehler gefunden, es liegt an dem Gleichzeichen in der Abfrage,

habe die Abfrage nun so geschrieben

01.
if %IP% EQU "192.168.0.254" THEN do @SET IPA=OK ELSE do @SET IPA=NOK
und sie geht ;) Dabei ist mir aufgefallen, dass hier noch ein Fehler drin ist

01.
@for /F "tokens=10,*" %%i in ('ipconfig /all^|find "IP-Adresse"') do @set IP=%%i
Bitte warten ..
Mitglied: bastla
28.03.2012 um 14:41 Uhr
Hallo DragonKM!
und sie geht ;)
Dass keine Fehlermeldung ausgegeben wird, bedeutet aber nicht, dass die Zeile funktioniert (was leicht daran zu erkennen ist, dass %IPA% so keinen (neuen) Wert zugewiesen bekommt) ...

Grüße
bastla
Bitte warten ..
Mitglied: DragonKM
28.03.2012 um 14:44 Uhr
habs gemerkt :D

aber nun hab ich es auch ;) Ist eine Mischung aus deiner und meiner Lösung und das geringe Verständins meinerseits mit der geheimnisvollen Token Zahl :D

01.
@for /F "tokens=14" %%i in ('ipconfig /all^|find "IP-Adresse"') do @set IP=%%i 
02.
if %IP% EQU 193.168.0.254 (SET IPA=OK) ELSE (SET IPA=NOK)
Ich lass das hier mal auf "nicht gelöst" falls ich noch mehr Fragen zu der restlichen Batch habe :D

Vielen Dank erstmal
Bitte warten ..
Mitglied: bastla
29.03.2012 um 12:30 Uhr
Hallo DragonKM!

Die "geheimnisvolle Token Zahl" bekommst Du durch einfaches Abzählen - wenn das Trennzeichen (= Delimiter) nicht angegeben wird, trennt "for /f" bei jedem Leerzeichen / jedem TAB (wobei unmittelbar aufeinander folgenden Trennzeichen nur als eines gezählt werden) - daher ist aus der Zeile
        IP-Adresse. . . . . . . . . . . . : 193.168.0.254
"IP-Adresse" das Token #1, und das Token #13 der Doppelpunkt ...

Grüße
bastla
Bitte warten ..
Mitglied: DragonKM
29.03.2012 um 20:40 Uhr
ah danke ich hab nun das Script angepasst und es funktioniert auch

01.
@ECHO OFF 
02.
ECHO *********************************************** 
03.
ECHO * Script um Rechner in die Domäne aufzunehmen * 
04.
ECHO *********************************************** 
05.
ECHO. 
06.
ECHO. 
07.
ECHO Ändere Netzwerkeinstellungen des Rechners 
08.
ECHO. 
09.
ECHO Neue IP-Adresse:    192.168.0.254 
10.
ECHO Neue Subnet-Maske:  255.255.255.0 
11.
ECHO Neues Gateway:      192.168.0.1 
12.
ECHO. 
13.
ECHO. 
14.
netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.0.254 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1 
15.
ECHO. 
16.
ECHO. 
17.
ECHO Prüfe ob Netzwerkdaten korrekt geändert wurden: 
18.
for /F "tokens=14" %%i in ('ipconfig /all^|find "IP-Adresse"') do @set IP=%%i 
19.
if %IP% EQU 192.168.0.254 (SET IPA=OK) ELSE (SET IPA=NOK) 
20.
for /F "tokens=13" %%i in ('ipconfig^|find "Subnetzmaske"') do @set SN=%%i 
21.
if %SN% EQU 255.255.255.0 (SET SNA=OK) ELSE (Set SNA=NOK) 
22.
for /F "tokens=12" %%i in ('ipconfig^|find "Standardgateway"') do @set GW=%%i 
23.
if %GW% EQU 192.168.0.1 (SET GWA=OK) ELSE (Set GWA=NOK) 
24.
 
25.
 
26.
IF %IPA%==NOK ECHO IP Adresse wurde nicht geändert 
27.
IF %IPA%==OK ECHO IP Adresse wurde geändert 
28.
IF %SNA%==NOK ECHO Subnetmaske wurde nicht geändert 
29.
IF %SNA%==OK ECHO Subnetmaske wurde geändert 
30.
IF %GWA%==NOK ECHO Standardgateway wurde nicht geändert 
31.
IF %GWA%==OK ECHO Standardgateway wurde geändert 
32.
 
33.
 
34.
net use * /d /y 
35.
netdom.exe JOIN %COMPUTERNAME% /domain:dkm /UserD:Administrator /PasswordD:PASSW0rD! 
36.
 
Jetzt müsste nur noch ne Überprüfung erfolgen, ob der Rechner in die Domäne aufgenommen wurde. Also ohne Neustart ;)
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
Netzwerkänderung eines Standortes
Frage von tomtom2013Netzwerkgrundlagen3 Kommentare

Liebe Helferinnen und Helfer, ich bräuchte mal ein paar grundsätzliche Denkanstöße zu folgendem Szenario. Ist: 2 Standorte, physisch getrennt ...

LAN, WAN, Wireless

Netzwerkänderung mit Mikrotik - Aussetzer der Internetverbindung

gelöst Frage von loom2006LAN, WAN, Wireless30 Kommentare

Guten Abend! Ich habe da mal wieder ein kleines Problemchen :) Ich möchte mein Telekom Hybrid DSL aufteilen zw. ...

LAN, WAN, Wireless

Netzwerkänderung - Aufteilung mit MIkroTik Routerboard

gelöst Frage von m.reegerLAN, WAN, Wireless8 Kommentare

Hallo liebe Admins, ich bin nun seid neusten im Besitz eines MikroTik RB2011UiAS-RM und habe nun ein paar Grundlegende ...

Batch & Shell

Rechteveragbe über Batchscript

gelöst Frage von sanaitBatch & Shell7 Kommentare

Moin Moin, ich habe mir ein Laufwerk gemappt und will nun dort in einem Script die Rechte in den ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 8 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 17 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung29 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...