| |
VB.NET - FortgeschritteneFreigegebene Drucker auf einem Printserver ermitteln? | | | Autor: fun2prog | Datum: 02.09.16 16:37 |
| Hallo zusammen,
ich habe aktuell echt ein kniffliges Problem:
Ich möchte gerne von einem Printserver (Windows Server) alle freigegebenen Drucker ermitteln.
Leider soll dies auch ohne besondere Berechtigungen funktionieren, weshalb hier WMI nicht verwendet werden kann (Domänen-Benutzer sind nicht in der RPC-Gruppe des Servers). Der Windows Explorer kann die Freigaben bei den Usern ohne Probleme auflisten, wie kann ich diese Auflistung in meiner VB.NET Anwendung nutzen?
Gibt es hier noch andere elegante Lösungen?
Schon mal vielen Dank im Voraus! | |
Re: Freigegebene Drucker auf einem Printserver ermitteln? | | | Autor: OlliBG | Datum: 09.09.16 10:04 |
| Ich habe das über unseren MSSQL-Server gemacht. Dort einen LinkedServer in die AD erstellt und über SQL die Drucker abgefragt
SELECT servername, printername, uncname, location, drivername
FROM OPENQUERY(LinkedServer, 'SELECT printername, servername, uncname, drivername, location FROM ''LDAP://DOMAINNAME/DC=DOMAINNAME,DC=local'' where objectClass = ''printqueue''') | |
Re: Freigegebene Drucker auf einem Printserver ermitteln? | | | Autor: fun2prog | Datum: 09.09.16 18:49 |
| Danke für die Auskunft!
Ich habe nun eine VB.NET Variante gefunden (und zum Teil basteln müssen), und ich möchte diese euch nicht vorenthalten:
Imports System.Printing
Public Function GetPrinterQueries(ByVal PrintServer As String) As List(Of _
PrinterQueueInfo)
Try
'Initialisierung des PrintServer-Objekts
Dim myPrintServer As New PrintServer("\\" & PrintServer, _
PrintSystemDesiredAccess.EnumerateServer)
Dim result As New List(Of PrinterQueueInfo)
'Druckerwarteschlangen auflisten
Dim myPrintQueues As PrintQueueCollection = _
myPrintServer.GetPrintQueues()
For Each pq As PrintQueue In myPrintQueues
If Not pq.ShareName = "" Then
Dim hh As New PrinterQueueInfo
hh.Server = pq.HostingPrintServer.Name
hh.ShareName = pq.ShareName
result.Add(hh)
End If
Next pq
Return result
Catch ex As Exception
Return New List(Of PrinterQueueInfo)
End Try
End Function
'Hier noch die Hilfsklasse, welche ich zur Speicherung der benötigten Daten
' erstellt habe:
Public Class PrinterQueueInfo
Public ShareName As String
Public Server As String
End Class Ich hoffe, das kann jemand für die Zukunft gut gebrauchen.
Ich möchte mich für die Hilfe bedanken, der Thread kann geschlossen werden. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|