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
GELÖST

Standarddrucker per Batch anhand der IP zuweisen

Frage Entwicklung Batch & Shell

Mitglied: streetfighter2001

streetfighter2001 (Level 1) - Jetzt verbinden

10.03.2010 um 14:31 Uhr, 11882 Aufrufe, 8 Kommentare

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!
Mitglied: bastla
10.03.2010 um 15:02 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
Bitte warten ..
Mitglied: Bert001
10.03.2010 um 15:10 Uhr
Hallo, vielleicht hilft dir das Script ein wenig weiter!
Wie du die momentane IP bekommst weißt du ja....
LG

01.
ECHO off 
02.
 
03.
::  >>>Variablen<<< 
04.
 
05.
SET IP_M=IPAdresse_Momentan 
06.
SET IP_A=IPAdresse_A 
07.
SET IP_B=IPAdresse_B 
08.
SET PrinterA=\\DruckserverA\DruckerA 
09.
SET PrinterB=\\DruckserverB\DruckerB 
10.
 
11.
 
12.
:: >>>Standarddrucker fetlegen<<< 
13.
:: Wenn der aktuelle Computername einem der festgelegten Computernamen entspricht, wird der zugehörige Drucker als Standarddrucker eingerichtet. 
14.
IF %IP_M%==%IP_A% ( 
15.
	rundll32 printui.dll,PrintUIEntry /y /n %PrinterA% 
16.
	ECHO  Ihr Standarddrucker lautet: %PrinterA% 
17.
18.
IF %IP_M%==%IP_B% ( 
19.
	rundll32 printui.dll,PrintUIEntry /y /n %PrinterB% 
20.
	ECHO  Ihr Standarddrucker lautet: %PrinterB% 
21.
)
[Edit Biber] Codetags [/Edit]
Bitte warten ..
Mitglied: streetfighter2001
10.03.2010 um 15:18 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.
Bitte warten ..
Mitglied: bastla
10.03.2010 um 15:30 Uhr
Hallo streetfighter2001!

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

Grüße
bastla
Bitte warten ..
Mitglied: 60730
12.03.2010 um 23:57 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


01.
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ß
Bitte warten ..
Mitglied: bastla
13.03.2010 um 14:01 Uhr
@TimoBeil
"Aufgedeckt" würde ich das nicht gerade nennen.

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

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

Danke an alle!
Bitte warten ..
Mitglied: streetfighter2001
15.03.2010 um 14:00 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


01.
ping %computername% |find "192.168.123" && rundll32 printui.dll,PrintUIEntry /y /n 
02.
> \\PRINTSERVER\DRUCKERNAME ||rundll32 printui.dll,PrintUIEntry /y /n \\PRINTSERVER\DRUCKERNAME
wäre "mein" Weg.

Gruß
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte