winseven
Goto Top

Netzlaufwerke per Batch einem Computernamen zuweisen

Hallo liebe Leute ich stehe hier vor einem kleinen Problem und ich finde leider keine Lösung face-sad

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

Content-ID: 169050

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

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

60730
60730 04.07.2011 um 10:29:07 Uhr
Goto Top
Moin,

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

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ß
WinSeven
WinSeven 04.07.2011 um 10:38:58 Uhr
Goto Top
Danke für deine Antwort.
Ich habe bevor ich den Beitrag geschrieben habe durchgeblättert und nichts für genau mein Problem gefunden (was natärlich nicht heißen muss das es keinen gibt)

Ja unterschiedliche IP bereiche sind vorhanden:

192.168.0.x Hauptstelle
192.168.30.x
Zweigstelle

da die Zweigstelle gerade im Aufbau ist wäre es möglich ohne große umstände die PC namen in Deutschland noch zu ändern!

ich werde die Seite nochmals durchforsten und hoffe das ich doch noch was finde!

Mit freundlichen Grüßen

Patrick
Skyemugen
Skyemugen 04.07.2011 um 10:49:41 Uhr
Goto Top
Aloha,

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é
WinSeven
WinSeven 04.07.2011 um 11:18:57 Uhr
Goto Top
Danke für die schnelle Antwort.

also PCMueller gibts keinen ^^

nach pc bzw pcm kommen NUR zahlen (2stellig)

ich werde deinen Vorschlag mal versuchen udn gebe dir bescheid.

danke dir und schönen Tag

Patrick
WinSeven
WinSeven 04.07.2011 um 11:40:53 Uhr
Goto Top
Zitat von @Skyemugen:
Aloha,

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é


Ich danke dir vielmals hat wunderbar funktioniert face-smile

schönen Tag

Patrick
WinSeven
WinSeven 04.07.2011, aktualisiert am 18.10.2012 um 18:47:26 Uhr
Goto Top
So melde mich nochmal...

Nun da wir das geklärt haben und natürlich wunderbar funktioniert würde ich noch gerne wissen wie ich das anstellen soll damit es nicht
auf den Computernamen sondern auf die IP bezogen ist?

hab das hier gefunden:

Standarddrucker per Batch anhand der IP zuweisen

nur leider bin ich nicht in der lage mir das so hinzubiegen das es nicht auf drucker sondern eben auf die netzlaufwerke bezogen ist!

die netze wären:

192.168.0.x
192.168.30.x


wäre euch sehr verbunden

danke
Patrick
60730
60730 04.07.2011 um 17:33:01 Uhr
Goto Top
moin,

echo %computername%|find /i "pcm" && echo deutsche zweigstelle
bedeutet im Klartext - "schreibe" den Inhalt der Variable %computername% - finde "pcm" und schreibe deutsche zweigstelle
Das 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ß