Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 10.08.2009, 13:31   #1
Junior Member
 
Offline
Registriert seit: 02-2007
Ort: Wiesbaden
Beiträge: 105
Script für Netzwerkeinstellungen

Hi Leute,

ich versuche eine Batch zu schreiben, mit der sich die Notebookuser per Auswahl für Sie gültige Netzwerkeinstellungen "einrichten" können (Lan und/oder WLan).

Leider muß ich hier in jeder Niederlassung mit statischen IP-Adressen arbeiten, und bin daher darauf angewiesen, das die IP Adressen je nach Standort fest angelegt werden.

Das habe ich mittels "netsh interface ip set adresse" auch am laufen. nun muß ich das "nur noch Benutzerfreundlich" anlegen.

Mein gedanke war, das der User erstmal angeben muß, ob er "per Kabel" oder "Per WLan" ins Netz kommt. Dementsprechend wird die Netzwerkverbindung ausgewählt.

Dafür setze ich eine variable (lanv), die den Verbindungsnamen beinhalten soll.

Als zweiter Schritt soll er den Standort auswählen. Demnach wird die IP dann eingerichtet.

Leider will aber die Auswahl des Adapters nicht wirklich. Hier mal der Scriptpart:

Code:
@echo off
cls

:START
Echo. 
echo.
Echo [1] Patchkabel
Echo.
Echo [2] WLAN
Echo.
Echo [q] QUIT
Echo.

set /p lan=Bitte waehlen Sie Ihre Netzwerkverbindung aus!: 

if %lan% == 1 set lanv=LAN-Verbindung
if %lan% == 2 set lanv=Drahtlose Netzwerkverbindung 2
if %lan% == q goto QUIT

if not %lan% == 1 goto RESTART
if not %lan% == 2 goto RESTART
if not %lan% == q goto RESTART

goto STARTLAN

:STARTLAN
cls
Echo.
echo.
Echo [1] WJW HASENGARTENSTRASSE
Echo.
Echo [2] DOMAENE MECHTHILDSHAUSEN
REM Echo 
REM Echo [3] Klarenthal
REM Echo
REM Echo [4] Gassenbach
Echo.
ECHO [0] DHCP (Automatische IP Zuweisung)
ECHO.
Echo [Q] Quit
Echo.


set /p choice=Bitte waehlen Sie Ihren Standort aus!: 

if %choice% == 1 goto WJW HASENGARTENSTRASSE
if %choice% == 2 goto DOMAENE MECHTHILDSHAUSEN
REM if %choice% == 3 goto Klarenthal
REM if %choice% == 4 goto Gassenbach
if %choice% == 0 goto DHCP
if %choice% == q goto QUIT

if not %choice% == 1 goto RESTARTLAN
if not %choice% == 2 goto RESTARTLAN
echo off
REM if not %choice% == 3 goto RESTARTLAN
REM if not %choice% == 4 goto RESTARTLAN
echo
if not %choice% == q goto RESTARTLAN

:WJW HASENGARTENSTRASSE
echo.
echo.
echo Bitte haben Sie etwas Geduld
netsh interface ip set address name="%lanv%" static 192.168.100.237 255.255.255.0 192.168.100.30 0
goto QUIT

...

:RESTART
echo.
echo.
set /p _ok=Falsche Eingabe! Bitte druecken Sie die Eingabetaste um Ihre Auswahl zu treffen!
cls
goto START
Sobald ich die Verbindung ausgewählt habe, laufe ich in die Meldung "Falsche Eingabe! Bitte druecken Sie die Eingabetaste um Ihre Auswahl zu treffen!"

Irgentwie find ich grad keine Lösung, um nach der Zuweisung der Variablen "lanv" eine Sprungadresse zu zuweisen ( a la: if %choice% == 1 goto WJW HASENGARTENSTRASSE)

Irgentwelche Tipps für Lösungen, die ich grad nicht seh??

Thx und Gruß
Fosco

P.S.
Bitte keine Häme über das Netzwerk hier... wenn ich könnte wie ich wollte säh schon alles anders aus...
    Mit Zitat antworten
Alt 10.08.2009, 14:03   #2
Expert Member
 
Benutzerbild von phoenixcp
 
Offline
Registriert seit: 02-2004
Ort: Radebeul
Beiträge: 5.470
Versuch mal die Leerzeichen aus deinen Sprungmarken zu nehmen. Ich glaub nicht das das so geht...

Signatur
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

    Mit Zitat antworten
