There are two PowerShell Editions now: “Windows PowerShell” shipping with Windows, and running on the full .NET Framework, and the...
Powershell
Categories
- Free tools
- SQL Admin Toolset
- SQL Compliance Manager
- SQL Defrag Manager
- SQL Diagnostic Manager for MySQL
- SQL Diagnostic Manager for SQL Server
- SQL Diagnostic Manager Pro
- SQL Doctor
- SQL Enterprise Job Manager
- SQL Inventory Manager
- SQL Query Tuner for SQL Server
- SQL Safe Backup
- SQL Secure
- SQL Workload Analysis for SQL Server
- Uptime Infrastructure Monitor Formerly Uptime
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...
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...
Running PowerShell Script as a Scheduled Task
If you need to run a PowerShell script in regular intervals, why not run it as a scheduled task? Here are some lines that help you create a new...
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...