Publishing on – Thur June 22 PowerShell supports a wide variety of text file formats, so what’s the best way to save and read data? In the first two...
ps1
Choosing Best File Format (Part 1)
PowerShell supports a wide variety of text file formats, so what’s the best way to save and read data? This largely depends on the type of data, so...
Test-Driving PowerShellGet Version 3
PowerShellGet is a module and contains important cmdlets such as Install-Module, so this module is really the prerequisite for downloading and...
SpeculationControl: Use PowerShell to Check for Risks
Microsoft released a module a couple of years ago (updated 3 weeks ago) that you can use to identify whether your hardware is vulnerable against...
Getting Parent Culture
Most of the time, localized resources are tagged with a culture name such as “en-us” or “de-de”. If you’d like to know what such an ID stands for,...
Invoke-RestMethod Cancellation Issues
Both Invoke-WebRequest and Invoke-RestMethod are simple-to-use cmdlets to download information from the web. For example, this simple code can query...
Two Type Casts (and one bug)
To explicitly convert one data type to another, PowerShell offers two ways: PS> [int]5.6 6 PS> 5.6 -as [int] 6 While both approaches yield identical...
Mounting ISO Files
In our previous tip we showed how you can easily turn local folders into ISO file images. Today, we look at how you can mount (and dismount) your...
Creating ISO Files
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...
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...