PowerShell Sürüm Profilleri
Temel olarak, profil komut dosyam herhangi bir şey yapmadan önce ilk olarak sürümü kontrol eder. $psversiontable değişkenini kullanabilirsiniz.
PS C:\> $PSVersionTable
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.18033
BuildVersion 6.2.9200.16434
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2Aradığım şey PSVersion özelliği. Bu bilgilerle PowerShell profil komut dosyamı basit IF ifadesine sarabilirim.
#requires -version 2.0
<#
Use code like this in your PowerShell profile if it will
be shared between PowerShell 2 and PowerShell 3 sessions
on the same computer
#>
if ($psversiontable.psversion -eq '3.0') {
Write-Host "You are running PowerShell 3.0" -ForegroundColor Green
#insert 3.0 specific commands
$PSDefaultParameterValues.Add("Format-Table:Autosize",$True)
}
else {
Write-Host "You are running PowerShell 2.0" -ForegroundColor Yellow
#insert 2.0 specific commands
}
#insert commands that apply to both versionsKod örneğindeki yorumların oldukça açık olduğunu ve aslında eklenecek pek bir şey olmadığını düşünüyorum. Write-Host satırları yalnızca test amaçlıdır. Onlara gerçekten ihtiyacın yok.
Artık sürümden bağımsız olarak ve hatasız olarak düzgün yapılandırılmış PowerShell oturumları alabiliyorum.
