MDMoore313 Asked: 2013-12-10 06:53:11 +0800 CST2013-12-10 06:53:11 +0800 CST 2013-12-10 06:53:11 +0800 CST 有没有办法找出用户远程映射的打印机? 772 远程如通过命令行。不确定是否有 reg 键或类似的东西,我可以查看用户是否映射了正确的打印机。 windows 2 个回答 Voted Best Answer Ryan Ries 2013-12-10T07:35:16+08:002013-12-10T07:35:16+08:00 好吧,你可以看看 Win32_Printer WMI 类, Get-WMIObject Win32_Printer -ComputerName $Comp 但是,我认为这会给你带来更好的结果: New-PSSession $Comp | Enter-PSSession Get-ChildItem Registry::\HKEY_Users\$UserSID\Printers\Connections Exit 如果不使用 PS Remoting,您可以这样做: $Printers = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(Microsoft.Win32.RegistryHive]::Users, $ServerName) 你明白了。基本上,您需要使用任何方法访问该用户的注册表项并枚举您在Printers\Connections. Miguel G 2015-12-29T07:32:32+08:002015-12-29T07:32:32+08:00 对于任何对枚举帐户并获取已安装打印机列表的工作代码感兴趣的人,请参见下文: 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 } 此代码段首先枚举 HKEY_Users 下的所有子键,然后过滤掉每个用户的默认/系统帐户键和 Classes 键,最后枚举每个剩余键的\Printers\Connections子键以将打印机信息输出到控制台。 向瑞安致敬,所以我想我会通过答案做出贡献。
好吧,你可以看看 Win32_Printer WMI 类,
但是,我认为这会给你带来更好的结果:
如果不使用 PS Remoting,您可以这样做:
你明白了。基本上,您需要使用任何方法访问该用户的注册表项并枚举您在
Printers\Connections
.对于任何对枚举帐户并获取已安装打印机列表的工作代码感兴趣的人,请参见下文:
此代码段首先枚举 HKEY_Users 下的所有子键,然后过滤掉每个用户的默认/系统帐户键和 Classes 键,最后枚举每个剩余键的
\Printers\Connections
子键以将打印机信息输出到控制台。向瑞安致敬,所以我想我会通过答案做出贡献。