Batchfile Vorhandene Drucker in neuer Domäne installieren
hallo leute,
mein problem ist folgendes:
es sollen vorhandene drucker an clients mit \\domain1\drucker123
in eine neue domane mit \\domain2\druckername123
installiert werden.
ich weiß wie die drucker in eine txt datei geschrieben werden, allerdings funktioniert das auslesen bzw die namensübergabe nicht.
folgenden code habe ich:
del C:\Temp\drucker.txt
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" >> C:\Temp\drucker.txt
@echo off
set setupsource=
set tmpDatei="C:\Temp\drucker.txt"
for /F %%x in ('findstr /i /r "\\domain1\*" %tmpDatei%') do @set input=%%x
if not %ERRORLEVEL% == 0 goto fehler
set setupsource=%input:~9,30%
goto ende
:fehler
:ende
rundll32 printui.dll,PrintUIEntry /q /in /n \\domain2\%%x
pause
nachtrag:
er meldet mir das der druckername nicht stimmt, was ansich richtig ist, weil %x als druckername erscheint. ich brauch aber den name der an der stelle "\\domain\*" für den stern steht.
leider keine ahnung ob das geht oder wie es umzusetzen ist. es müsste also anstatt dem stern, der druckername stehen z.b. drucker1.
danke schonmal.
mein problem ist folgendes:
es sollen vorhandene drucker an clients mit \\domain1\drucker123
in eine neue domane mit \\domain2\druckername123
installiert werden.
ich weiß wie die drucker in eine txt datei geschrieben werden, allerdings funktioniert das auslesen bzw die namensübergabe nicht.
folgenden code habe ich:
del C:\Temp\drucker.txt
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" >> C:\Temp\drucker.txt
@echo off
set setupsource=
set tmpDatei="C:\Temp\drucker.txt"
for /F %%x in ('findstr /i /r "\\domain1\*" %tmpDatei%') do @set input=%%x
if not %ERRORLEVEL% == 0 goto fehler
set setupsource=%input:~9,30%
goto ende
:fehler
:ende
rundll32 printui.dll,PrintUIEntry /q /in /n \\domain2\%%x
pause
nachtrag:
er meldet mir das der druckername nicht stimmt, was ansich richtig ist, weil %x als druckername erscheint. ich brauch aber den name der an der stelle "\\domain\*" für den stern steht.
leider keine ahnung ob das geht oder wie es umzusetzen ist. es müsste also anstatt dem stern, der druckername stehen z.b. drucker1.
danke schonmal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95821
Url: https://administrator.de/contentid/95821
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
Hi,
dafür müsstest du erstmal wissen wie der Name der Drucker aufgebaut ist. Hast du zum Bespiel Leerzeichen drin, wird das am Leerzeichen getrennt. Da musst du dann mit Tokens arbeiten.
z.B.
wenn Druckername == Brother HL-9999 XL Series
for /F "tokens=1,2,3" %%x in ('findstr /i /r "\\Domäne1" %tmpDatei%') do @set input= %%x %%y %%z
Das ist zwar noch nicht ganz das Gelbe vom Ei aber schon mal ein Ansatz.
Gruss ALex
dafür müsstest du erstmal wissen wie der Name der Drucker aufgebaut ist. Hast du zum Bespiel Leerzeichen drin, wird das am Leerzeichen getrennt. Da musst du dann mit Tokens arbeiten.
z.B.
wenn Druckername == Brother HL-9999 XL Series
for /F "tokens=1,2,3" %%x in ('findstr /i /r "\\Domäne1" %tmpDatei%') do @set input= %%x %%y %%z
Das ist zwar noch nicht ganz das Gelbe vom Ei aber schon mal ein Ansatz.
Gruss ALex