ItemPropertyValue不会被识别为cmdlet的名称

时间:2018-03-02 10:26:05

标签: powershell powershell-v4.0

我试图从我的注册表中获取关键值。以下代码正在使用Powershell 5.1在我的机器上运行。但是如果我试图让它在Powershell 4.0中运行它会一直失败。有没有人知道如何让它在4.0上运行?

$file = "c:\temp\RegistryValues.txt"

$items = Get-Item "HKLM:\SOFTWARE\WOW6432Node\Test\*"
$items2 = $items | select -ExpandProperty name  

$items2 | % { 

    $i = $(($_).split("\")[-1])
    $j = $(Get-ItemPropertyValue "Registry::$_" -Name 'version')
    $k = $(Get-ItemPropertyValue "Registry::$_\Settings" -Name 'Server')

"$i Version: $j Setting: $k" | add-content $file


}

错误:
enter image description here

1 个答案:

答案 0 :(得分:2)

找到V.4的解决方案

$j = $((Get-ItemProperty -Path "Registry::$_").Version)
$k = $((Get-ItemProperty -Path "Registry::$_\Settings").Server)