All PowerShell Versions Sometimes, you may have to evaluate system log files that have been exported to disk, or you want to read a system log file...
Powershell
WMI Search Tool
All PowerShell Versions WMI is a great and powerful technique: simply specify a WMI class name, and back you get all the instances of that class:...
List All Information
All PowerShell Versions Most of the time, PowerShell will not show you the complete results that you get from cmdlets. Instead, PowerShell limits...
Getting US ZIP Codes
All PowerShell Versions Ever wanted to find out the ZIP code of a city, or vice versa find out the city that belongs to a ZIP code? Then simply ask...
Reading Registry Values with Type
All PowerShell Versions Reading all registry values is simple when you do not need the data type: simply use Get-ItemProperty: Get-ItemProperty...
Finding Files plus Errors
All PowerShell Versions When you use Get-ChildItem to recursively search directory paths for files, you may stumble across subfolders where you do...
Finding Changeable Properties
All PowerShell Versions When you get back results from PowerShell cmdlets, the results are objects and have properties. Some properties can be...
Getting a Variable Inventory
PowerShell ISE 3 and later For documentation purposes, you may want to get a list of all variables that a PowerShell script uses. Here is a function...
Renaming Variables
PowerShell ISE 3 and later Here is a simple variable renaming function that you can use in the built-in ISE editor that ships with PowerShell 3 and...
Normalizing Line Endings
All PowerShell Versions When you download files from the Internet, you may run into situations where the file won’t open correctly in editors....
Identifying Network Vendors by MAC Address
All PowerShell Versions Each MAC address uniquely identifies a network device. The MAC address is assigned by a network equipment vendor. So you can...
Getting MAC Addresses
All PowerShell Versions Getting the MAC of a network adapter is rather simple in PowerShell. Here is one of many ways: PS> getmac /FO CSV |...
Advanced Text Splitting
All PowerShell Versions When you use the –split operator to split text, then the split text is consumed: PS> 'Hello, this is a text,...
Text Splitting
All PowerShell Versions With the –split operator, you can split text at given locations. The operator expects a regular expression, so if you...
Replacing Duplicate Spaces
All PowerShell Versions To eliminate any duplicate space, try this regular expression: PS> '[ Man, it works! ]' -replace...
Creating TinyURLs
All PowerShell Versions You probably have heard about shortening long URLs. There are plenty of free services available. Here is a script that turns...
Finding PowerShell Functions
PowerShell 3.0 and later To quickly scan your PowerShell script repository and find all files that have a given function in them, try this filter:...
Dumping Service State Information
All PowerShell Versions If you would like to save the results of a PowerShell command to disk so that you can take it with you to another machine,...
Comparing Service Configuration
PowerShell 3 and later Provided you have PowerShell remoting up and running on two servers, here is a simple script that illustrates how you can get...
Download PowerShell Language Specification
All PowerShell Versions With PowerShell, it is really easy to download files from the Internet. Here is the code that downloads the PowerShell...
Waiting for a Keystroke
All PowerShell versions, PowerShell Console only To keep the PowerShell console open when a script is done, you may want to add a “Press Any...
Finding Errors in Scripts
All PowerShell Versions It’s never been easier to find scripts with syntax errors in them. Just use this filter: filter Test-SyntaxError {...
Testing Whether Text Contains Upper Case
All PowerShell Versions Use regular expressions to check whether a string contains at least one upper case letter: $text1 = 'this is all...
Getting the Number of Lines in a String
All PowerShell Versions Here is a clever trick how to find out how many lines a string (not a string array!) contains: $text = @' This is some...