PowerShell can turn regular folders into ISO files. ISO files are binary files that can be mounted and then behave like a read-only CD-ROM drive. In...
powertips
Progress Bar Tricks (Part 4)
Due to popular request, here is a code that illustrates how you can use nested progress bars and show a "real" progress indicator for each task your...
Progress Bar Tricks (Part 3)
PowerShell's built-in progress bar can be nested, showing one progress bar per task. For this to work, assign distinct ID numbers to your progress...
Progress Bar Tricks (Part 2)
Publishing on – Mon May 15 The built-in PowerShell progress bar supports a “real” progress indicator provided you submit a “percentCompleted” value...
Progress Bar Tricks (Part 1)
PowerShell comes with a built-in progress bar. It typically automatically disappears when your script is done: Write-Progress -Activity 'I am busy'...
Listing Active Domain Controller
If your machine is connected to a domain, you can use PowerShell to identify the domain controller you are connected to. Either use this command:...
Listing All Domain Controllers
To get a quick list of all of your domain controllers, run this one-liner: Get-AdDomainController -Filter * | Select-Object -Property Name, Domain,...
Permanently Deleting Hard Drive Content
When you delete files on storage media like hard drives or USB sticks, as you probably know, the data is not immediately deleted. Instead, the data...
Undeleting Office365 Mailboxes (Part 2)
Let’s assume someone left the company, and you deleted its Office365 user account. As it turns out, this also deletes the attached mailbox. If you...
Undeleting Office365 Mailboxes (Part 1)
If you have deleted a Office365 user account and then realize that you still need the data in its mailbox, you may be able to recover the mailbox....
Renaming Properties (Simple)
Select-Object can not just select properties but also rename. Let’s assume you need a list of files in a folder with their size. This line would...
Common Pitfall and Strange Results: Comparison Operator
Can you spot what’s wrong in the code below? $result = 'NO' if ($result = 'YES') { 'Result: YES' } else { 'Result: NO' } It always returns “Result:...
PowerShell Deprecations (Part 2: Remote PowerShell (RPS) in Exchange Online)
PowerShell cmdlets in Exchange Online use “Remote PowerShell” as a remoting technology which is a legacy technology with security risks in today’s...
PowerShell Deprecations (Part 1: PowerShell 2.0)
Windows PowerShell 2.0 is still part of any Windows PowerShell for backwards compatibility, and when enabled, it is a serious security risk –...
Richer Printer Information
Get-Printer returns basic information about all local printers. When you add the switch parameter -Full, it returns even more detailed information...
Solving Problems with PowerShell (Part 4)
PowerShell offers you a plentitude of approaches to solve a task. They always boil down to the same strategies. In this mini-series, we will...
Solving Problems with PowerShell (Part 3)
PowerShell offers you a plentitude of approaches to solve a task. They always boil down to the same strategies. In this mini-series, we will...
Solving Problems with PowerShell (Part 2)
PowerShell offers you a plentitude of approaches to solve a task. They always boil down to the same strategies. In this mini-series, we will...
Solving Problems with PowerShell (Part 1)
PowerShell offers you a plentitude of approaches to solve a task. They always boil down to the same strategies. In this mini-series, we will...
Super-Fast Network-Printer Inventory
In our previous tips we introduced all kinds of useful PowerShell functions to ping, scan ports, or contact SNMP devices. Today, it’s time to take a...
Super-Fast Network Scans (Part 3)
In our previous tips we created two fast functions to ping and port-scan remote systems: Test-Ping and Test-RemotePort: function Test-RemotePort {...
Super-Fast Network Scans (Part 2)
In our previous tip we looked at Test-NetConnection and found that it was way too slow, so we replaced it by a much faster Test-RemotePort function....
Super-Fast Network Scans (Part 1)
Port scans can be useful to identify devices or machines in your network, i.e. file servers (port 445), PowerShell remoting targets (port 5985), or...
Creating IPv4 Network Range
Here is a PowerShell code snippet that creates a list of IPv4 addresses for a given segment. You just specify the start and end address: $From =...