如何通過Powershell找到安裝哪個dotnet Framework版本?我發現some code但它不工作,或者我不知道如何運行它。識別.Net框架版本
你能幫我開發任何可以在cmd
上運行的腳本並收集.Net框架版本嗎?
如何通過Powershell找到安裝哪個dotnet Framework版本?我發現some code但它不工作,或者我不知道如何運行它。識別.Net框架版本
你能幫我開發任何可以在cmd
上運行的腳本並收集.Net框架版本嗎?
有在你的鏈接的問題PowerShell的代碼中的錯誤,這裏是它的工作版本,這給了像這樣的輸出:
v2.0.50727 2.0.50727.4927 SP 2 v3.0 3.0.30729.4926 SP 2 v3.5 3.5.30729.4926 SP 1 v4 Client 4.6.01586 v4 Full 4.6.01586 v4.0 Client 4.0.0.0
function Get-KeyPropertyValue($key, $property) {
if ($key.Property -contains $property) {
Get-ItemProperty $key.PSPath -name $property | Select-Object -expand $property
}
}
function Get-VersionName($key) {
$name = Get-KeyPropertyValue $key Version
$sp = Get-KeyPropertyValue $key SP
if ($sp) {
"$($_.PSChildName) $name SP $sp"
}
else {
"$($_.PSChildName) $name"
}
}
function Get-FrameworkVersion {
Get-ChildItem "hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\" | Where-Object {$_.PSChildName -like "v*"} | ForEach-Object {
if ($_.Property -contains "Version") {
Get-VersionName $_
}
else {
$parent = $_
Get-ChildItem $_.PSPath | ForEach-Object {
$versionName = Get-VersionName $_
"$($parent.PSChildName) $versionName"
}
}
}
}
Get-FrameworkVersion
編輯:
if (Test-Path "hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full") {
switch (Get-KeyPropertyValue (Get-Item $v4Directory) Release) {
378389 {".NET Framework 4.5"; break; }
378675 {".NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2"; break; }
378758 {".NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2"; break; }
379893 {".NET Framework 4.5.2"; break; }
{ 393295, 393297 -contains $_} {".NET Framework 4.6"; break; }
{ 394254, 394271 -contains $_} {".NET Framework 4.6.1"; break; }
{ 394802, 394806 -contains $_} {".NET Framework 4.6.2"; break; }
}
}
非常感謝您的快速回復。我是否也可以通過上面的代碼獲得版本。 ?請幫忙謝謝。 –
@MalikAdeelImtiaz見編輯回答。 –
寫入所有上限被認爲是在互聯網上尖叫,而且非常粗魯。請考慮突出顯示的另一種方法。此外,您在StackOverflow上的代碼示例非常受歡迎。 – Compufreak