There are two PowerShell Editions now: “Windows PowerShell” shipping with Windows, and running on the full .NET Framework, and the...
powertips
Windows PowerShell and PowerShell Core
Lately there has been confusion about PowerShell versions. There is a “PowerShell 6” open source initiative at GitHub...
Setting PowerShell Title Text
You probably know that you can change the title text of a PowerShell host window with a line like this: PS> $host.UI.RawUI.WindowTitle =...
Clearing All User Variables
In the previous tip we illustrated how you can identify built-in PowerShell variables with an approach like this: $ps = [PowerShell]::Create() $null...
Finding PowerShell Default Variables (Part 3)
In the previous tip we illustrated how you can identify built-in PowerShell variables with an approach like this: $ps = [PowerShell]::Create() $null...
Finding PowerShell Default Variables (Part 2)
In the previous tip we explained how you can use a separate new and fresh PowerShell to retrieve all default variables. When you examine these...
Finding PowerShell Default Variables (Part 1)
Sometimes it would be useful to identify the automatic PowerShell variables managed by PowerShell so you could differentiate between built-in...
Finding PowerShell Classes
Starting in PowerShell 5, you can define PowerShell classes. They are defined dynamically and live in memory. So how would you know the names of...
Using PowerShell Classes 2
Starting in PowerShell 5, you can define PowerShell classes. You can use classes to create new objects, and by defining one or more...
Using PowerShell Classes
Starting with PowerShell 5, you can define classes. They have many use cases. One would be to create libraries of useful helper functions to better...
Reading Registry Values (Workaround)
In the previous tip we illustrated that Get-ItemProperty cannot read registry key values when there is a value present with corrupted content:...
Reading Registry Values Fails
Occasionally, reading values of a registry key may fail with a strange error message: PS> $key =...
Greetings of the Day (with Voice)
In the previous tip we explained how you can add a personal greeting to your PowerShell profile. This greeting can also be spoken out, provided your...
Greetings of the Day
Here is a simple approach that takes an array of strings and returns a random string that you could use for custom greetings in PowerShell:...
Truth about LINQ in PowerShell
Lately there have been reports about using Linq, a .NET query language, with PowerShell in an effort to speed up code. Until there is true Linq...
Secret Windows 10 Transparency Mode
When you open a native PowerShell console in Windows 10, you can hold down CTRL+SHIFT, then move your mouse wheel, to adjust console background...
Flush DNS Cache
Windows is using a DNS cache, so when you change DNS servers, you need to flush the cache before the new settings take effect. PowerShell is a...
Displaying Folder Tree
PowerShell is a friend with old console commands, so the easiest way of displaying the tree structure of a folder is the old “tree”...
Using Cached Port File
In the previous tip we explained how you can download port assignments via PowerShell from IANA. This process requires Internet access and can take...
Get List of Port Assignments
The IANA (Internet Assigned Numbers Authority) maintains a CSV file with all known port assignments. PowerShell can download this list for you: $out...
World Time Clock
PowerShell 5 comes with Get-TimeZone which returns all defined time zones and their time offset. This is all you need for a one-liner world clock:...
Check for Daylight Savings Time
Here is how PowerShell can find out whether Daylight Savings Time is currently effective – a potentially needed detail when doing GMT...
Setting Time Zone
While you need administrative privileges to adjust time and date on your computer, each user can change the time zone, i.e. when you travel....
Finding All Variables in a Script
In the previous tip we illustrated how you can analyze the content of a script block and search for variables or commands. The same is possible for...