Netzlaufwerke per Batch einem Computernamen zuweisen
Hallo liebe Leute ich stehe hier vor einem kleinen Problem und ich finde leider keine Lösung
Die Sache ist die wir haben 2 Zweigstellen und da es zwischen einer Zweigstelle und der Hauptstelle eine Handvoll Pendler gibt wollte ich die Logins so anpassen, das jenachdem wo sich der Mitarbeiter befindet die passenden Netzlaufwerke verbinden.
z.b.:
if /i %computername% == pc* goto 1 die Namen der PC's in unserer Hauptstelle fangen alle mit "pc" an
if /i %computername% == pcm* goto 2 die Namen der PC's is unserer Deutschen Zweigstelle fangen alle mit "pcm" an
:1
net use L: \\server\freigabe
net use N: \\server\freigabe
und so weiter
goto END
:2
net use L: \\server\freigabe
net use N: \\server\freigabe
und so weiter
goto END
:END
In der Form wie oben beschrieben funktioniert die Batch leider nicht. Wenn ich statt "if /i %computername% == pc* goto 1" den pc namen ausschreibe "if /i %computername% == pc42 goto 1" funktioniert es natürlich.
Meine Frage wäre wie mache ich das möglich das es den Computernamen abfragt ohne das ich ihn nach dem "==" komplett ausschreiben muss?
Hoffe ihr könnt mir hier einen denkanstoss geben
Mit freundlichen Grüßen
Patrick
Die Sache ist die wir haben 2 Zweigstellen und da es zwischen einer Zweigstelle und der Hauptstelle eine Handvoll Pendler gibt wollte ich die Logins so anpassen, das jenachdem wo sich der Mitarbeiter befindet die passenden Netzlaufwerke verbinden.
z.b.:
if /i %computername% == pc* goto 1 die Namen der PC's in unserer Hauptstelle fangen alle mit "pc" an
if /i %computername% == pcm* goto 2 die Namen der PC's is unserer Deutschen Zweigstelle fangen alle mit "pcm" an
:1
net use L: \\server\freigabe
net use N: \\server\freigabe
und so weiter
goto END
:2
net use L: \\server\freigabe
net use N: \\server\freigabe
und so weiter
goto END
:END
In der Form wie oben beschrieben funktioniert die Batch leider nicht. Wenn ich statt "if /i %computername% == pc* goto 1" den pc namen ausschreibe "if /i %computername% == pc42 goto 1" funktioniert es natürlich.
Meine Frage wäre wie mache ich das möglich das es den Computernamen abfragt ohne das ich ihn nach dem "==" komplett ausschreiben muss?
Hoffe ihr könnt mir hier einen denkanstoss geben
Mit freundlichen Grüßen
Patrick
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169050
Url: https://administrator.de/contentid/169050
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
Das hat zwei Haken...
Und nun kommt das fette Ding....
PC ist in PCM enthalten.......
Habt ihr keine unterschiedlichen IP Bereiche?
PS: Die Frage wurde schon oft gestellt und eigentlich gibt schon alle Lösungen dazu hier. Such mal.
Gruß
if /i %computername% == pc* goto 1 die Namen der PC's in unserer Hauptstelle fangen alle mit "pc" an
if /i %computername% == pcm* goto 2 die Namen der PC's is unserer Deutschen Zweigstelle fangen alle mit "pcm" an
if /i %computername% == pcm* goto 2 die Namen der PC's is unserer Deutschen Zweigstelle fangen alle mit "pcm" an
Das hat zwei Haken...
- ein Rechner, der sich PCMirgendwas nennt - würde auch unter pc laufen
- Die Abfrage läuft nicht.
echo %computername%|find /i "pcm" && echo deutsche zweigstelle
Und nun kommt das fette Ding....
PC ist in PCM enthalten.......
Habt ihr keine unterschiedlichen IP Bereiche?
PS: Die Frage wurde schon oft gestellt und eigentlich gibt schon alle Lösungen dazu hier. Such mal.
Gruß
Aloha,
nun du könntest nur den Anfang vergleichen:
Wobei zu bedenken wäre, ob im
Wobei ich hoffe, dass es keinen PCMueller geben wird ...
greetz André
nun du könntest nur den Anfang vergleichen:
if /i "%computername:~0,3%"=="pcm" (goto :1) else (goto :2)
Wobei zu bedenken wäre, ob im
else
nicht sicherheitshalber lieber noch eine Abfrage rein sollte, für den Fall, dass es „fremde” Computernamen gibt.if /i "%computername:~0,3%"=="pcm" (goto :1) else (if /i "%computername:~0,2%"=="pc" (goto :2) else (echo Der Computername stammt aus einem anderen Zweig))
Wobei ich hoffe, dass es keinen PCMueller geben wird ...
greetz André
moin,
Das ist ein Hallo Welt Dingens und könnte auch sowas machen:
Gruß
echo %computername%|find /i "pcm" && echo deutsche zweigstelle
bedeutet im Klartext - "schreibe" den Inhalt der Variable %computername% - finde "pcm" und schreibe deutsche zweigstelleDas ist ein Hallo Welt Dingens und könnte auch sowas machen:
echo %computername%|find /i "pcm" && goto deutsche zweigstelle
ping %computername% |find "192.168.123" && rundll32....
muß also wie umgeändert werden?Gruß