Powershell Удалить принтер - PullRequest
0 голосов
/ 30 мая 2018
Get-WmiObject -Class Win32_Printer | where{$_.Network -eq ‘true‘}| foreach{$_.delete()}

Я знаю, что этот сценарий удалит все сетевые принтеры, но мне нужно удалить только определенные сетевые принтеры ... как CLEPRINT15-2 и CLEPRINT 15-4, но не 15-3.Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Попробуйте это дополнительное, если условие с классом RegEx [24]:

Get-WmiObject -Class Win32_Printer | 
    where{$_.Network -eq $true -and $_.Name -match '^CLEPRINT-?15-[24]$'} | 
        foreach{$_.delete()}
0 голосов
/ 30 мая 2018

У вас уже есть фильтр where в свойстве Network, только несколько условий в свойстве Name.

Get-WmiObject -Class Win32_Printer |
    Where-Object {$_.Network -eq $true -and ($_.Name -eq 'CLEPRINT15-2' -or $_.Name -eq 'CLEPRINT15-4')} |
    ForEach-Object {$_.Delete()}

Примечание. Также будьте осторожны с умными кавычками. отличается от '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...