Top-Themen

Aktuelle Themen (A bis Z)

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 installierte Drucker auslesen

Mitglied: quba

quba (Level 1) - Jetzt verbinden

22.09.2006, aktualisiert 22.11.2007, 47139 Aufrufe, 8 Kommentare

Hallo zusammen,

ich möchte gerne in bezug auf Inventarisierung
per Netlogon Script alle installierten Drucker auf unseren
PCs Dokumentieren.
Also am besten ein Batch Skript, das die installierten Drucker
in eine Textdatei schreibt. (%COMPUTERNAME%.txt)

Wie ist das am besten zu bewerkstelligen?

Danke und Gruß
quba
Mitglied: AndreasHoster
22.09.2006 um 17:03 Uhr
Mit dem Universalwerkzeug für alle Windows Verwaltungsaufgaben: WMI
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanch ...
und zum sehen, was man noch alles auslesen kann die Scriptomatic V2 (extrem empfehlenswert):
http://www.microsoft.com/downloads/details.aspx?familyid=09DFC342-648B- ...

Jetzt bleibt noch die Frage, wieviele Infos Du haben willst.
Wenn nur der Name, folgendes als .vbs speichern:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)
For Each objItem in colItems
Wscript.Echo "Name: " & objItem.Name
Next

und mit cscript.exe ...vbs > Ausgabedatei starten.

Falls Du mehr Infos über die Drucker brauchst, die Klasse Win32_Printer hat noch mehr:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48)
For Each objItem in colItems
Wscript.Echo "Attributes: " & objItem.Attributes
Wscript.Echo "Availability: " & objItem.Availability
Wscript.Echo "AvailableJobSheets: " & objItem.AvailableJobSheets
Wscript.Echo "AveragePagesPerMinute: " & objItem.AveragePagesPerMinute
Wscript.Echo "Capabilities: " & objItem.Capabilities
Wscript.Echo "CapabilityDescriptions: " & objItem.CapabilityDescriptions
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "CharSetsSupported: " & objItem.CharSetsSupported
Wscript.Echo "Comment: " & objItem.Comment
Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
Wscript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
Wscript.Echo "CreationClassName: " & objItem.CreationClassName
Wscript.Echo "CurrentCapabilities: " & objItem.CurrentCapabilities
Wscript.Echo "CurrentCharSet: " & objItem.CurrentCharSet
Wscript.Echo "CurrentLanguage: " & objItem.CurrentLanguage
Wscript.Echo "CurrentMimeType: " & objItem.CurrentMimeType
Wscript.Echo "CurrentNaturalLanguage: " & objItem.CurrentNaturalLanguage
Wscript.Echo "CurrentPaperType: " & objItem.CurrentPaperType
Wscript.Echo "Default: " & objItem.Default
Wscript.Echo "DefaultCapabilities: " & objItem.DefaultCapabilities
Wscript.Echo "DefaultCopies: " & objItem.DefaultCopies
Wscript.Echo "DefaultLanguage: " & objItem.DefaultLanguage
Wscript.Echo "DefaultMimeType: " & objItem.DefaultMimeType
Wscript.Echo "DefaultNumberUp: " & objItem.DefaultNumberUp
Wscript.Echo "DefaultPaperType: " & objItem.DefaultPaperType
Wscript.Echo "DefaultPriority: " & objItem.DefaultPriority
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "DetectedErrorState: " & objItem.DetectedErrorState
Wscript.Echo "DeviceID: " & objItem.DeviceID
Wscript.Echo "Direct: " & objItem.Direct
Wscript.Echo "DoCompleteFirst: " & objItem.DoCompleteFirst
Wscript.Echo "DriverName: " & objItem.DriverName
Wscript.Echo "EnableBIDI: " & objItem.EnableBIDI
Wscript.Echo "EnableDevQueryPrint: " & objItem.EnableDevQueryPrint
Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
Wscript.Echo "ErrorInformation: " & objItem.ErrorInformation
Wscript.Echo "ExtendedDetectedErrorState: " & objItem.ExtendedDetectedErrorState
Wscript.Echo "ExtendedPrinterStatus: " & objItem.ExtendedPrinterStatus
Wscript.Echo "Hidden: " & objItem.Hidden
Wscript.Echo "HorizontalResolution: " & objItem.HorizontalResolution
Wscript.Echo "InstallDate: " & objItem.InstallDate
Wscript.Echo "JobCountSinceLastReset: " & objItem.JobCountSinceLastReset
Wscript.Echo "KeepPrintedJobs: " & objItem.KeepPrintedJobs
Wscript.Echo "LanguagesSupported: " & objItem.LanguagesSupported
Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
Wscript.Echo "Local: " & objItem.Local
Wscript.Echo "Location: " & objItem.Location
Wscript.Echo "MarkingTechnology: " & objItem.MarkingTechnology
Wscript.Echo "MaxCopies: " & objItem.MaxCopies
Wscript.Echo "MaxNumberUp: " & objItem.MaxNumberUp
Wscript.Echo "MaxSizeSupported: " & objItem.MaxSizeSupported
Wscript.Echo "MimeTypesSupported: " & objItem.MimeTypesSupported
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "NaturalLanguagesSupported: " & objItem.NaturalLanguagesSupported
Wscript.Echo "Network: " & objItem.Network
Wscript.Echo "PaperSizesSupported: " & objItem.PaperSizesSupported
Wscript.Echo "PaperTypesAvailable: " & objItem.PaperTypesAvailable
Wscript.Echo "Parameters: " & objItem.Parameters
Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
Wscript.Echo "PortName: " & objItem.PortName
Wscript.Echo "PowerManagementCapabilities: " & objItem.PowerManagementCapabilities
Wscript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
Wscript.Echo "PrinterPaperNames: " & objItem.PrinterPaperNames
Wscript.Echo "PrinterState: " & objItem.PrinterState
Wscript.Echo "PrinterStatus: " & objItem.PrinterStatus
Wscript.Echo "PrintJobDataType: " & objItem.PrintJobDataType
Wscript.Echo "PrintProcessor: " & objItem.PrintProcessor
Wscript.Echo "Priority: " & objItem.Priority
Wscript.Echo "Published: " & objItem.Published
Wscript.Echo "Queued: " & objItem.Queued
Wscript.Echo "RawOnly: " & objItem.RawOnly
Wscript.Echo "SeparatorFile: " & objItem.SeparatorFile
Wscript.Echo "ServerName: " & objItem.ServerName
Wscript.Echo "Shared: " & objItem.Shared
Wscript.Echo "ShareName: " & objItem.ShareName
Wscript.Echo "SpoolEnabled: " & objItem.SpoolEnabled
Wscript.Echo "StartTime: " & objItem.StartTime
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo "StatusInfo: " & objItem.StatusInfo
Wscript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
Wscript.Echo "SystemName: " & objItem.SystemName
Wscript.Echo "TimeOfLastReset: " & objItem.TimeOfLastReset
Wscript.Echo "UntilTime: " & objItem.UntilTime
Wscript.Echo "VerticalResolution: " & objItem.VerticalResolution
Wscript.Echo "WorkOffline: " & objItem.WorkOffline
Next
Bitte warten ..
Mitglied: Biber
22.09.2006 um 17:30 Uhr
... wobei die flexibelste Variante für einen Batchaufruf die Verwendung des von AndreasHoster geposteten Monster-Skripts in Verbindung mit findstr wäre [Beispiel]:
Gruß
Biber
Bitte warten ..
Mitglied: Manolax
21.11.2007 um 10:48 Uhr
Kann mir jemand von euch das Skript vielleicht noch ein bisschen erweitern?
Und zwar bräuchte ich es so, das alle Drucke bei einem User ausgelesen werden.
Dann soll überprüft werden ob Drucker "Bla" auf Server "Blubb" vorhanden ist, wenn ja, dann soll Drucker "Bla" gelöscht werden und mit einem anderen Freigabenamen auf einem anderen Server wieder verbunden werden.
Wäre euch sehr dankbar wenn jemand das hinbekommt.

