Drucker umbenennen mit vbs

luchs3

Erfahrenes Mitglied
Hi,

Ich will einen Drucker per Script umbenennen, das funktioniert auch, wenn der Name bekannt ist.

Ich weiss aber nur den Anfang des Namens. Gibt es eine Möglichkeit das so ähnlich zu lösen?

Code:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colPrinters =  objWMIService.ExecQuery _
    ("Select * From Win32_Printer Where DeviceID = 'HP_LaserJet_1234_01*'")

For Each objPrinter in colPrinters
    objPrinter.RenamePrinter("ArtDepartmentPrinter")
Next

Set colPrinters = objWMIService.ExecQuery _
    ("Select * From Win32_Printer Where DeviceID = 'ArtDepartmentPrinter' ")

For Each objPrinter in colPrinters
    objPrinter.ShareName = "ArtDepartmentPrinter"
    objPrinter.Put_
Next
 

luchs3

Erfahrenes Mitglied
Ok, so schnell kanns gehen.
LIKE und % sind die Lösung.

Lösung:
Code:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colPrinters =  objWMIService.ExecQuery _
    ("Select * From Win32_Printer Where DeviceID LIKE 'HP_LaserJet_1234_01%'")

For Each objPrinter in colPrinters
    objPrinter.RenamePrinter("ArtDepartmentPrinter")
Next

Set colPrinters = objWMIService.ExecQuery _
    ("Select * From Win32_Printer Where DeviceID = 'ArtDepartmentPrinter' ")

For Each objPrinter in colPrinters
    objPrinter.ShareName = "ArtDepartmentPrinter"
    objPrinter.Put_
Next
Gruß Niko