PowerShell comes with a built-in progress bar. It typically automatically disappears when your script is done: Write-Progress -Activity 'I am busy'...
posts-powershell
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...
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 =...
Translating Data
Hash tables and dictionaries are perfect lookup tables: whenever your original data contains cryptic numbers or a command returns just numeric...
Automating Defender Antivirus (Part 2)
On Windows, PowerShell comes with cmdlets to automate the built-in antivirus engine “Defender”. In this second part, let’s take a look at how you...
Automating Defender Antivirus (Part 1)
On Windows, PowerShell comes with cmdlets to automate the built-in antivirus engine “Defender”. If you’d like to update the signatures...
Converting Wavelength to RGB
PowerShell is a generic script language so you can do all kinds of stuff with it. Below is a function that takes a light wavelength and converts it...
Storing Any Text Encrypted
Let’s say your script needs sensitive input like connection strings for a database or other text information. One way of managing such secrets is to...