To get a quick list of all of your domain controllers, run this one-liner: Get-AdDomainController -Filter * | Select-Object -Property Name, Domain,...
Powershell
Categories
- Free tools
- SQL Admin Toolset
- SQL Compliance Manager
- SQL Defrag Manager
- SQL Diagnostic Manager for MySQL
- SQL Diagnostic Manager for SQL Server
- SQL Diagnostic Manager Pro
- SQL Doctor
- SQL Enterprise Job Manager
- SQL Inventory Manager
- SQL Query Tuner for SQL Server
- SQL Safe Backup
- SQL Secure
- SQL Workload Analysis for SQL Server
- Uptime Infrastructure Monitor Formerly Uptime
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 =...
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...
Using Appropriate DataTypes (Part 2)
In part 1 we looked at how data becomes more accessible when converted to a more appropriate .NET data type. If you can't find an existing data type...
Using Appropriate DataTypes (Part 1)
Windows is an API-driven operating system, and PowerShell is, too. Compared to other shells that use plain text as a common denominator and leave it...
Investigating ConfirmImpact (Part 2: Script Author Perspective)
As explained in the previous part, PowerShell uses the $ConfimPreference automatic variable as part of its risk mitigation system: whenever a...
Investigating ConfirmImpact (Part 1: User Perspective)
In PowerShell, the $ConfimPreference variable is set to "High" by default. What does this setting control? PS> $ConfirmPreference High Any...
Picking Best Approach Example Capitalizing Words (Part 4)
In PowerShell, there are four separate sources of commands you can pick from when trying to solve a problem. In this mini-series, we look at all of...
Picking Best Approach: Example Capitalizing Words (Part 3)
In PowerShell, there are four separate sources of commands you can pick from when trying to solve a problem. In this mini-series, we look at all of...
Picking Best Approach: Example Capitalizing Words (Part 2)
In PowerShell, there are four separate sources of commands you can pick from when trying to solve a problem. In this mini-series, we look at all of...