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 auslesen und setzten OHNE Registry

Frage Microsoft Windows Netzwerk

Mitglied: Drizzle

Drizzle (Level 1) - Jetzt verbinden

31.01.2008, aktualisiert 11.02.2008, 28150 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 Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...