Installierte Drucker auslesen

  • VBScript

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Installierte Drucker auslesen

    Sorry Leute, bin wirklich noch total unerfahren, was VBS betrifft, bin allerdings am lernen.

    Folgendes Problem: Habe hier ein fertiges Script, das meine Software ausliest und in eine .csv Datei schreibt. Müsste das Script jetzt noch um das Drucker auslesen erweitern. Sollen alle installierten Drucker einfach unter der Softwareliste noch mitaufgeführt werden.

    Hier der Code :



    Visual Basic-Quellcode

    1. Set objFSO = CreateObject("Scripting.FileSystemObject")
    2. Set objTextFile = objFSO.CreateTextFile("c:\"& strComputerName &".csv", True)
    3. strComputer = "."
    4. Set objWMIService = GetObject("winmgmts:" _
    5. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    6. Set colSoftware = objWMIService.ExecQuery _
    7. ("Select * from Win32_Product")
    8. objTextFile.WriteLine "Caption" & vbtab & _
    9. "Description" & vbtab _
    10. & "Version"
    11. For Each objSoftware in colSoftware
    12. objTextFile.WriteLine objSoftware.Caption & vbtab & _
    13. objSoftware.Description & vbtab & _
    14. objSoftware.Version
    15. Next
    16. objTextFile.Close




    Danke schon mal!

    Visual Basic-Quellcode

    1. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    2. Set colItems = objWMIService.ExecQuery("Select * from Win32_PrinterConfiguration",,48)
    3. For Each objItem in colItems
    4. WScript.Echo "BitsPerPel: " & objItem.BitsPerPel
    5. WScript.Echo "Caption: " & objItem.Caption
    6. WScript.Echo "Collate: " & objItem.Collate
    7. WScript.Echo "Color: " & objItem.Color
    8. WScript.Echo "Copies: " & objItem.Copies
    9. WScript.Echo "Description: " & objItem.Description
    10. WScript.Echo "DeviceName: " & objItem.DeviceName
    11. WScript.Echo "DisplayFlags: " & objItem.DisplayFlags
    12. WScript.Echo "DisplayFrequency: " & objItem.DisplayFrequency
    13. WScript.Echo "DitherType: " & objItem.DitherType
    14. WScript.Echo "DriverVersion: " & objItem.DriverVersion
    15. WScript.Echo "Duplex: " & objItem.Duplex
    16. WScript.Echo "FormName: " & objItem.FormName
    17. WScript.Echo "HorizontalResolution: " & objItem.HorizontalResolution
    18. WScript.Echo "ICMIntent: " & objItem.ICMIntent
    19. WScript.Echo "ICMMethod: " & objItem.ICMMethod
    20. WScript.Echo "LogPixels: " & objItem.LogPixels
    21. WScript.Echo "MediaType: " & objItem.MediaType
    22. WScript.Echo "Name: " & objItem.Name
    23. WScript.Echo "Orientation: " & objItem.Orientation
    24. WScript.Echo "PaperLength: " & objItem.PaperLength
    25. WScript.Echo "PaperSize: " & objItem.PaperSize
    26. WScript.Echo "PaperWidth: " & objItem.PaperWidth
    27. WScript.Echo "PelsHeight: " & objItem.PelsHeight
    28. WScript.Echo "PelsWidth: " & objItem.PelsWidth
    29. WScript.Echo "PrintQuality: " & objItem.PrintQuality
    30. WScript.Echo "Scale: " & objItem.Scale
    31. WScript.Echo "SettingID: " & objItem.SettingID
    32. WScript.Echo "SpecificationVersion: " & objItem.SpecificationVersion
    33. WScript.Echo "TTOption: " & objItem.TTOption
    34. WScript.Echo "VerticalResolution: " & objItem.VerticalResolution
    35. WScript.Echo "XResolution: " & objItem.XResolution
    36. WScript.Echo "YResolution: " & objItem.YResolution
    37. Next


    Schau mal hier

    //EDIT Win32_Printer hat ebenfalls die benötigten Informationen ^^
    Das ist meine Signatur und sie wird wunderbar sein!
    Ausgabe der Druckernamen mit (.Net) "Bordmitteln":

    Visual Basic-Quellcode

    1. For Each s As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
    2. Debug.Print(s)
    3. Next


    Namespace System.Drawing.Printing ist also ganz hilfreich ;) Evtl auch noch System.Printing

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    picoflop schrieb:

    For Each s As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters Debug.Print(s) Next


    Dir ist bewusst das wir in der VB Script Sektion sind ? ^^
    Das ist meine Signatur und sie wird wunderbar sein!

    Delfuras schrieb:

    mit der WMI-Klasse

    Visual Basic-Quellcode

    1. win32_printer

    kommst du an die drucker-infos...

    da ich in deinem Post keine Frage finde belass ich es mal dabei :P

    Danke schon mal. Eine direkte Frage gab es nicht, das stimmt.
    Wollte den oben genannten Code lediglich um die Druckerauslesung erweitern.
    Sodass diese in die selbige Datei geschrieben wird (.csv). Könnte mir da jemand weiterhelfen?
    Hier nochmal der Code:

    Visual Basic-Quellcode

    1. Set objFSO = CreateObject("Scripting.FileSystemObject")
    2. Set objTextFile = objFSO.CreateTextFile("c:\"& strComputerName &".csv", True)
    3. strComputer = "."
    4. Set objWMIService = GetObject("winmgmts:" _
    5. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    6. Set colSoftware = objWMIService.ExecQuery _
    7. ("Select * from Win32_Product")
    8. objTextFile.WriteLine "Caption" & vbtab & _
    9. "Description" & vbtab _
    10. & "Version"
    11. For Each objSoftware in colSoftware
    12. objTextFile.WriteLine objSoftware.Caption & vbtab & _
    13. objSoftware.Description & vbtab & _
    14. objSoftware.Version
    15. Next
    16. objTextFile.Close
    Ich kenn mich mit vb-scripten leider nicht aus ;)
    Aber ich denk mal, du musst statt "win32_product" diesmal "win32_printer" nehmen.
    hier kannst du dann ja nach "Name" filtern lassen...

    Ein fertiges C&P wird hier denk ich keiner liefern, so viel hab ich schon verstanden ;)