streetfighter2001
Goto Top

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!

Content-Key: 137888

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

Ausgedruckt am: 28.03.2024 um 12:03 Uhr

Mitglied: bastla
bastla 10.03.2010 um 15:02:30 Uhr
Goto Top
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
Mitglied: Bert001
Bert001 10.03.2010 um 15:10:53 Uhr
Goto Top
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]
Mitglied: streetfighter2001
streetfighter2001 10.03.2010 um 15:18:01 Uhr
Goto Top
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.
Mitglied: bastla
bastla 10.03.2010 um 15:30:05 Uhr
Goto Top
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
Mitglied: 60730
60730 12.03.2010 um 23:57:27 Uhr
Goto Top
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ß
Mitglied: bastla
bastla 13.03.2010 um 14:01:13 Uhr
Goto Top
@timobeil
"Aufgedeckt" würde ich das nicht gerade nennen. face-sad

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

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

Danke an alle!
Mitglied: streetfighter2001
streetfighter2001 15.03.2010 um 14:00:48 Uhr
Goto Top
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ß