列出所有使用 Powershell 的打印机

Sch*_*uge 9 powershell printing wmi

我在使用 Powershell 列出计算机上的所有打印机时遇到问题。

我们有一个批处理脚本,可以使用 PrintUI 添加/删除/列出“每台计算机”打印机。

我可以使用 PrintUI 来列出打印机。

    rundll32 printui.dll,PrintUIEntry /ge /c"%UNC-NAME%"
Run Code Online (Sandbox Code Playgroud)

这将仅列出每台计算机的打印机,而...

    Get-WMIObject -Class Win32_Printer -ComputerName $ComputerName
Run Code Online (Sandbox Code Playgroud)

将列出 WMI 中的所有打印机。

在上面的例子中,我有一个有 3 台打印机的系统,当用户登录时。 WMI 看到其中 2 台,PrintUI 看到 1 台。

我很困惑如何将它们全部列出!这样我就可以编写审核/添加/删除“每台计算机”和“本地”打印机的脚本

Dis*_*ame 6

获取共享打印机

Get-Printer -ComputerName pc| where Shared -eq $true | fl Name
Run Code Online (Sandbox Code Playgroud)

获取不共享打印机

 Get-Printer -ComputerName pc | where Shared -eq $false | fl Name
Run Code Online (Sandbox Code Playgroud)

获取映射打印机

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME | where{$_.Name -like “*\\*”} | select sharename,name
Run Code Online (Sandbox Code Playgroud)

获取所有打印机

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME
Run Code Online (Sandbox Code Playgroud)

  • 不列出其他用户拥有的打印机... (2认同)