実行中のクエリに関するいくつかのオプションを提供するスクリプトを作成しようとしています。get-wmiobject にある「Where { }」フィルターを時々無効にできるようにしたいと考えています。しかし、式で変数を使用することはできません...したがって、これは機能しません::
gwmi -class win32_product | $whereEnabled | select name, version
別の式を作成して if/else ループを使用せずに、「Where」フィルターを有効/無効にできますか?
要求された完全な Get 式は次のとおりです。
get-wmiobject -class win32_product -computer $PC | where {$ignore -notcontains $_.IdentifyingNumber} | Select IdentifyingNumber, Name | sort-object IdentifyingNumber | export-csv -Delimiter `t -NoTypeInformation -Append -encoding "unicode" -path $logfile
$ignore は、既知の必要なアプリを含むテキスト ファイルで、IdentifyingNumber によって、デバイス上に表示されます。時々、すべてのアプリのリストを取得する必要があり、式のこの部分を「無効」にしたいと考えています。