I am using the latest versions of PowerShell, PowerShell 7, and loving it. Loads of new features, new operators, and better performance. I find myself using both Windows PowerShell 5.1, as well as PowerShell 7 (both preview and daily builds). This is a good environment for me as I am embarking on a book writing project on PowerShell.
Like most long-time PowerShell users, I have made use of my $Profile file to customise and optimise the environment for me. With both daily builds and preview builds and release builds - it gets hard to keep track when I'm inside a PowerShell console window. To help me out, I've added a bit of code to my profile:
If ($Host.Name -eq 'ConsoleHost') {This fragment, a part of my normal profile for the console hosts, sets the console host window title, based on who I am (ie is this console run as Administrator?) and it it's is a preview version build then which one (daily build vs released preview). Then uses Set-PSReadLIneOption to set the colours for my console.
$Me = whoami
$Vn = $PSVersionTable.PSVersion.Major
$VNM = $PSVersionTable.PSVersion.Minor
If ($Host.UI.RawUI.WindowTitle -match 'Administrator') {
$WindowTitle = "ADMINISTRATOR: PowerShell $Vn.$VNM Rocks!"
}
else {
$WindowTitle = "$Me - PowerShell $Vn.$VNM Rocks!"
}
If ($PSVersionTable.PSVersion.PreReleaseLabel) {
$WindowTitle += " ** $($PSVersionTable.PSVersion.PreReleaseLabel.toupper()) **"
}
# Set it in the $Host
$Host.Ui.RawUi.WindowTitle = $WindowTitle
# New in 5.1 - Setup PSReadline to be 'better' - For PSReadline V2.
Set-PSReadLineOption -Colors @{
Command = 'Cyan'
Number = 'White'
Member = 'Green'
Operator = 'Yellow'
Type = 'DarkGreen'
Variable = 'Yellow'
Parameter = 'Cyan'
ContinuationPrompt = 'Cyan'
String = 'Yellow'
Default = 'White'}
}
These additions to my profile make it easy to see which specific version of PowerShell is running and will set the console colours to my tastes.
No comments:
Post a Comment