Alt 10.08.2009, 14:28   #3
Junior Member
 
Offline
Registriert seit: 02-2007
Ort: Wiesbaden
Beiträge: 105
Die Leerzeichen haben bisher keine probs gemacht....

wenn ich das Script fest für einen Netzwerkadapter nehme (also ohne Variable als Adaptername, sonder gleich den namen in der zuweisung der ip) funktioniert es einwandfrei.
    Mit Zitat antworten
Alt 10.08.2009, 14:40   #4
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.523
Ich vermute, es liegt daran:
Code:
if not %lan% == 1 goto RESTART
if not %lan% == 2 goto RESTART
if not %lan% == q goto RESTART
Da %lan% ja nicht alles gleichzeitig sein kann, treffen immer min. zwei der Bedingungen zu und du springst grundsätzlich nach "RESTART"

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Alt 10.08.2009, 14:46   #5
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.523
Probiers mal so:
Code:
set /p lan=Bitte waehlen Sie Ihre Netzwerkverbindung aus!: 

if %lan% == 1 set lanv=LAN-Verbindung && goto STARTLAN
if %lan% == 2 set lanv=Drahtlose Netzwerkverbindung 2 && goto STARTLAN
if %lan% == q goto QUIT
GOTO RESTART

:STARTLAN
echo %lanv%

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Alt 10.08.2009, 14:54   #6
Junior Member
 
Offline
Registriert seit: 02-2007
Ort: Wiesbaden
Beiträge: 105
Hmm... Das könnte sein.
Aber wenn ich das rauslasse, wird eine Falscheingabe ja nicht abgefangen.
Gibt es eine Möglichkeit dies abzufangen, ohne das Script (bzw. den Sinn) gleich auszuhebeln?
Ups.. hab deinen Nachtrag grad erst gesehen.. und probier es gleich aus..

Kann ich mittlels "&&" zwei Befehle verknüpfen?

Sry, für dumme Fragen, aber ich schreibe nur extrem selten mal ein script, und wurschtel mich da bisher nur ein bischen durch..

Aber schon mal THX für die Hilfen !!
    Mit Zitat antworten
Alt 10.08.2009, 15:13   #7
Junior Member
 
Offline
Registriert seit: 02-2007
Ort: Wiesbaden
Beiträge: 105
Zitat von Cybquest Beitrag anzeigen
Probiers mal so:
Code:
set /p lan=Bitte waehlen Sie Ihre Netzwerkverbindung aus!: 

if %lan% == 1 set lanv=LAN-Verbindung && goto STARTLAN
if %lan% == 2 set lanv=Drahtlose Netzwerkverbindung 2 && goto STARTLAN
if %lan% == q goto QUIT
GOTO RESTART

:STARTLAN
echo %lanv%
Herzlichen Dank...

Damit läuft das Script einwandfrei. Lediglich die leerzeichen vor den && mußte ich noch rausnehmen, da sonst ne kleine fehlermeldung kommt. Umgesetzt werde die Daten trotzdem..

THX Fosco
    Mit Zitat antworten
Alt 10.08.2009, 15:53   #8
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.523
Bitteschön

phoenixcp hat übrigens schon Recht! Die Leerzeichen in den Sprungzielen taugens nicht! Dir fällt das bisher nur nicht auf, weil der vordere Teil der Sprungmarken unterschiedlich ist.
Wenn Du jedoch irgendwann weitere "DOMAENE" oder "WJW" angibst, merkst Du, dass er immer zum ersten Sprungziel springt, unabhängig davon, was dahinter steht.

Statt && wäre übrigens auch folgendes möglich:
Code:
if %lan% == 1 (
 set lanv=LAN-Verbindung
 goto STARTLAN )
So können mehrere Befehle abhängig vom Vergleich abgearbeitet werden.

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Netzwerkeinstellungen per Script dj-cool Windows Forum — LAN & WAN 2 15.02.2010 20:08
Netzwerkeinstellungen per GPO mickey Windows Forum — LAN & WAN 3 05.12.2006 13:51
Netzwerkeinstellungen in W2k msdtp Windows Server Forum 1 24.05.2005 15:03
Netzwerkeinstellungen über vbs Script ändern The damn SouL Windows Forum — Allgemein 6 28.09.2003 16:23
VB-Script -- Netzwerkeinstellungen guth-th Windows Forum — Allgemein 5 19.08.2003 09:29


Alle Zeitangaben in MEZ/CET. Es ist jetzt 15:21 Uhr. Seite generiert in 0,038 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang