在域中使用 powershell 查找安装了打印机的打印服务器

Posted

技术标签:

【中文标题】在域中使用 powershell 查找安装了打印机的打印服务器【英文标题】:Find print server on which a printer is installed using powershell in Domain 【发布时间】:2018-11-08 02:58:15 【问题描述】:

我需要快速找出在我的域中安装了打印机的服务器。有 12 台打印服务器,每台有 50 多台打印机。我使用了 fol 命令,但出现错误

PS C:\>Get-Printer -Name "PayRoll_Sec_ptr"

但是这个命令只有在安装了打印机的特定服务器上使用时才会给我结果。这意味着我必须在 12 台服务器上编写它(或者直到我得到安装打印机的服务器”

当我在我的 AD 角色计算机上使用此命令时。它说

the term "get-printer" is not recognized as the name of a cmdlet, function, 

 script file, or operable program.

【问题讨论】:

【参考方案1】:

Get-Printer cmdlet 是早期操作系统中没有的众多cmdlet 之一。例如,它在 win7ps5.1 上根本不可用。

您可能希望使用 CIM cmdlet 从您的工作站进行调用。这……

Get-CimInstance -ClassName CIM_Printer -ComputerName 'LocalHost', '127.0.0.1'

将从列出的系统中获取打印机。您可以在-ComputerName 参数中为其提供一个列表,以从所有打印服务器获取信息。

虽然看起来不太可能,但如果您需要在 ps2.0 系统上运行该命令,可以使用该命令的 WMI 版本。

【讨论】:

我需要从打印服务器列表中找到特定的打印机,并且需要通过端口找到它。我通常没有打印机的共享名称,只有一个 Ip,我必须找出安装它的服务器。感激不尽 返回的信息包含.ShareName.PortName 参数。我没有任何共享打印机——只有一台 win7ps5.1 计算机和一台 USB 打印机——所以我无法测试.PortName 是否包含 IP。我怀疑确实如此,寿。你试过吗? [咧嘴]

以上是关于在域中使用 powershell 查找安装了打印机的打印服务器的主要内容,如果未能解决你的问题,请参考以下文章

在域控制器上设置NTP时间自动同步的组策略,使域中所有客户机的时间保持一致

在域控制器上设置NTP时间自动同步的组策略,使域中所有客户机的时间保持一致

我想在win7上管理server2003的AD,我的机器在域中,怎么实现?

如何通过Powershell在域计算机上查询Active Directory而不在客户端计算机上安装RSAT工具

如何使用普通域用户权限在域中任一台电脑上查看任一域用户账户状态?

在域中配置多元密码策略