我是新來的PowerShell所以不要咬我:) 我的問題是這樣的: 我必須設置兩種類型的機器x86和x64。 在安裝過程中,我必須檢查機器上的.NET Framework安裝版本。 我正在通過調用測試路徑: 測試密鑰「HKLM:\ Software \ Wow6432Node \ Microsoft \ NET Framework Setup \ NDP \ v1.1.4322」「Install」 我想要做的是這樣的: #檢查系統是否支持x64架構 #在積極的answere的情況下更改註冊表 #至Wow6432Node 如果($ os_architecture -eq 「64」) {$ = dot_net_registry_root_path 「HKLM:\ SOFTWARE \ Wow6432Node」 }配置管理器
# Add common framework path
$dot_net_registry_path = $dot_net_registry_root_path + "\NET Framework Setup\NDP\"
# Check 1.0 version of .NET Framework
$dot_net_1_0_registry_path = $dot_net_registry_root_path + "\Microsoft\.NETFramework\v1.0\SBSDisabled"
if(!(Test-Key $dot_net_1_0_registry_path "Install"))
{
Write-Output ".NET Framework v1.0.3705 is NOT installed"
}
else
{
Write-Output ".NET Framework v1.0.3705 is installed"
}
# Check 1.1 version of .NET Framework
$dot_net_1_1_registry_path = "'" + $dot_net_registry_path + "v1.1.4322" + "'"
if (!(Test-Key $dot_net_1_1_registry_path "Install"))
{
Write-Output "Please install .NET Framework v1.1.4322"
}
else
{
Write-Output ".NET Framework v1.1.4322 is installed"
}
其中試驗主要
function Test-Key([string]$path, [string]$key)
{
if(!(Test-Path -LiteralPath $path)) { return $false }
if ((Get-ItemProperty $path).$key -eq $null) { return $false }
return $true
}
的問題是,當我使用的變量,而不是引用的字符串測試的路徑,因爲空間進路的失敗:「\ NET Framework安裝」
我應該做些什麼來解決這個問題?
請問,你能給出更高的精度嗎?你給的代碼似乎對我有用。 – JPBlanc 2011-04-12 05:05:45
我修改開始測試... – JPBlanc 2011-04-12 06:14:38