ProfilePal is a free PowerShell module, developed to help more easily create and modify PowerShell profile scripts.

I've found modifying my PS profile(s) to be one of the most beneficial phases of my journey learning PowerShell. I hope you find it helpful, and perhaps inspires you to share something you've worked on with our greater PowerShell community.

The ProfilePal module includes functions that are designed to create new, instantly useful PowerShell profile scripts, and to help make managing existing PowerShell profiles easier. Basic descriptions are provided below, and get-help support is provided within each function as well, e.g. for additional description of parameters, and examples.

Get yours at GitHub

Or at PowerShellGallery

I was also privileged to publish ProfilePal to the new NuGet / OneGet / PowerShellGet repository This means that with PowerShell version 5 (included in Windows 10 Tech Preview, and available for Windows 8 / Server 2012), you can download and import the ProfilePal module all from directly within your PowerShell console.

What's inside?

Here is an excerpt from the in-line Help, as most recently updated Nov. 8, 2015:


ProfilePal module provides helpful functions for creating and customizing PowerShell profiles, and includes a couple 'bonus' functions for making PowerShell a bit easier to work with. Intended to help new(er) PowerShell users more quickly discover the value of managing and customizing their own PowerShell Profile.
Get-Profile           : Enumerates basic info of common PowerShell Profiles.
New-Profile         : Creates PowerShell Profiles, and customizes the console, with tips to get more familiar about
     managing one's own profile customizations and preferences.
Edit-Profile          : Opens a specified PowerShell profile in the PowerShell_ISE, for editing.
Suspend-Profile: Suspends an active PowerShell profile by renaming (appending) the filename. Helpful with
     testing or troubleshooting changes or potential conflicts between profiles.
Resume-Profile   : Resumes an active PowerShell profile by restoring a file renamed by Suspend-Profile.
Reset-Profile       : Simply reloads the current profile script (`. $Profile`), but 'reload' is not an approved PowerShell verb, so we call
     it Reset.
Get-UserName    : Returns active user's account info in the format of DOMAIN\AccountName.
prompt                 : Overrides the default prompt, removing the pwd/path element, and conditionally adds an
     [ADMIN] indicator, in place of the default Administrator string in the window title bar.
Get-WindowTitle : Stores active $host window title, in support of Set-WindowTitle and Reset-WindowTitle functions.
Set-WindowTitle: Customizes PS $host window title, to show version, starting path, and start date/time.
Reset-WindowTitle : Restores default PowerShell host window title, as captured by Get-WindowTitle.
Start-RemoteDesktop : Launch a Windows Remote Desktop admin session to a specified computername, with
     either FullScreen, or sized window.
Open-AdminConsole : Launch a new console window from the command line, with elevated (admin) permissions.
Test-Port                 : Effectively a PowerShell native-alternative / replacement for telnet, for testing IP port(s) of a remote computer.


File Name : ProfilePal.psm1
Author: Bryan Dady
Link Note : Some functions originally inspired by zerrouki
Thanks zerrouki for the inspiration!

help is available

ProfilePal help is now published online, in the GitHub project wiki, in addition to being available within the module, in the form of comment based help. To review the help, and in case you'd like to see further elaboration or other edits to the help content, you're welcome to review at


Questions, comments, and requests related to this module are welcome, directly via Github (e.g. Issues, wiki), via twitter, or by using the contact form on this site. I'd love to hear from you whether it's worked well, you need a little help, or if you have ideas how it could be better.