Gibt es eine Möglichkeit herauszufinden, welche Drucker ein Benutzer remote zugeordnet hat?

7

Remote wie in über die Kommandozeile. Ich bin mir nicht sicher, ob es einen Registrierungsschlüssel oder ähnliches gibt. Ich kann einen Blick darauf werfen, ob einem Benutzer die richtigen Drucker zugeordnet sind.

MDMoore313
quelle

Antworten:

9

Sie können sich die WMI-Klasse Win32_Printer ansehen.

Get-WMIObject Win32_Printer -ComputerName $Comp

Aber ich denke, das wird Ihnen noch bessere Ergebnisse bringen:

New-PSSession $Comp | Enter-PSSession
Get-ChildItem Registry::\HKEY_Users\$UserSID\Printers\Connections
Exit

Ohne PS Remoting können Sie stattdessen Folgendes tun:

$Printers = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(Microsoft.Win32.RegistryHive]::Users, $ServerName)

Du hast die Idee. Grundsätzlich müssen Sie mit jeder Methode auf den Registrierungsschlüssel dieses Benutzers zugreifen und alles auflisten, was Sie finden Printers\Connections.

Ryan Ries
quelle
+1, und nur zum Grinsen, überprüfen Sie diesen Link: Powershell.com/cs/media/p/16643.aspx, da sie versuchen, alle Lust auf Stimme usw. zu bekommen.
TheCleaner
Das gci Registry::\....ist im Begriff, sich gut zu einer Powershell-Funktion zusammenzurollen, fyi.
MDMoore313
3

Für alle, die daran interessiert sind, wie Arbeitscode aussieht, um die Konten aufzulisten und eine Liste der installierten Drucker zu erhalten, siehe unten:

Get-ChildItem Registry::\HKEY_Users | 
Where-Object { $_.PSChildName -NotMatch ".DEFAULT|S-1-5-18|S-1-5-19|S-1-5-20|_Classes" } | 
Select-Object -ExpandProperty PSChildName | 
ForEach-Object { Get-ChildItem Registry::\HKEY_Users\$_\Printers\Connections -Recurse | Select-Object -ExpandProperty Name }

Dieses Snippet listet zuerst alle Unterschlüssel unter HKEY_Users auf, filtert dann die Standard- / Systemkontoschlüssel und die Klassenschlüssel für jeden Benutzer heraus und listet schließlich die \Printers\ConnectionsUnterschlüssel aller verbleibenden Schlüssel auf, um die Druckerinformationen an die Konsole auszugeben.

Ein großes Lob an Ryan, also dachte ich, ich würde über eine Antwort dazu beitragen.

Miguel G.
quelle