2017-03-17 24 views
0

我有Windows 7專業版的PC上的問題。我需要列出網絡打印機在我的本地網絡,我試圖用命令在PowerShell中運行列表中的對象類:win32_printer不會出現在WmiObject可以(Windows電源外殼)

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

去閱讀文檔的AD模塊'GET-WMIObject';你想使用'-class'參數。請注意,有兩個相關的類;一個尋址「本地」打印機(即不由另一臺計算機提供服務),另一個尋址由另一臺計算機提供服務的網絡打印機。 –

+0

@JeffZeitlin'Win32_Printer'列出了本地和網絡打印機。 – BenH

+0

@ BenH - 我們遇到過這樣的情況:'Win32_Printer'沒有捕獲到網絡打印機的打印機連接;對於那些,我們需要'Win32_PrinterConnection'。 –

回答

1

你的命令列出所有WMI類,然後篩選出所有這些包含Win32_Printer這些類。看起來你想要使用:

Get-WMIObject Win32_Printer 

這將列出所有連接到您的計算機(不是所有的都在您的網絡上)的打印機。請注意,它只會顯示連接到您的用戶帳戶的網絡打印機。

如果您正在尋找網絡上的所有打印機,你可以列出所有的Active Directory中發佈的隊列

Get-ADObject -Filter "ObjectCategory -eq 'printQueue'" 

注:此命令要求從RSAT