Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Netzlaufwerke per Batch einem Computernamen zuweisen

Frage Entwicklung Batch & Shell

Mitglied: WinSeven

WinSeven (Level 1) - Jetzt verbinden

04.07.2011, aktualisiert 18.10.2012, 3287 Aufrufe, 7 Kommentare

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
Mitglied: 60730
04.07.2011 um 10:29 Uhr
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ß
Bitte warten ..
Mitglied: WinSeven
04.07.2011 um 10:38 Uhr
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
Bitte warten ..
Mitglied: Skyemugen
04.07.2011 um 10:49 Uhr
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é
Bitte warten ..
Mitglied: WinSeven
04.07.2011 um 11:18 Uhr
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
Bitte warten ..
Mitglied: WinSeven
04.07.2011 um 11:40 Uhr
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

schönen Tag

Patrick
Bitte warten ..
Mitglied: WinSeven
04.07.2011, aktualisiert 18.10.2012
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:

http://www.administrator.de/forum/standarddrucker-per-batch-anhand-der- ...

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
Bitte warten ..
Mitglied: 60730
04.07.2011 um 17:33 Uhr
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ß
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Variable einen Wert zuweisen (7)

Frage von sascha382 zum Thema Batch & Shell ...

Microsoft
Computernamen anhand des OS festlegen per Batch (8)

Frage von Janni2007 zum Thema Microsoft ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...