Grüße
Thomas
Bitte warten ..
Mitglied: Manolax
21.11.2007 um 12:07 Uhr
Habe jetzt selber schon eine Lösung gefunden.
Sogar nur mit Windows Batch.
Will euch nicht vorenthalten, vielleicht kann es ja jemand brauchen:

Bitte warten ..
Mitglied: Biber
21.11.2007 um 13:12 Uhr
Moin Manolax,

danke für die Erweiterung/Ergänzung der Fragestellung und das Posten der Lösung.

Kann bestimmt jemand brauchen.

Danke und Gruß
Biber
Bitte warten ..
Mitglied: Manolax
22.11.2007 um 10:18 Uhr
Jetzt bräuchte ich doch nochmal ne Erweiterung von dem Script.

Und zwar soll das ganze jetzt mit mehr Druckern passieren.
Klar jetzt könnt ich einfach für jeden Drucker paar Zeilen nehmen, aber schöner wärs das ganze in ne Schleife zu packen.
Dann könnte man irgendwo oben die auszutauschenden Drucker definieren.

Soweit ich weiß kann man in Batch keien Arrays definieren, was das ganze doch schon etwas kniffliger macht.
Weiß jemand von euch, wie man das in etwa realisieren könnte?
Bitte warten ..
Mitglied: Biber
22.11.2007 um 10:46 Uhr
Moin Manolax,

Jetzt bräuchte ich doch nochmal ne Erweiterung von dem Script.
Von dem Script wirst Du keine Erweiterung bekommen, dieses Feature ist nachweislich nicht implementiert.

Wenn Du eine Erweiterung des Scriptes wünscht, dann können wir das gerne hier entwickeln (auch durchaus in diesem Thread, passt ja hierher).

Aber dann versuche bitte etwas genauer die Anforderungen im Einzelnen zu beschreiben.

Danke
Biber
Bitte warten ..
Mitglied: Manolax
22.11.2007 um 11:30 Uhr
Na dann versuch ich doch mal die Anforderungen genau zu beschreiben.

