In the previous tip we illustrated how WMI can ping multiple computers in a very fast way. However, the syntax was awkward. So let’s rewrite...
Powershell
Creating Highspeed Ping (Part 2)
In the previous tip we illustrated how WMI can ping computers with a predefined timeout. WMI can do more: it can ping multiple computers lightning...
Updated Free Tool: PowerShell Scripts for SQL Server 5.0: Added Center for Internet Security (CIS) Benchmarks
IDERA released an update of its free tool PowerShell Scripts for SQL Server. This release features 30 new scripts for Center for Internet Security...
Creating High-Speed Ping (Part 1)
Pinging computers is a frequently needed task. The PowerShell cmdlets such as Test-Connection can do pings but do not have a timeout limit, so when...
Getting Help for PowerShell
Provided you have downloaded the PowerShell help files, there is an easy way to get help for all kinds of PowerShell topics. First, make sure you...
Exploiting Select-Object
Select-Object is a basic cmdlet that most PowerShell users use frequently. However, it has some tricks that are not well known. In its most basic...
Reading RunOnce Key
The RunOnce key in the Windows Registry stores all auto-starting executables. It may be empty. To check for auto-starting applications, try this:...
Creating Random Passwords
Here is another small script to produce random passwords consisting of a defined number of capitals, letters, numbers, and special characters:...
Converting PowerShell to Batch
Here is a fun PowerShell function called Convert-PowerShellToBatch. Provide it with the path to a PowerShell script, or pipe in the results from...
Piping Files and Folders
Let’s assume you want to create a function that accepts a file path. There are numerous tasks that can be done with files. You may want to...
Simple WMI Browser
WMI is a powerful information repository – if you know the names of WMI classes: Get-CimInstance -ClassName Win32_BIOS Get-CimInstance...
Finding Nested AD Group Memberships
The following code finds all groups a given Active Directory user is member of (including nested group memberships). The code requires the...
Checking Network Connections
If your machine is connected to the internet (or VPN) via different network connections, depending on where you are, then the following two...
Removing Bloatware from Windows 10
Windows 10 comes with all kinds of preinstalled apps and other features that may feel annoying to some. Richard Newton has created a PowerShell...
Managing FTP via PowerShell
There are no built-in FTP commands in PowerShell, but you can easily download and install a free extension that provides the missing commands. Just...
Formatting Numbers (Part 2)
In the previous tip we introduced the Get-DisplayFileSize function which automatically converts bytes to readable numbers with units such as “KB”...
Formatting Numbers (Part 1)
The following Get-DisplayFileSize function takes any byte value and returns a nicely formatted size, using units like “MB”, “GB”, or “PB”: function...
Filtering Files
You may not have noticed this, but the -Filter parameter on Get-ChildItem (aka dir or ls) is not as specific as you think. The following line should...
Using List View in a Grid View Window (Part 3)
In the previous tip we introduced ConvertObject-ToHashTable which makes it easy to dump objects in a grid view window. The code below is an improved...
Using List View in a Grid View Window (Part 2)
Out-GridView is a useful cmdlet to list many objects. It is not ideal when you just want to display a single object with all of its properties,...
Using List View in a Grid View Window (Part 1)
One of the simplest hardware inventories is probably this line: $data = systeminfo.exe /FO CSV | ConvertFrom-Csv $data | Out-GridView A more modern...
Efficiently Produce Comma-Separated Strings (Part 2)
In the previous tip we showed how you can use the PowerShell command mode to easily create lists of quoted strings. This can be really useful for...
Efficiently Produce Comma-Separated Strings
Here is a super simple approach to create a list of quoted strings: & { "'$($args -join "','")'" } hello this is a test Here is the result:...
Using a Grid View Window as a Selection Dialog (Part 2)
In the previous tip we explained how you can use a hash table to show simple selection dialogs, yet when the user selects an item, return full rich...