Как я могу использовать вложенный ForEach-Object? $_ возвращает «HKCU:..», но я хочу получить доступ к строке «Microsoft Teams» внутри второго объекта ForEach.
@(
"Microsoft Teams",
"Microsoft Teams Meeting Add-in for Microsoft Office",
"Teams Machine-Wide Installer"
) | ForEach-Object {
"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" | ForEach-Object {
Write-Host $_
}
}





$_ первого ForEach-Object необходимо сохранить в переменной. Затем используется внутри второго ForEach-Object.
@(
"Microsoft Teams",
"Microsoft Teams Meeting Add-in for Microsoft Office",
"Teams Machine-Wide Installer"
) |
ForEach-Object {
$FirstItem = $_
"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" |
ForEach-Object {
Write-Host $_
Write-Host $FirstItem
}
}
@js2010, новая область создается при вызове функции или запуске скрипта. Новая область не создается путем открытия нового блока сценария {}.
Мне не повезло с
get-variable _ -scope 1.