Kako lahko ugotovim, katera različica programa PowerShell je nameščena v računalniku in ali je sploh nameščena?
Uporabite $PSVersionTable.PSVersion
za določitev različice motorja. Če spremenljivka ne obstaja, lahko domnevamo, da je različica motorja 1.0
.
Upoštevajte, da $Host.Version
in (Get-Host).Version
nista zanesljivi - odražata
samo različico gostitelja, ne pa tudi gonilnika. PowerGUI,
PowerShellPLUS itd. so vse gostiteljske aplikacije in
bodo nastavili različico gostitelja tako, da bo odražala njihov izdelek
različico — kar je povsem pravilno, vendar ne tisto, kar iščete.
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
Če želite ugotoviti, ali je program PowerShell nameščen, lahko v registru preverite obstoj
HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\Install
in .
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3
in, če obstaja, ali je vrednost 1 (za nameščeno), kot je podrobno opisano v objavi na blogu Preveri, ali je program PowerShell nameščen, in različico.
Če želite določiti različico nameščenega programa PowerShell, lahko preverite ključe registra
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\PowerShellVersion
in .
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine\PowerShellVersion
Za določitev različice programa PowerShell, ki je nameščena iz skripte .ps1, lahko uporabite naslednji enovrstičnik, kot je podrobno opisano na strani PowerShell.com v Which PowerShell Version Am I Running.
$isV2 = test-path variable:\psversiontable
Na istem spletnem mestu je navedena tudi funkcija za vračanje različice:
function Get-PSVersion {
if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}
}
Če želite preveriti, ali je program PowerShell nameščen, uporabite:
HKLM\Software\Microsoft\PowerShell\1 Install ( = 1 )
Če želite preveriti, ali je nameščen RC2 ali RTM, uporabite:
HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-00301) -- For RC2
HKLM\Software\Microsoft\PowerShell\1 PID (=89393-100-0001260-04309) -- For RTM
Vir: [to spletišče] (http://www.myitforum.com/articles/40/view.asp?id=10618).