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, 12013 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
Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Batch & Shell
Batch Datei um Windows Update zu löschen (1)

Frage von lordofremixes zum Thema Batch & Shell ...

Batch & Shell
Findstr Path CMD ja - Batch Script nein - FireFox Profiles (2)

Frage von ChrisIO zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
gelöst NTFS und die Defragmentierung (29)

Frage von WinLiCLI zum Thema Windows Systemdateien ...