web-dev-qa-db-ja.com

Powershellを使用してすべてのプリンターを一覧表示する

Powershellを使用しているコンピューター上のすべてのプリンターを一覧表示する際に問題が発生します。

PrintUIを使用して「コンピューターごと」のプリンターを追加/削除/一覧表示するバッチスクリプトがあります。

PrintUIを使用してプリンターを一覧表示できます。

    rundll32 printui.dll,PrintUIEntry /ge /c"%UNC-NAME%"

これはコンピュータごとのプリンタだけをリストしますが...

    Get-WMIObject -Class Win32_Printer -ComputerName $ComputerName

wMI内のすべてのプリンターが一覧表示されます。

上記の例では、ユーザーがログインしているときに3台のプリンターを備えたシステムがあります。WMIは2台、PrintUIは1台を表示します。

私はそれらをすべてリストする方法に夢中です! 「コンピュータごと」と「ローカル」の両方のプリンタを監査/追加/削除するスクリプトを作成できるように

8
Schlauge

共有プリンターの取得

Get-Printer -ComputerName pc| where Shared -eq $true | fl Name

共有されていないプリンターを取得する

 Get-Printer -ComputerName pc | where Shared -eq $false | fl Name

マップされたプリンターを取得する

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME | where{$_.Name -like “*\\*”} | select sharename,name

すべてのプリンターを入手する

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME
5
DisplayName