streetfighter2001

Standarddrucker per Batch anhand der IP zuweisen

Standarddrucker per Batch anhand der IP zuweisen

Hallo Leute,
ich habe folgendes Problem. Bei uns in der Firma gibt es einige Laptop- User die zwischen unserer Hauptfiliale und unserer Nebenstelle pendeln. In unserer Hauptfiliale werden die IP-Adressen per DHCP verteilt und in der Nebenstelle haben die Laptops fest zugewiesene IP-Adressen. Jetzt würde ich ganz gerne ein Skript schreiben, dass die IP-Adresse ausliest und anhand der IP der Standarddrucker zugewiesen wird.

Wenn ich mich nicht täusche müsste ich nun also die IP auslesen und in eine Variable oder eine Txt-Datei schreiben. Z.B. so:
ipconfig/all | findstr "IP-Ad" > ip.txt
Dann müsste ich die Datei auslesen und die IP weiterverarbeiten, da weiß ich dann aber nicht weiter.

Anschließend müsste ich dann wahrscheinlich eine IF-Abfrage starten.
WENN IP = 192.168.123.10 SETZE Standarddrucker1 SONST Standarddrucker2

Den Befehl um einen Drucker per Batch zu ändern habe ich über google schon gefunden:
rundll32 printui.dll,PrintUIEntry /y /n \\PRINTSERVER\DRUCKERNAME

Ich hoffe ihr könnt mir weiterhelfen.

Vielen Dank schon mal!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 137888

Url: https://administrator.de/forum/standarddrucker-per-batch-anhand-der-ip-zuweisen-137888.html

Ausgedruckt am: 10.07.2025 um 13:07 Uhr

bastla
bastla 10.03.2010 um 15:02:30 Uhr
Hallo streetfighter2001 und willkommen im Forum!

Wenn Du nur auf eine konkrete IP prüfen musst, sollte eigentlich etwas in der Art genügen:
ipconfig/all|findstr "IP-Ad"|findstr "192.168.123.10">nul && (SETZE Standarddrucker1) || (SETZE Standarddrucker2)
Grüße
bastla
Bert001
Bert001 10.03.2010 um 15:10:53 Uhr
Hallo, vielleicht hilft dir das Script ein wenig weiter!
Wie du die momentane IP bekommst weißt du ja....
LG

ECHO off

::  >>>Variablen<<<

SET IP_M=IPAdresse_Momentan
SET IP_A=IPAdresse_A
SET IP_B=IPAdresse_B
SET PrinterA=\\DruckserverA\DruckerA
SET PrinterB=\\DruckserverB\DruckerB


:: >>>Standarddrucker fetlegen<<<
:: Wenn der aktuelle Computername einem der festgelegten Computernamen entspricht, wird der zugehörige Drucker als Standarddrucker eingerichtet.
IF %IP_M%==%IP_A% (
	rundll32 printui.dll,PrintUIEntry /y /n %PrinterA%
	ECHO  Ihr Standarddrucker lautet: %PrinterA%
)
IF %IP_M%==%IP_B% (
	rundll32 printui.dll,PrintUIEntry /y /n %PrinterB%
	ECHO  Ihr Standarddrucker lautet: %PrinterB%
)
[Edit Biber] Codetags [/Edit]
streetfighter2001
streetfighter2001 10.03.2010 um 15:18:01 Uhr
Danke für die schnelle Antwort.
Leider funktioniert das so nicht ganz, er nimmt immer die letzte Anweisung, egal ob die IP stimmt oder nicht.
bastla
bastla 10.03.2010 um 15:30:05 Uhr
Hallo streetfighter2001!

Kann ich zwar nicht nachvollziehen, aber alternativ kannst Du es auch so versuchen:
ipconfig/all|findstr "IP-Ad"|findstr "192.168.123.10"  
if errorlevel 1 (
    echo SETZE Standarddrucker2
) else (
    echo SETZE Standarddrucker1
)
Ich habe noch das ">nul" weggelassen - so siehst Du beim Testen auch, wenn die Adresse gefunden wurde ...

Grüße
bastla
60730
60730 12.03.2010 um 23:57:27 Uhr
moin,

unabhängig davon, dass Bastlas Weg zwar gängig sein sollte, frage ich mich nur - wie wird denn folgendes bei euch gelöst?
in unserer Hauptfiliale werden die IP-Adressen per DHCP verteilt und in der Nebenstelle haben die Laptops fest zugewiesene IP-Adressen.

Denn wenn das per Alternativer IP funktioniert, dann, ist der "Bock" bei Bastlas /all logisch.
Wobei - wenn es so ist - der Bock nicht durch Bastla erzeugt, sondern aufgedeckt wäre


ping %computername% |find "192.168.123" && rundll32 printui.dll,PrintUIEntry /y /n \\PRINTSERVER\DRUCKERNAME ||rundll32 printui.dll,PrintUIEntry /y /n \\PRINTSERVER\DRUCKERNAME  

wäre "mein" Weg.

Gruß
bastla
bastla 13.03.2010 um 14:01:13 Uhr
@timobeil
"Aufgedeckt" würde ich das nicht gerade nennen. face-sad

Danke jedenfalls dafür, dass wenigsten Du mitgedacht hast ...

Grüße
bastla
streetfighter2001
streetfighter2001 15.03.2010 um 14:00:02 Uhr
Gelöst, so funktioniert es!

Danke an alle!
streetfighter2001
streetfighter2001 15.03.2010 um 14:00:48 Uhr
Zitat von @60730:
moin,

unabhängig davon, dass Bastlas Weg zwar gängig sein sollte, frage ich mich nur - wie wird denn folgendes bei euch
gelöst?
> in unserer Hauptfiliale werden die IP-Adressen per DHCP verteilt und in der Nebenstelle haben die Laptops fest zugewiesene
IP-Adressen.

Denn wenn das per Alternativer IP funktioniert, dann, ist der "Bock" bei Bastlas /all logisch.
Wobei - wenn es so ist - der Bock nicht durch Bastla erzeugt, sondern aufgedeckt wäre


ping %computername% |find "192.168.123" && rundll32 printui.dll,PrintUIEntry /y /n  
> \\PRINTSERVER\DRUCKERNAME ||rundll32 printui.dll,PrintUIEntry /y /n \\PRINTSERVER\DRUCKERNAME

wäre "mein" Weg.

Gruß