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, 11761 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Netzwerkmanagement
DHCP Mac Adresse einer IP zuweisen (8)

Frage von vikozo zum Thema Netzwerkmanagement ...

IDE & Editoren
gelöst IP und DNS per Batch ändern (9)

Frage von andyw5 zum Thema IDE & Editoren ...

Batch & Shell
gelöst Batch: Variable einen Wert zuweisen (7)

Frage von sascha382 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...