Если в строке есть несколько значений, например:
$MyRegKey = "A B C D"
$MyRegKey.Count
1
И вы хотите просмотреть их, вы можете разделить символ пробела следующим образом.
$MyRegKey = $MyRegKey.Split()
$MyRegKey.Count
4
Это дает вам кое-что, что вы можете повторить, используя For-EachObject
командлет.
$MyRegKey
A
B
C
D
Обновление
Представьте себе, что вы создаете новый regkey так:
New-Item HKCU:\Software\MyRegKey
New-ItemProperty -Path HKCU:\Software\MyRegKey -Name MyRegValue -PropertyType String -Value "A B C D"
Это создаст следующий ключ:

Я могу получить его значение с помощью следующего кода:
$MyRegKey = Get-ItemProperty -Path HKCU:\Software\MyRegKey -Name MyRegValue
$MyRegKey.MyRegValue.Split()
A
B
C
D
Мы можем перебирать значения следующим образом:
MyRegKey.MyRegValue.Split() | ForEach-Object { "Property $i of MyRegKey = $_" ;$i++}
Property 0 of MyRegKey = A
Property 1 of MyRegKey = B
Property 2 of MyRegKey = C
Property 3 of MyRegKey = D
Окончательное обновление
С помощью этого кода мы можем быстро выполнить следующие повторные запросы:
'A','B','C','D' | % {
New-ItemProperty -Path HKCU:\Software\MyRegKey -Name $_ -PropertyType String -Value "A B C D"
}
Givingиспользуйте эти значения:

Чтобы воздействовать на них в цикле ForEach-Object
, мы можем использовать следующий код:
(Get-Item -Path HKCU:\Software\MyRegKey).Property | ForEach-Object {
Write-Host "The key $_ has a value of $((Get-ItemProperty HKCU:\Software\MyRegKey -Name $_).$_)"
}
Это дает следующий вывод:
The key A has a value of A B C D
The key B has a value of A B C D
The key C has a value of A B C D
The key D has a value of A B C D