Powershell扫描networking连接的打印机

目前,我正在创build一个PS脚本来扫描networking,并检索所有find的Windows服务器上的所有Windows Server,其产品密钥,SQL Server产品密钥,CPU,RAM,networking共享和服务。 基本上这是在我们公司购买一个新的办公室/其他公司时把networking合并到我们的网站之前编制一个网站评估信息清单。 到目前为止,我已经能够让所有这部分工作相当整洁,信息被推送到.txt或.csv文件。

我想收集的信息中唯一缺less的主要部分是networking打印机。 到目前为止,我能find的最接近的方法是返回networking上的uPNP设备,但不返回所有打印机。 目前唯一返回的是理光多function一体机,而且我们也在networking上同时使用了惠普和其他打印机。

我的问题是,如果Powershell中有方法或函数来检索networking上打印机的IP,Make和Model? 目前,该脚本以networking用户input的forms扫描XXX0,并以IP为基础(通过循环和计数器)检索信息,最多为XXX254,所以如果方法/ cmdlet是IP /主机特定的,那就很好。

除了从打印服务器获取本地打印机或打印机之外,我还没有发现任何使用PS检索打印机信息的情况,而且我们处理的大多数公司都没有打印服务器。

提前感谢。

因此,为了解决这个问题,我find了一种方法来检查大多数networking打印机使用的端口9100上的响应,并将IP列表输出到Printers.csv文件中。 这将作为以后手动填写打印机地址的参考。 一些使用的方法是从这篇文章中提取的,以防其他人想引用它。 我将端口更改为9100,并设置一个IF语句,以便在通过networking循环时将IP推入数组,然后将数组推送到.csv。

到目前为止,这一切都在理光,惠普和柯尼卡打印机在我们的环境。 希望这可以帮助任何可能使用Powershell创build快速扫描脚本的人。

更新:

这里是我迄今为止所做的.ps1文件的副本,以防别人正在处理类似的项目。 它不会返回ESX服务器名称或打印机制造商和型号,但至less会将IP置于CSV中,以便您知道从哪里开始寻找。

我要用一种不同的方式来回答你的问题,而不是像你问的那样去做。

你看过Spiceworks吗? 它收集所有 (或者至less大部分)信息,还有更多,而且是免费的。 我为一家为小公司做IT评估的咨询公司工作,我们用它来获得他们整个库存的一个很好的第一遍。

他们已经把时间花在了解大多数供应商设备的钩子上来获取这些信息。 如果你从头开始自己做,你必须知道每个打印机供应商如何为他们的pipe理页面configurationHTML(并且每个供应商可能有多个产品线),你就不得不刮掉它。 您将不得不build立一个所有打印机供应商和产品线的数据库,以查询每个产品信息的方式 – 如果是通过SNMP或Telnet或者抓取HTTP(S)页面。 Spiceworks已经为你做了。

我非常喜欢做一些很酷有趣的事情,但是我更喜欢不重新发明轮子,特别是如果我不卖轮子,我会把人们赶走。