Powershell

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 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:...

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...

Finding All Variables in a Script Block

To analyze the content of a script block, you can easily examine the AST, and, for example, create a list of all variables in the code: $code = { $a...

Spying on Function Source Code

Here is a quick way how to find the source code of PowerShell functions: ${function:Clear-Host} | clip This would copy the Clear-Host source code to...

Modern Alternative to More

In a PowerShell console, you can continue to pipe to more, just like in cmd.exe, to view results page by page. However, more does not support...

Creating SMB Shares Remotely

Here are a couple of lines that remotely create an SMB share on a server: #requires -Version 3.0 -Modules CimCmdlets, SmbShare -RunAsAdministrator...

Important PowerShell Variables

Here is a list of important PowerShell variables: $pshome is the path to the place where PowerShell lives. $home is the path to your personal...

1 33 34 35 36 37 104