Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Get-WMIObject Win32_Printer mit dynamischen Filtern und Wildcards

$
0
0

Hallo, ich habe ein Powershell Skript welches per WMI alle Drucker ausliest und löscht. Bestimmte Drucker dürfen nicht gelöscht werden. Das wird aktuell so realisiert: "Anzahl der Ausnahmen sind für diesen Beitrag reduziert."

printer_del = @(Get-WMIObject Win32_Printer | where-object {$_.name -notlike "*OneNote 2013*" -and
                                                            $_.name -notlike "*OneNote 2016*" -and
                                                            $_.name -notlike "client/"+$env:clientname+"#/LP*" | select name-object -ExpandProperty name)

Soweit so gut.. Das funktioniert so.
Problem: Die Ausnahmen sind im "hart codiert" und können so nur direkt im Skript geändert werden. Aus diesem Grund werden die Ausnahmen nun aus einer SQL-Tabelle eingelesen.

PS C:\> $Ausnahmen
*OneNote 2016*
*OneNote 2013*
client/"+$env:clientname+"#/LP*

Die Abfrage um $printer_del zu füllen habe ich wir folgt umgebaut

$printer_del = @(Get-WMIObject Win32_Printer | where-object {$Ausnahmen -notcontains $_.Name} | select Name -ExpandProperty Name)

Leider funktioniert das nicht. Die Drucker die eigentlich ausgenommen werden sollen sind trotzdem in der Variable enthalten. Ich vermute es liegt an den Wildcards. Wenn ich im Array $Ausnahmen den "*" weg nehme klappt es.

Hat jemand eine Idee?

mfg Marcel


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>