kinggunta
Goto Top

Drucker mit VBS ubenennen

Hallo!

Ich suche eine Möglichkeit direkt mit einem VBScript einen Drucker im System umzubenennen.


Danke
KingGunta

Content-Key: 51161

Url: https://administrator.de/contentid/51161

Printed on: April 25, 2024 at 14:04 o'clock

Member: AndreasHoster
AndreasHoster Feb 08, 2007 at 16:28:00 (UTC)
Goto Top
Nimm die Allzweckwaffe für Windows Scripting Verwaltung: WMI
Siehe auch: http://msdn2.microsoft.com/en-us/library/aa286547.aspx

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
alterName = "HP Laserjet 5"  
neuerName = "HP LJ5 Test"  
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")  
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Printer where Name='" & alterName & "'", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)  
For Each objItem In colItems
	call objItem.RenamePrinter(NeuerName)
Next

Die for each Schleife gibts deshalb, weil die Abfrage immer eine Auflistung zurückgibt, auch wenn der Name eindeutig ist. Man sollte halt keine Wildcards im Namen benutzen face-wink
Member: bastla
bastla Feb 08, 2007 at 16:34:48 (UTC)
Goto Top
Hallo kinggunta!

Etwa so:
'On Error Resume Next  
sAlt = "HP Deskjet 840 (PC1) in Sitzung 1"  
sNeu = "Ganz_alte_HP_Düse"  
Set shell = CreateObject("Shell.Application")  
Set folder = shell.NameSpace(4)
For Each item In folder.Items
    If LCase(item.Name) = LCase(sAlt) Then
        item.Name = sNeu
    End If
Next

Oder aber auch WMI: siehe hier

Grüße
bastla

[Edit] @AndreasHoster - sorry, etwas spät dran gewesen ... [/Edit]
Member: kinggunta
kinggunta Feb 08, 2007 at 16:48:04 (UTC)
Goto Top
1000 Dank!
Ihr habt mir sehr weitergeholfen!

Andere Frage auch noch:

Kann ich eigentlich mit VBs auch folgende Eigenschaften noch einstellen:

a.) Die Option "Druckerpool aktivieren" einschalten

b.) und einen Zweiten Anchluss wie z.b. LPT1 zuweisen?


Danke
KingGunta
Member: bastla
bastla Feb 08, 2007 at 18:49:14 (UTC)
Goto Top