If you need to run selected parts of your script with Administrator privileges, you could temporarily launch a second PowerShell with Administrator...
ps1
Finding Drive Letters
Here is a simple function to find out the reserved drive letters: #requires -Version 3 function Get-DriveLetter { (Get-WmiObject -Class...
Quickly Setting Multiple Environment Variables
To quickly (and permanently) set a bunch of environment variables, here is a nice approach: $hashtable = @{ Name = 'Weltner' ID = 12 Ort =...
Quickly Finding Scripts
To quickly locate a PowerShell script anywhere in your MyDocuments folder, take a look at this Find-Script function: #requires -Version 3 function...
Hiding Variable Content
When you override the ToString() method of an object you control how this object is displayed. The object content stays untouched, though: $a = 123...
Adding Additional Information to Objects
When you retrieve results, you may want to add additional properties to the results so later you know where they came from. Attaching additional...
Appending Extra Information to Primitive Data Types
Maybe you'd like to tag a variable and provide some extra information. In PowerShell, use Add-Member and attach NoteProperties or ScriptProperties...
Simple Replacement for INI Files
If you'd like to keep settings outside of your script and store them in a separate config file, then you can use all kinds of data formats for...
Remove Array Elements
Did you ever need to compare two arrays? Compare-Object might help. Check this out: $array1 = 1..100 $array2 = 2,4,80,98 Compare-Object...
Quickly Getting IP Addresses
You want to quickly get a list of IP addresses for your own computer or a network machine? Here is how: #requires -Version 3 $ComputerName =...
Shortening Text
Let's assume you want to chop off some text at the end of a string. This is the traditional approach using string operations: $text = "Some...
Avoid Using Redirection
While you can still use the old redirection operator to write command output to a file, you should rather use PowerShell cmdlets instead. Here is...
Encode PowerShell Commands
When you need to run code as a PowerShell command in a separate powershell.exe, it is not always safe to submit the code. Depending on from where...
Define Multiline Text
When you need to define multiline text, in PowerShell you typically use here-strings like this: $text = @" I am safe here I can even use...
Current Script Path
In PowerShell 1.0 and 2.0, you needed a lot of weird code to find out the current script location: # make sure the script is saved and NOT...
Discovering Dynamic Parameters
In a previous tip we showed how you find cmdlets that expose dynamic parameters. Let's explore what the dynamic parameters are. The function...
Finding Cmdlets with Dynamic Parameters
Some cmdlets expose dynamic parameters. They are valid only in certain contexts. Get-ChildItem, for example, exposes -File and -Directory only when...
Change ISE Zoom Level
The PowerShell ISE sports a zoom slider at its lower right edge, and you can control this slider with PowerShell code. So you could set defaults for...
Unzipping ZIP Files with any PowerShell Version
If you do not have PowerShell 5.0 and .NET Framework 4.5 is not available, here is an approach to unzip ZIP files that uses the native Windows shell...
Unzipping ZIP Files with PowerShell 3.0 and 4.0
ZIP file support was introduced in PowerShell 5.0, but if you have installed the .NET Framework 4.5 and possibly want more control over the...
Unzipping ZIP Files
In PowerShell 5.0, there is a new cmdlet that can unzip ZIP files: #requires -Version 5 $Source = 'C:\somezipfile.zip' $Destination =...
Finding Computers with PowerShell Remoting
In a previous tip we showed how you can test the network port of a computer. When you have installed the free RSAT tools from Microsoft, you could...
Testing a Network Port
To see whether you can access a remote computer via a given network port, here is a test function called Test-Port; it takes a remote computer name...
Finding Logged On Users
In a previous tip we explained how you find the physically logged on user. In this tip you will see how you can list the current logon sessions,...