1

PowerShell で citrix レジストリ キーを使用しています。「HKLM:\SOFTWARE\WOW6432Node\Policies\Citrix」の下には、「Events, Evidence, and IMA」のように、数字の後にいくつかの文字で構成されたいくつかのキーが続く多数のキーがあります。

「HKLM:\SOFTWARE\WOW6432Node\Policies\Citrix」のすべてのサブキーを数値で配列に入力して、それぞれの値をどこかのゴールデン イメージと照合できるようにしようとしています。

このようなキーは 1,000 個未満になると想定しています。これまでのところ、私は試しました:

$UserSubKeys = get-childitem "HKLM:\SOFTWARE\WOW6432Node\Policies\Citrix" -include [0..999] 

しかし、それは何も返しません。

私は次のようなことができます

$UserSubKeys = get-childitem | where-object {$_.name -match "0" -or $_.name -match "1"}

「0」から「999」までのそれぞれに対して個別の -or を実行しますが、それは苦痛でばかげているようです。

助言がありますか?

4

2 に答える 2

0

以下のいずれかを使用できます。

# returns all keys whose name consists only of the characters 0-9
get-childitem "HKLM:\SOFTWARE\WOW6432Node\Policies\Citrix" |?{ $_.Name -match '^[0-9]+$' }

# returns all keys whos name can successfully be parsed into an integer
get-childitem "HKLM:\SOFTWARE\WOW6432Node\Policies\Citrix" |?{ [int]::TryParse($_.Name, [ref] $null) }
于 2013-07-18T17:23:38.297 に答える