Kuidas teha kindlaks, milline PowerShelli versioon on arvutisse paigaldatud ja kas see on üldse paigaldatud?
Kasutage mootori versiooni määramiseks $PSVersionTable.PSVersion
. Kui muutujat ei ole olemas, võib eeldada, et mootor on versioon 1.0
.
Pange tähele, et $Host.Version
ja (Get-Host).Version
ei ole usaldusväärsed - need peegeldavad
ainult host'i versiooni, mitte mootorit. PowerGUI,
PowerShellPLUS jne on kõik hostirakendused ja
nad seavad host'i versiooni nii, et see peegeldaks nende toodet.
versiooni — mis on täiesti õige, kuid mitte see, mida te otsite.
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
PowerShelli paigaldamise kindlakstegemiseks saate kontrollida registris, kas on olemas
HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install
ja
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3
ja kui see on olemas, siis kas väärtus on 1 (paigaldatud), nagu on üksikasjalikult kirjeldatud blogipostituses Kontrollida, kas PowerShell on paigaldatud ja versioon.
Paigaldatud PowerShelli versiooni määramiseks saate kontrollida registrivõtmeid
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\PowerShellVersion
ja
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine\PowerShellVersion
PowerShelli installeeritud versiooni määramiseks .ps1 skriptist saate kasutada järgmist ühejoonelist funktsiooni, nagu on üksikasjalikult kirjeldatud PowerShell.com'is Which PowerShell Version Am I Running.
$isV2 = test-path variable:\psversiontable
Sama sait annab ka funktsiooni versiooni tagastamiseks:
function Get-PSVersion {
if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
}
PowerShelli paigaldamise kontrollimiseks kasutage:
HKLM\Software\Microsoft\PowerShell\1 Install ( = 1 )
Selleks, et kontrollida, kas RC2 või RTM on paigaldatud, kasutage:
HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-00301) -- For RC2
HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-04309) -- For RTM
Allikas: see veebileht.