In the previous tip, we introduced a function that generates nicely centered headers and accepted a single string. Here is the function and its...
posts-powershell
Creating Aligned Headers
Reporting and writing log files is a common task in PowerShell. Here is a simple function to create nicely centered headers. Adjust $width to the...
Computer Name, DNS Name, and IP Address
Here is a simple one-liner that returns your computers’ current IP address and its full DNS name: PS>...
Managing Windows License Key (Part 4)
Slmgr.vbs is an ancient VBScript used to automate Windows license management. In the previous tip we started bypassing slmgr.vbs by reading the WMI...
Managing Windows License Key (Part 3)
Most Windows license and activation tasks can be automated using an ancient VBScript called slmgr.vbs. It does not make much sense to use this tool...
Managing Windows License Key (Part 2)
Most automated license key management tasks are done via a command called slmgr. This command is actually an ancient VBScript. To read all of your...
Managing Windows License Key
Let’s start this mini-series with a one-liner that extracts your Windows license key: PS> $key = (Get-WmiObject -Class...
Create ASCII Art
It’s amazing how versatile PowerShell is: with just a couple of lines of code, you can turn any photo and image into a piece of ASCII art....
Verifying Local User Account Passwords
In the previous tip, we asked Active Directory to validate user account passwords. The same can be done with local accounts. Your PowerShell code...
Verifying Domain Account Passwords
PowerShell can easily verify a password against a domain account. In other words, you can bind script logic to passwords maintained in Active...
Waiting for a Service Status Change
Whenever you start or stop a service, it may take some time for the service to actually adopt the desired state – or it can of course fail....
Converting Text to Image
WPF (Windows Presentation Foundation)is not just a technique to create UIs. You can create any type of vector-based graphics composition and save it...
Converting IEEE754 (Float) (Part 2)
Yesterday we looked at how PowerShell can turn IEEE754 floating point values returned by a sensor into the actual value. This involved reversing the...
Converting IEEE754 (Float) (Part 1)
PowerShell is extremely versatile and nowadays often used with IoT and sensors as well. Some return values in IEEE754 float format which typically...
Be Careful With “Throw” Statements (Part 2)
In the previous tip we explained how the throw statement can be influenced by $ErrorActionPreference set to “SilentlyContinue”, and that throw will...
Be Careful With “Throw” Statements (Part 1)
Throw is a PowerShell statement that emits an exception to the caller and then exits the code. At least in theory. In the real world, throw might...
Reading News Feeds
Here’s a special service to users with German language skills – and a challenge to adjust the code for everyone else: the code below...
Enabling Preview of PowerShell Files in Windows Explorer
When you view PowerShell scripts in Windows Explorer and have the preview pane open, by default you don’t get a code preview for your script...
Removing Empty Array Elements (Part 2)
If you want to eliminate completely empty array elements (and do not need to focus on empty properties), here are some approaches with fundamentally...
Removing Empty Array Elements (Part 1)
Occasionally you come across lists (arrays) with empty elements. What’s the best way of removing empty elements? Let’s first focus on a...
“Dangerous” Comparisons
Let’s assume in an array you want to get rid of all elements that are either empty or null. This is what many would do: PS>...
Calculating First and Last Day of Month
For reporting and similar use cases, scripts may require the first and last day in a given month. The first day is easy, yet the last day depends on...
Formatting a DateTime
Whenever you have a true DateTime (and not a string, for example), you have plenty of powerful ways to format. You can get DateTime objects...
Extracting Windows Installation Date
Ever wondered how old your Windows installation is? A one-liner can tell: PS> (Get-CimInstance -Class Win32_OperatingSystem).InstallDate Freitag,...