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

Lokalen Drucker als Standarddrucker verwenden

Frage Entwicklung Batch & Shell

Mitglied: Chillaholic

Chillaholic (Level 1) - Jetzt verbinden

07.02.2010, aktualisiert 18.10.2012, 9770 Aufrufe, 4 Kommentare

Hallo,

ich suche ein Batch Script dass erkennt, ob ein lokaler Drucker über USB oder LPT angeschlossen ist und ihn falls dem so ist als Standartdrucker auswählt,
da vermehrt fälschlicherweise ein Netzwerkdrucker als Standartdrucker verwendet wird.

Als Ansatz hab ich schonmal den Befehl fürs setzen des Standartdruckers

"rundll32 printui.dll,PrintUIEntry /y /n Druckername"
Wüsste aber nicht wie ich die lokalen Drucker auslesen und anschließend zum Standartdrucker machen könnte.

Freundliche grüße

Chillaholic
Mitglied: matsahm
08.02.2010, aktualisiert 18.10.2012
Hallo,

Vielleicht hilft dir das ja weiter:
http://www.administrator.de/forum/installierte-drucker-auslesen-40726.h ...


Gruß
Mathias Sahm
Bitte warten ..
Mitglied: 76109
08.02.2010 um 13:21 Uhr
Hallo Chillaholic!

Du kannst ja mal die beiden VB-Scripts (*.vbs) testen.

Es werden lokale Drucker an USB und LPT ermittelt, wobei auch geprüft wird, ob im Druckernamen das Wort "FAX" (Multifunktionsdrucker) vorkommt, sodass - falls vorhanden - nur der Drucker als Standarddrucker festgelegt wird.

Hier mal 2 Versionen. Die Version 1 setzt den Standardrucker unabhängig davon, ob er ein- oder ausgeschaltet ist und Version 2 setzt den Standarddrucker nur, wenn er eingeschaltet ist.

Version1 - Lokalen Drucker an USB/LPT als Standarddrucker festlegen:
01.
Const strComputer = "." 
02.
Const strSql = "SELECT * FROM Win32_Printer WHERE (PortName LIKE 'USB%' OR PortName LIKE 'LPT%')" 
03.
 
04.
Dim objWMIService, colItems, objItem 
05.
     
06.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
07.
Set colItems = objWMIService.ExecQuery(strSql, , 48) 
08.
     
09.
For Each objItem In colItems 
10.
    If objItem.Local Then 
11.
        If InStr(1, objItem.Name, "FAX", vbTextCompare) = 0 Then objItem.SetDefaultPrinter:  Exit For 
12.
    End If 
13.
Next
Version2 - Lokalen Drucker an USB/LPT als Standarddrucker festlegen, nur wenn er Online ist:
01.
Const strComputer = "." 
02.
Const strSql = "SELECT * FROM Win32_Printer WHERE (PortName LIKE 'USB%' OR PortName LIKE 'LPT%')" 
03.
 
04.
Dim objWMIService, colItems, objItem 
05.
     
06.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
07.
Set colItems = objWMIService.ExecQuery(strSql, , 48) 
08.
     
09.
For Each objItem In colItems 
10.
    If objItem.Local And objItem.WorkOffline = False Then 
11.
        If InStr(1, objItem.Name, "FAX", vbTextCompare) = 0 Then objItem.SetDefaultPrinter:  Exit For 
12.
    End If 
13.
Next
Gruß Dieter
Bitte warten ..
Mitglied: Chillaholic
08.02.2010 um 22:33 Uhr
Nabend,

@ matsahm
Danke für den Link hab hier auch schon ein bisschen gesucht aber den thread nich gesehen,
denk mal dass der mein Problem gelöst hat.
So ähnlich hab ichs mir vorgestellt.
@ didi1954
Danke für die Hilfe, aber kann die .vbs auch als normaler User aufgerufen werden, glaub dafür fehlen die Rechte.
Bitte warten ..
Mitglied: 76109
08.02.2010 um 23:03 Uhr
Hallo Chillaholic!

Hast Du's auspropiert? Quelltext z.B. unter "SetStandardPrinter.vbs" speichern und per Doppelklick starten.

Aufruf per Batch:
<code>
@Echo Off
cscript //nologo SetStandardPrinter.vbs

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
RD-Server User kann Drucker anderer Userprofile löschen!? (4)

Frage von supermario zum Thema Windows Server ...

Windows Server
Citrix Laufwerk ohne Sitzung verwenden? (2)

Frage von dodo-r zum Thema Windows Server ...

Server
gelöst Lokalen Webserver ins Internet auslegen (19)

Frage von unique24 zum Thema Server ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...