Momentan sind bei den Benutzern verschiedene Drucker über einen Printserver verbunden.
Dieser Printserver wird "entsorgt".
Deshalb sollen alle Drucker auf einem neuen Printserver, welcher auch einen neuen Hostnamen hat, verbunden werden.
In dem Zuge werden auch die Freigabenamen aller Drucker geändert.
Das heißt alte Verbindungen löschen und neue erstellen.
Das Script von mir macht das auch erst mal, allerdings nur mit einem Drucker.
Wie schon gesagt könnte ich den Code jetzt für jeden einzelnen Drucker kopieren und nur die Druckernamen ersetzen, dann wär das Script aber ziemlich lang.
Deshalb hab ich mir gedacht, das es da doch eine schönere Lösung geben muss. Evtl. mit einer Schleife.


Im nächsten Schritt soll es dann nöch einen zweiten Printserver geben, welcher genau die gleichen Freigaben anbietet, wie der erste.
Vor dem verbinden soll dann erst mal abgefragt werden ob Printserver1 verfügbar ist.
Evtl. über nen Ping oder besser noch ob der Druckerdienst läuft.
Falls nicht, dann soll die Verbindung mit Printserver2 hergestellt werden.

Ich hoffe ich habe das erst mal so weit verständlich erklärt.

Gruß
Manolax
Bitte warten ..
Ähnliche Inhalte
Windows 10
Druck option
Frage von jensgebkenWindows 1010 Kommentare

Hallo Gemeinschaft, folgendes Problem. Ich muss aus einer Anwendung drei Drucke erstellen 2x schwarz weiss 1 x Farbe 1 ...

Microsoft Office
Office Druck fehler
Frage von DaistwasimBuschMicrosoft Office19 Kommentare

Hallo liebe Community, ich habe jetzt seit etwa einer Woche das Problem das ich nicht mehr aus den Office ...

Drucker und Scanner
Etikett druck umdrehen
Frage von TechnoXDrucker und Scanner1 Kommentar

Guten Morgen Ich weis mal wieder nicht weiter. Habe hier Probleme mit einen Zebra GC420D Etiketten Drucker. An dem ...

Windows Server
Druck wird nicht erlaubt
Frage von daquickWindows Server11 Kommentare

Guten Tag, ich habe ein kniffliges Problem. Und zwar habe ich einen sehr alten Drucker den ich nun über ...

Neue Wissensbeiträge
Instant Messaging

Videokonferenz oder Chatsystem für das Homeoffice

Information von Frank vor 5 StundenInstant Messaging4 Kommentare

Ich hatte es bereits in einem Kommentar gepostet, da ich aber viele Nachfragen dazu bekam, hier noch mal meine ...

Off Topic

Ein wenig Aufklärung über Corona von Bill Gates persönlich

Information von Frank vor 23 StundenOff Topic21 Kommentare

Amerika hat ein Problem: Die Arroganz des sehr klugen Präsidenten führte zur aktuellen Corona-Krise in den USA. Was jetzt ...

Off Topic
3D-Drucker gegen Corona - helft mit!
Information von DerWoWusste vor 1 TagOff Topic12 Kommentare

Unter vorigem Link sind Anleitungen, wie man sich mit seinem 3D-Drucker an der Produktion (Druck) von Bauteilen für Atemmasken ...

Instant Messaging

Die Kommunikations-App Zoom kommt aus der Kritik so schnell nicht mehr raus

Information von Frank vor 1 TagInstant Messaging4 Kommentare

Ich würde Zoom ja gerne nutzen (das Featureset ist ziemlich gut) aber irgendwie hinterlassen die ganzen Nachrichten einen faden ...

Heiß diskutierte Inhalte
Zusammenarbeit
Corona schlimmer als Ferien?
Frage von 114380Zusammenarbeit45 Kommentare

Hallo zusammen, sagt mal, kommt euch das auch so vor? Viele Eintagsfliegen stellen rudimentäre Fragen und reagieren dann gar ...

Batch & Shell
Alle Dateien eines Typs in Unterordnern in ein anderes Verzeichnis kopieren, aber so, dass sie in einem einzigen Unterverzeichnis liegen
Frage von Julia1989Batch & Shell25 Kommentare

Hallo, ich habe folgendes Problem: Ich habe viele *.php dateien, diese liegen in jeweils verschiedenen Unternordnern also C:\PfadZumOberverzeichnis\{A bis ...

Off Topic
Ein wenig Aufklärung über Corona von Bill Gates persönlich
Information von FrankOff Topic17 Kommentare

Amerika hat ein Problem: Die Arroganz des sehr klugen Präsidenten führte zur aktuellen Corona-Krise in den USA. Was jetzt ...

Microsoft
GPO rückgängig machen funzt nicht
gelöst Frage von samreinMicrosoft14 Kommentare

Moinsen, ich dreh hier heute noch durch ich bastel jetzt schon seit geraumer Zeit an einem Rechner rum dem ...