Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Standarddrucker per Batch auslesen und setzten OHNE Registry

Frage Microsoft Windows Netzwerk

Mitglied: Drizzle

Drizzle (Level 1) - Jetzt verbinden

31.01.2008, aktualisiert 11.02.2008, 28346 Aufrufe, 7 Kommentare

Hallo

Ich habe folgendes Problem:
In einer Batchdatei möchte ich den Standarddrucker auslesen und dann wieder setzten, da alle Drucker zwischendurch gelöscht werden.

Bisher habe ich dies folgendermaßen gemacht:


regedit /e %HOMESHARE%\Windows\Standarddrucker.reg "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\"


...Danach werden alle Drucker gelöscht. Auch die Einstellung vom Standarddrucker und dann...

regedit /s %HOMESHARE%\Windows\Standarddrucker.reg


Ich habe jetzt aber das Problem, dass man auf dem neuen Server keinen Zugriff mehr auf die Registry hat!

Meine Idee war jetzt:

rundll32 printui.dll,PrintUIEntry /y /n "%Stadarddruckervariable%"

Mein Problem ist also, wie bekomme ich den Standarddrucker in eine Variable, da ich nicht mehr auf die Registry zugreifen kann.
Für andere Lösungswege bin ich ebenfalls dankbar.
Mitglied: erich81
31.01.2008 um 16:31 Uhr
Hallo Drizzle,

schau dir mal den Befehl wenn es eine Patchdatei ist?!

con2prt /f

an! Der Befehl bewirkt das bei einem User alle Drucker gelöscht werden.
Danach kann man die gewünschten Drucker wieder verbinden!

Bei uns schauts so aus!

""
@echo off
con2prt /f

rem *Druckerverbindung*
con2prt /c \\*Server*\*Druckerfreigabe*
con2prt /cd \\*Server*\*Druckerfreigabe*
""
"/cd" bewirkt das es der standarddrucker wird!

Hoffe das hilft dir weiter!

erich
Bitte warten ..
Mitglied: Drizzle
31.01.2008 um 18:24 Uhr
Danke erstmal. Ich werds am Dienstag mal testen, denn übers Wochenende wird gefeiert! ALAAF!
Bitte warten ..
Mitglied: Drizzle
06.02.2008 um 12:58 Uhr
Hab mir con2prt.exe mal angeschaut, aber es existiert immer noch das Problem, dass beim Befehl:

con2prt /cd \\*Server*\*Druckerfreigabe*

die Variable "*Server*\*Druckerfreigabe*" nicht festgelegt ist.

Mein Problem besteht ja darin, dass (bevor alle Drucker gelöscht werden) der Standarddrucker irgendwo vermerkt werden muss, damit er danach wiederhergestellt werden kann.
Und zwar für den User, der sich gerade anmeldet... (Wir haben ein Skript für alle User.)
Bitte warten ..
Mitglied: erich81
07.02.2008 um 06:48 Uhr
Guten Morgen!

OK das nächste was zu tun wäre wenn man es auf diese weiße weiter führen würde wie ich sie angefangen habe ist jeden User ins script einzutragen!
also erst die die Drucker löschen mit dem bekannten befehl und danach alle drucker verbinden ohne einen standarddrucker zu definieren.

danach im script ein "if"

Beispiel:

@ech off

con2prt /f

con2prt /c \\SERVER\DRUCKERFREIGABE
con2prt /c \\SERVER\DRUCKERFREIGABE


if /I %username% == MUSTER.M con2prt /cd \\SERVER\DRUCKERFREIGABE


So funktioniert es auch!

erich
Bitte warten ..
Mitglied: stbewo
07.02.2008 um 07:06 Uhr
Hi Druzzle,

mit

ON ERROR RESUME NEXT

ScriptLogName = "defprinter.log"

strComputer = "."

Set WshShell = WScript.CreateObject("WScript.Shell")
fTMP = WshShell.ExpandEnvironmentStrings("%HOMEDRIVE%")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set inputFile = fso.OpenTextFile("H:" & "\" & ScriptLogName, 2, True)

Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery ("Select * From Win32_Printer Where Default = TRUE")

For Each objPrinter in colPrinters
inputFile.WriteLine(objPrinter.ShareName)
Next

kannst Du den Default Drucker auslesen und in File schreiben um ihn für eine weitere Verarbeitung benutzen zu können.

Gruß
Stefan
Bitte warten ..
Mitglied: Drizzle
11.02.2008 um 11:06 Uhr
Supergeil! Danke Stefan! Funktioniert jetzt folgendermassen:

\\Server\Homelaufwerk\Standarddrucker.vbs
(<- Hab dein Skript etwas abgewandelt dort eingebunden)

for /F %%i in (defprinter.log) do set Standard=%%i
(<- Text in Variable speichern)

rundll32 printui.dll,PrintUIEntry /y /n \\DRUCKERSERVER\%Standard%
(<- Als Standardrucker hinzufügen)

Du bist mein Held ^^
Bitte warten ..
Mitglied: mikmcmoe
19.07.2011 um 12:34 Uhr
Hi Drizzle,
ist zwar schon ein bisschen her, aber magst Du das Script nochmal vollständig posten?
Ich wäre Dir zu Dank verpflichtet!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Registry auslesen - anpassen (5)

Frage von pi0h.kk zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (3)

Frage von Zendara zum Thema Batch & Shell ...

Batch & Shell
gelöst Textdatei auf den Standarddrucker drucken (3)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch, die Ordner erstellt und Berechtigungen setzt (12)

Frage von lordofremixes zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Userverwaltung
Ordner-Rechte für Dom.Admin einschränken? (13)

Frage von kilobyte zum Thema Windows Userverwaltung ...