30 May 2012 @ 12:50 PM 

Last evening I saw a tweet passing by from @pcgeek86 asking if it was possible to automate the width and height of the PowerShell console… in other words: manipulation of the PowerShell console.
Yes, this is possible by using the $host.UI.RawUI capabilities.

For your convenience I’ve written this function so that some basic manipulation of the PowerShell console can be done the easy way… I hope you find it useful Glimlach

function Set-Console
{
<#
.SYNOPSIS
Function to be used for PowerShell console manipulation.

  .DESCRIPTION
This function can be used for the manipulation of the PowerShell console.
For example, setting the width, height, backgroundcolor, etc.

  .PARAMETER Width
Provide the width for the PowerShell console.

  .PARAMETER Height
Provide the height for the PowerShell console.

  .PARAMETER ForegroundColor
Possible values: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White.

  .PARAMETER BackgroundColor
Possible values: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White.

  .PARAMETER Title
To set the title of the PowerShell console.

  .PARAMETER X
Provide the location for the PowerShell console on the X-axis.

  .PARAMETER Y
Provide the location for the PowerShell console on the Y-axis.

  .NOTES
Author: Jeff Wouters | Methos IT

  .EXAMPLE
Set-Console -Width 140 -Height 60 -Title “My Window Title” -ForegroundColor Cyan -BackgroundColor Magenta -X 10 -Y 30
#>
param (
[Parameter(Position=0, Mandatory=$True)][String]$Width,
[Parameter(Position=1, Mandatory=$True)][String]$Height,
[Parameter(Position=2, Mandatory=$True)][Alias('Foreground')][String]$ForegroundColor,
[Parameter(Position=3, Mandatory=$True)][Alias('Background')][String]$BackgroundColor,
[Parameter(Position=4, Mandatory=$True)][Alias('WindowTitle')][String]$Title,
[Parameter(Position=5, Mandatory=$True)][Alias('PositionX')][String]$X,
[Parameter(Position=5, Mandatory=$True)][Alias('PositionY')][String]$Y
)
$MaximumSize = $Host.UI.RawUI.MaxWindowSize
if ( ( $MaximumSize.height -ge $Height ) -and ( $MaximumSize.width -ge $Width  ) )
{
$WindowSize = $host.UI.RawUI.WindowSize
$WindowSize.Height = $Height
$WindowSize.Width = $Width
$Host.UI.RawUI.Set_WindowSize($WindowSize)
}
else
{
Write-Output “Error: The proposed size is larger than the buffer.”
}
if ( $ForegroundColor )
{
$Host.UI.RawUI.Set_ForegroundColor($ForegroundColor)
}
if ( $BackgroundColor )
{
$Host.UI.RawUI.Set_BackgroundColor($BackgroundColor)
}
if ( $Title )
{
$Host.UI.RawUI.Set_WindowTitle($Title)
}
if ( ( $X ) -and ( $Y ) )
{
$windowPosition = $Host.UI.RawUI.WindowPosition
$WindowPosition.Y = $Y
$WindowPosition.X = $X
$Host.UI.RawUI.Set_WindowPosition($WindowPosition)
}
}

Post to Twitter

Posted By: Jeff Wouters
Last Edit: 30 May 2012 @ 12:52 PM

EmailPermalinkComments (0)
Tags
Categories: PowerShell
 29 May 2012 @ 6:03 AM 

For some time now I noticed that there wasn´t a Dutch PowerShell User Group yet… and that no-one was starting one. After talking to lots and lots of people, I understood this was because PowerShell isn’t yet very well accepted in The Netherlands. That’s something I want to change…
This, together with my passion for the shell, resulted in me deciding to start one and named it DuPSUG.

Since this is not something I will do alone, I’m currently talking to some other Dutch Powershell enthusiasts about joining and how to shape the user group… more information to follow Knipogende emoticon

 

Post to Twitter

Posted By: Jeff Wouters
Last Edit: 21 Jun 2012 @ 05:45 AM

EmailPermalinkComments (0)
Tags
Categories: PowerShell

 Last 50 Posts
 Back
Change Theme...
  • Users » 1
  • Posts/Pages » 251
  • Comments » 430
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About



    No Child Pages.

Contact



    No Child Pages.