Top-Themen

Aktuelle Themen (A bis Z)

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 Batch der zwischen Ip-Ranges oder Computernamen unterscheidet und dementsprechenden Standartdrucker auswählt

Mitglied: Hans.ds

Hans.ds (Level 1) - Jetzt verbinden

16.03.2012, aktualisiert 21.03.2012, 2880 Aufrufe, 12 Kommentare

Hallo Zusammen

Ich will einen Batch schreiben, der die IP-Ranges aussliesst und dementsprechend den richtigen Drucker als Standartdrucker nimmt. Wir haben hier 2 Zimmer und in jedem sind 13 Notebooks. Da sollte nun ein Batch beim Start ausgeführt werden, der auslieest in welchem Zimmer(Range) man sich befindet und dann diesen Drucker als Standart nimmt. Vileicht könnte man es auch mit dem Computernamen einteilen, da sie ebenfalls die Zimmernummer enthalten.

Bis jetzt habe ich ein wenig was rumprobiert, bin aber nie wirklich auf was richtiges gekommen. =(

01.
::Variable setzen 
02.
set pc=%computername:~0,6% 
03.
set zimmer=%computername:~6,2% 
04.
set pcnr=%computername:~9,2% 
05.
 
06.
:: Drucker für Zimmer 23 Mappen 
07.
if "%zimmer%"=="23" ( 
08.
	rundll32 printui.dll,PrintUIEntry /in /n /y \\10.65.8.199\ 
09.
10.
:: Drucker für Zimmer 24 Mappen 
11.
if "%zimmer%"=="24" ( 
12.
	rundll32 printui.dll,PrintUIEntry /in /n /y \\10.65.10.199\ 
13.
)
Details:


IP des ersten Zimmers -> 10.65.8.x
Laptopnamen -> LAPUEK23-01 , LAPUEK23-02, LAPUEK23-03 u.s.w ---> die 23 steht für das Zimmer <---
Drucker -> 10.65.8.199


IP des zweiten Zimmers -> 10.65.10.x
Laptopnamen -> LAPUEK24-01 , LAPUEK24-02, LAPUEK24-03 u.s.w ---> die 24 steht für das Zimmer <---
Drucker -> 10.65.10.199



Bitte um ausführliche Hilfe/Lösungen.

Freundliche Grüsse

Hans

[Edit Biber] Codeformatierung [/Edit]
Mitglied: bastla
16.03.2012 um 16:08 Uhr
Hallo Hans.ds und willkommen im Forum!

Sorry, ich sehe das Problem nicht - Dein Batch sollte doch bereits funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Hans.ds
16.03.2012 um 16:42 Uhr
Eben leider nicht. Ich habe es öfters ausprobiert aber leider ging der Standartdrucker nie. Also es änderte den Drucker nicht. Muss ich ausser der IP Adresse des Druckers noch den Namen oder irgendwas angeben?


Gruss Hans
Bitte warten ..
Mitglied: Dye.Kehasa
16.03.2012 um 16:50 Uhr
Moin

Zitat von bastla:
Sorry, ich sehe das Problem nicht - Dein Batch sollte doch bereits funktionieren ...


Also ich sehe es schon...

Mit dem Parameter /in wird die Verbindung zu einem freigegebenen Netzwerkdrucker eingerichtet. Dazu gehört dann aber auch der Syntax \\<Server>\<Freigabe>

Gruß

Hubert


edit: Die Zuweisung abhängig von der IP-Adresse ist übrigens denkbar einfach:
01.
ping -4 -n 1 %computername% | find "10.65.8" && rundll32 printui.dll,PrintUIEntry  (...)
Bitte warten ..
Mitglied: bastla
16.03.2012 um 16:52 Uhr
Hallo Hans.ds!

Hatte leider nur das Zerlegen des Computernamens getestet ...
Muss ich ausser der IP Adresse des Druckers noch den Namen oder irgendwas angeben?
Ja, und vor allem die Parameter in der richtigen Reihenfolge einsetzen - der Name muss nach "/n" angegeben werden, daher diesen Parameter als letzten verwenden ...

Grüße
bastla

[Edit] @HubertN: Jetzt hab ich's auch gesehen [/Edit]
Bitte warten ..
Mitglied: Hans.ds
16.03.2012 um 17:11 Uhr
::Variable setzen

set pc=%computername:~0,6%
set zimmer=%computername:~6,2%
set pcnr=%computername:~9,2%
:: Drucker für Zimmer 23 Mappen
if "%zimmer%"=="23" (
rundll32 printui.dll,PrintUIEntry /in /n Lexmark UEK23 /y 10.65.8.199
)
:: Drucker für Zimmer 24 Mappen
if "%zimmer%"=="24" (
rundll32 printui.dll,PrintUIEntry /in /n Lexmark UEK24 /y
10.65.10.199
)



Wäre das so den nun richtig?
Oder braucht es // vor dem Namen? (Kenn mich da nicht sehr gut aus)


Gruss und ein schönes Wochenende
Bitte warten ..
Mitglied: Dye.Kehasa
16.03.2012 um 17:14 Uhr
Nein

lies mal hier: http://www.gruppenrichtlinien.de/index.html?/howto/rundll32_printui.htm

noch mal edit: irgendwie habe ich auch das Gefühl, dass du keinen Netzwerkdrucker im eigentlichen Sinne hast. Wenn du den Drucker als lokalen Drucker verbinden willst, der über das Netzwerk auf der angegebenen IP erreichbar ist, dann kann das so nicht funktionieren. Dein Script setzt voraus, dass du irgendwo einen Server hast, an dem der Drucker freigegeben ist.
Bitte warten ..
Mitglied: Hans.ds
21.03.2012 um 14:05 Uhr
Hallo Hubert,

Danke für deine Antwort.

Der Druckerbefehl war falsch. Hab ich nun abgeändert. Ich habe nun etwas zusammebgebastelt, jedoch liesst er bei mir nicht die LAN Adresse aus, sonder die Wireless :S Hab das ganze schon umgestellt und durchgeschüttelt aber ich komm auf nichts brauchbares Das Ziel ist es ja, von der LAN Adresse die 3 Oktette auslese zu können und dann damit weiterarbeiten.

Hier die beiden Varianten die ich gemacht habe, aber nicht ganz funktionieren.

Bei diesem hier liesst es die Wlan anstatt die Lan Adresse aus.


@echo off &setlocal
:: IP-Adresse extrahieren. (Auf Win7 die IPv4-Adresse.)
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr /i "IPv4-Adresse"') do (
for /f "tokens=3 delims=. " %%j in ("%%i") do set "Range=%%j"
)

:: Was haben wir bis jetzt? (später entfernen)
echo %Range%
pause

:: Drucker verbinden (exemplarisch, Server und Druckerfreigabename anpassen)
:: Drucker verbinden (exemplarisch, Server und Druckerfreigabename anpassen)
if %Range%==8 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK23
if %Range%==10 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK24


Hier gibt es die richtige 3 Oktette, aber komischerweise kann ich sie nacher nicht weiterverwenden. Sobald ich sie mit einem echo &&i ausgebe, funktioniert es wieder garnicht mehr.


@echo off
for /f "tokens=13 skip=6 delims=." %%i in ('ipconfig') do echo %%i & goto out
:out
pause


Danke für Antworten
Bitte warten ..
Mitglied: bastla
21.03.2012 um 15:58 Uhr
Hallo Hans.ds!

Laufvariablen von "for"-Schleifen existieren nur, solange die Schleife noch läuft - aber wenn Du nur den ersten gefundenen Wert verwenden willst, kannst Du so vorgehen:
01.
@echo off & setlocal 
02.
set "Range=" 
03.
for /f "tokens=13 skip=6 delims=." %%i in ('ipconfig') do if not defined Range set "Range=%%i" 
04.
echo %Range%
Ein "pause" am Ende sollte nicht nötig sein, denn das Testen von Batches wirst Du doch hoffentlich durch Aufruf aus einer CMD-Shell heraus vornehmen ...

Grüße
bastla
Bitte warten ..
Mitglied: Hans.ds
21.03.2012 um 16:56 Uhr
Danke Bastla

Funktioniert einwandfrei!!

Hier noch der fertige Code
01.
@echo off & setlocal 
02.
set "Range=" 
03.
for /f "tokens=13 skip=6 delims=." %%i in ('ipconfig') do if not defined Range set "Range=%%i" 
04.
echo %Range% 
05.
 
06.
 
07.
:: Drucker verbinden (exemplarisch, Server und Druckerfreigabename anpassen) 
08.
:: Drucker verbinden (exemplarisch, Server und Druckerfreigabename anpassen) 
09.
if %Range%==8 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK23 
10.
if %Range%==10 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK24
Bitte warten ..
Mitglied: Hans.ds
23.03.2012 um 09:33 Uhr
Habe hier noch eine andere Lösung nun. Da er auch funktionieren würde wenn das 3 Oktett nicht in der 7 Zeile steht..

01.
@echo off & setlocal  
02.
set "Range=" 
03.
:: und nun das 3. Oktett aus der 1. gefundenen IPv4 Adresse extrahieren: 
04.
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr /i "ipv4-adr"') do ( 
05.
  for /f "tokens=3 delims=. " %%j in ("%%i") do if not defined Range set "Range=%%j" 
06.
07.
 
08.
echo %Range% 
09.
 
10.
 
11.
 
12.
:: Drucker verbinden (exemplarisch, Server und Druckerfreigabename anpassen) 
13.
:: Wenn Range auf 8 ist nimmt er UEK23 Drucker, wenn er auch 10 ist, nimmt er UEK24 Zimmer 
14.
if %Range%==8 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK23 
15.
if %Range%==10 rundll32 printui.dll,PrintUIEntry /y /n Lexmark_T654_UEK24
Bitte warten ..
Ähnliche Inhalte
LAN, WAN, Wireless
Switch mit eigener IP Range
gelöst Frage von Heinz189LAN, WAN, Wireless8 Kommentare

Hallo zusammen, ich habe ein wenig Schwierigkeiten mit dem Aufbau eines Netzwerks und würde mich freuen, wenn Ihr mir ...

Microsoft Office

ACCESS Prüfen ob IP Adresse in IP Range vorhanden

gelöst Frage von thomas1972Microsoft Office6 Kommentare

Hallo, ich habe in Access eine Tabelle IPRANGE mit folgendem Inhalt IPADDR MASK 192.168.1.1 26 besteht die Möglichkeit über ...

Router & Routing

Fritzbox 7490 VPN IP Range anpassen

gelöst Frage von hannsgmaulwurfRouter & Routing4 Kommentare

Hallo zusammen, ich habe mal wieder ein kleines Problem und bin auf eure Antworten gespannt. Gegeben: - Fritzbox 7490 ...

Netzwerke

2 Standorte per VPN 1 IP-Range

Frage von VitoLeoneNetzwerke9 Kommentare

Hallo Zusammen, wir wollen/müssen folgendes Szenario realisieren. Es gibt 2 Standorte, welche über eine Fremdnetz verbunden sind, jedoch beide ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...