Understanding different (Six and more!) PowerShell profiles

As you know, PowerShell profiles are a great way to store persistent PowerShell settings which applies whenever you start a new session. So, if a profile is good, wouldn’t it be good if you can have multiple profiles. It turns out that any single PowerShell session may use a number of profiles and different PowerShell hosts provide yet more choices. By default, PowerShell (and ISE) provides six different choices out of the box. In this blog post, we are going to understand these one. Continue reading “Understanding different (Six and more!) PowerShell profiles”

Restrict user input to yes or no in PowerShell while using Read-Host

This is not much but useful tip. Sometimes, while trying to read input from the user, you would want the response in yes/no (or y/n for that matter). You would not want users trying to enter anything or pressing any key by mistake which is mistaken for either yes/no. For this, we can use below specified simple code:

$YesOrNo = Read-Host "Please enter your response (y/n)"
while("y","n" -notcontains $YesOrNo )
 $YesOrNo = Read-Host "Please enter your response (y/n)"

Above example can also be modified to get limited set of choices from users.

SQL Error : Index was outside the bounds of the Array (Microsoft.SqlServer.smo)

If while working on Azure SQL PaaS or even on-premise SQL database, you are stuck with this error “Index was outside the bounds of the Array. (Microsoft.SqlServer.smo)”, the most likely reason is that the version of SQL server management studio on your local machine is on the lower version that the SQL server version on the server end.

In such a scenario, you would need to upgrade the SSMS version installed on your local machine. Apparently, the reason behind the error message is that SQL couldn’t show new features in your old SSMS version. Continue reading “SQL Error : Index was outside the bounds of the Array (Microsoft.SqlServer.smo)”

Configure PowerShell prompt to always display date and time

Sometimes, we may want to know when a particular PowerShell command was executed in our current shell. Simply scrolling through the PowerShell history will not help you as it just shows the commands. Having current date and time as part of PowerShell prompt improves the situation to a greater level. It also helps you in recording your changes in proper way.

Here is a small piece of code which helps you to add current date time to PowerShell prompt. You can change the formatting of the date and time to meet your requirements. Continue reading “Configure PowerShell prompt to always display date and time”

Configure PowerShell profile before next time you run PowerShell

A PowerShell profile in very simple terms, is a script that is auto-executed (read runs) whenever you start a PowerShell session. Why is this important? Suppose, you work on SharePoint administration for your daily bread and butter. Everytime, you would want to execute some cmdlets based on SharePoint, you would need to load PSSnapin for SharePoint. Same goes for Azure. Who would want to login everytime whenever you want to run some Azure cmdlets and go through that annoying pop-up box. It’s a good idea to have some commands auto-executed whenever you want to open PowerShell session. Continue reading “Configure PowerShell profile before next time you run PowerShell”