PSスクリプトを作成して、名前に "EXAMPLE"が含まれているすべてのネットワークプリンタを削除しようとしています。名前に "EXAMPLE"が含まれているプリンタを削除する
これまでのところ私は、次のコードを持っている:
Get–WMIObject Win32_Printer | where{$_.Network -eq ‘true‘} | foreach{$_.delete()}
をしかし、これは、すべてのネットワークプリンタを削除します。
PSスクリプトを作成して、名前に "EXAMPLE"が含まれているすべてのネットワークプリンタを削除しようとしています。名前に "EXAMPLE"が含まれているプリンタを削除する
これまでのところ私は、次のコードを持っている:
Get–WMIObject Win32_Printer | where{$_.Network -eq ‘true‘} | foreach{$_.delete()}
をしかし、これは、すべてのネットワークプリンタを削除します。
Windows 7を使用しているので、WMIを使用してプリンタを削除することもできます。それ以外の場合は、.NETクラスSystem.Printing
またはSystem.Drawing.Printing
のメソッドを使用しています。 | +は、Get-プリンタ :あなただけに必要と同じようしかし、それはあなたの場所のブロック内の他のフィルタ、私は次のエラーを取得しています
Get–WMIObject Win32_Printer | where{($_.Network -eq 'true') -and ($_.Name -like "*EXAMPLE*") } | foreach{$_.delete()}
# First check with -WhatIf, then remove -WhatIf when you are sure the command is targetting the right printer
Get-Printer | ?{ $_.Name.Contains("EXAMPLE") -and $_.Type -eq "Connection" } | Remove-Printer -Whatif
に見えます?{$ _。Name.Contains( "EXAMPLE") - $$。タイプ-eq "接続"} | R ... + ~~~~~~~~~~~ + CategoryInfo:ObjectNotFound:( - プリンタゲット:String)を[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException 私のOSはdrifter213 @ win7のところで – drifter213
でのWindows 7に 'Get-Printer'や' Remove-Printer'はありません。 – BenH
@BenH Containsはここに問題ありませんか?静的な文字列メソッドであり、 '-contains'でないので – Matt
それはうまくいく、私は*悪いを削除します。ありがとうございました! – drifter213