Command history can be a great help when you work for a while in a PowerShell session. Each session stores the commands you issued, and you can...
posts-powershell
Getting Last Bootup Time
In PowerShell 3.0 and better, it's trivial to get back real DateTime information from WMI using Get-CimInstance. This would tell you when your...
Copying Arrays (Part 2)
In a previous tip we explained how you can safely "clone" an array using Clone() method. This will copy the content of an array to a new...
Copying Arrays (Part 1)
When you copy variable content, you may just copy the "reference" (memory address), not the content. Take a look at this example: $a =...
Using Encoded Scripts
In VBScript there were encoded scripts. Encoding is by no means a safe way of hiding script content, but it makes it a little harder for users to...
Use try…finally to Execute Code when PowerShell Closes
If you must run some code before PowerShell should exit, you could simply use a try…finally clause like this: try { # some code Start-Sleep...
Using Background Jobs
Background jobs can help speed up your scripts. If your scripts consist of a number of separate tasks that also could run in parallel, then...
Removing Windows 10 Apps
Windows 10 comes with a bunch of preinstalled apps. Fortunately, you can use PowerShell to remove any app you don’t like. You may need...
Fixing Remoting Sender Information
If you use Invoke-Command to remotely execute PowerShell code, you may have noticed that PowerShell remoting adds a new PSComputerName property that...
Setting New Windows Registered Owner
This small piece of code prompts for a new registered owner name, then updates the value in the Windows Registry. Note that this requires...
Downloading Files
Invoke-WebRequest can download files from the internet for you. This example downloads a 33MB public NASA video to your computer, then starts to...
Using Hash Table as Conditional Code Repository
It is routine for scripts to check whether a folder exists, and if it is missing, to create it: #requires -Version 1 $path = 'c:\testfolder'...