我在使用Windows 7 Professional的PC上遇到问题。我需要在本地网络中列出网络打印机,我尝试使用以下命令在PowerShell中运行列表对象类:
Get-WMIObject -List | where {$_.name -match 'win32_printer'}
这显示为空,有任何修复此问题的建议吗?
修改 我获取网络打印机的脚本是这样的:
Set-Location -Path C:\; get-WmiObject -class Win32_printer | ConvertTo-Json | Set-Content -Encoding utf8 C:\\xampp\\htdocs\\project\\view\\data\\printers.json
我需要在json文件中列出打印机,在我的电脑上运行良好,但在我需要运行此脚本的PC中失败
答案 0 :(得分:1)
您的命令列出了所有WMI类,然后过滤那些显示包含Win32_Printer
的所有类的类。好像你想要使用:
Get-WMIObject Win32_Printer
这将列出连接到计算机的所有打印机(并非所有打印机都在您的网络上)。请注意,它只会显示连接到您的用户帐户的网络打印机。
如果您要查找网络上的所有打印机,可以列出在Active Directory中发布的所有队列
Get-ADObject -Filter "ObjectCategory -eq 'printQueue'"
注意:此命令需要RSAT的AD模块