One very simple way of extending PowerShell commands are scripts. To turn a script into a command, pick a folder and store the PowerShell script in...
ps1
Dumping Edge Cookies
If you’d like to find out (or document) the website cookies stored by the Edge browser, PowerShell can dump that information for you. The cookie...
Investigating PowerShell Command Results
When you run into new PowerShell commands, it’s always a good idea to get familiar with the result objects. When you simply run a PowerShell command...
Querying Advanced Printer Info via SNMP
Many network printer support SNMP to query information about the device, i.e. its serial number, the status and paper sizes of installed trays, or...
Subscribing to Session Lock/Unlock Events
Whenever a user on a Windows box locks his or her session, an event is emitted. Another event is emitted when you unlock your session again. Both...
Custom Action for Unknown Commands
Whenever you enter a command name that cannot be found by PowerShell, it can extend the command search by custom actions that you define. Here is a...
Managing File Shares
The Windows operating system ships with the “Storage” PowerShell module which can be used both from Windows PowerShell and PowerShell 7. One of the...
Showing Warning State in Taskbar Button
When your script needs attention, i.e. asking for user input, let’s turn its taskbar button in the Windows taskbar orange so the user immediately...
Showing Error State in Taskbar Button
When your script runs into an error, wouldn’t it be nice if the error state could be visually communicated via taskbar button? If the taskbar button...
Showing Indeterminate Progress in Taskbar Buttons
Occasionally, you do not know the exact progress of your script but you’d still like to inform the user that your script is “busy”. If you run your...
Showing Progress in Taskbar Buttons
If you run your PowerShell scripts on Windows, you can use the taskbar button as a progress indicator. All you need is install this module:...
Loading PFX Certificate Unattendedly
PowerShell comes with a cmdlet named Get-PfxCertificate that you can use to load a certificate plus private key into memory. However, if the...
Asking for Masked Input (Part 1)
Never ever use plain-text input for secrets and passwords – the text entered by the user may be logged and compromised. Always use a masked input....
Accessing Windows Credential Manager
If you need to access credentials (saved passwords) stored by the Windows Credential Manager, the “CredentialManager” module may be helpful for you....
Take Advantage of Your Profile
When PowerShell launches, it automatically looks for a special autostart script. It does not exist by default and is different for each PowerShell...
Using Sysinternals Console Tools via PowerShell (Part 4)
In our previous tips we showed how you can use PowerShell to download, unblock, unzip and then run the Sysinternals console tools from...
Using Sysinternals Console Tools via PowerShell (Part 3)
In our previous tips we showed how you can use PowerShell to download, unblock, unzip and then run the Sysinternals console tools from PowerShell....
Using Sysinternals Console Tools via PowerShell (Part 2)
In our previous tip we used PowerShell to download and set up the Sysinternals suite of console commands. Here is what we did: $destinationZipPath =...
Outputting Color
Occasionally, PowerShell code is supposed to output warnings and reports, so colors can add more readability to it. Traditionally, PowerShell...
Better PowerShell Prompts (Part 2)
In the previous tip we illustrated how you can define your own “prompt” function to customize the PowerShell prompt. One useful item could be to...
Better PowerShell Prompts (Part 1)
I know today’s tip isn’t brand new but considering how many people start using PowerShell, it’s worth mentioning again. By default, the PowerShell...
Reading Recently Installed Software (Improvement #3)
When reading event log data with Get-WinEvent, in the previous tip we explained how you can use the “Properties” property to extract the...
Reading Recently Installed Software (Improvement #2)
In the previous tip we used Get-WinEvent to read the Windows event log system and get a list of recently installed software, then used Select-Object...
Reading Recently Installed Software
The MSI installer logs all successful software installation to the Windows event log system. Here is a one-liner that can read back that...