web-dev-qa-db-fra.com

Énumérez toutes les imprimantes à l'aide de PowerShell

J'ai des problèmes énumérant toutes les imprimantes sur un ordinateur utilisant PowerShell.

Nous avons un script de lot qui ajoutera/supprimera/liste des imprimantes "par ordinateur" utilisant printuci.

Je peux utiliser princi pour répertorier les imprimantes.

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

Cela va lister uniquement les imprimantes par ordinateur, tandis que ...

    Get-WMIObject -Class Win32_Printer -ComputerName $ComputerName

listera toutes les imprimantes de WMI.

Dans l'exemple ci-dessus, j'ai un système contenant 3 imprimantes, lorsqu'un utilisateur est connecté. WMI See's 2 d'entre eux, IRTUI Voir 1.

Je suis hébergé comment je peux les énumérer! Afin que je puisse script audit/ajouter/supprimer des imprimantes "par ordinateur" et "local"

8
Schlauge

imprimantes partagées

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

obtenir des imprimantes non partagées

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

obtenir des imprimantes mappées

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

obtenez toutes les imprimantes

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