WMI (Windows Management Instrumentation) is part of any Windows operating system and a common and widely used way of getting information about a...
ps1
Converting Word Documents from .doc to .docx (Part 2)
Converting old Word documents to the new .docx format can be a lot of work, and in part 1 you learned the basic steps to automate conversion....
Converting Word Documents from .doc to .docx (Part 1)
Converting old Word documents to the new .docx format can be a lot of work. Thanks to PowerShell, you can automate the conversion: function...
Exploring PowerShell Modules
Most PowerShell commands live in modules, and by adding new modules, you can add new commands to your PowerShell environment. To find out whether a...
WMI Explorer
WMI (Windows Management Instrumentation) is a great information source: you can find almost any information about your computer somewhere. The hard...
Turning Objects into Hash Tables
Often, a single object needs to be examined, i.e. a process or an Active Directory user. When you display an object in a grid view window such as...
Object Magic (Part 4)
How about turning a single object into a hash table? This way, you can display one object property per line when you output the object in a grid...
Object Magic (Part 3)
Let’s assume you want to hide all object properties that have no value (are empty). Here is a simple approach: # get any object $object =...
Object Magic (Part 2)
Via the secret “PSObject” property, you can get detailed information about object members. For example, if you’d like to know...
Object Magic (Part 1)
In PowerShell, most data are represented as PSObjects, a specific object “wrapper” added by PowerShell. To get to this specific wrapper,...
Encrypting Text (Part 2)
This is the second part of our text encryption/decryption series. In the first part you learned how you can safely encrypt text on a machine. Now...
Encrypting Text (Part 1)
Let’s take a look at a safe way of encrypting text on a computer. The below Protect-Text function takes any text and encrypts it...
Creating NT4 Password Hashes
Internally, Active Directory stores all passwords as so-called NTLM Hashes. There are a number of security-analysis tools that can read and dump...
Simple PowerShell Chat
Here’s a fun PowerShell script that you can use to create a simple multi-channel chat room. All you need is a network share where everyone has...
Testing Password Strength
In previous tips, we already talked about services such as haveIbeenpwned.com. They harvest leaked passwords from previous hacker attacks so you can...
Converting SecureString to Text
It can be very useful to be able to convert an encrypted SecureString back to a plain text. This way, for example, you can use PowerShell’s...
Embedding Binaries (Pictures, DLLs) in PowerShell Scripts
If your script requires external binary resources such as picture files or DLLs, you can of course ship them together with your script. You could,...
Built-In SSH support in Windows 10
In October 2018, a Windows 10 update added built-in SSH support to Windows 10. From now on, Windows 10 ships with a command-line tool called “ssh”....
Playing with Latest PowerShell Core Version
In the previous tip we illustrated how you can download a PowerShell script which automatically downloads the latest version of PowerShell Core....
Installing PowerShell Core
As you probably know, Windows PowerShell (the one shipping in Windows) is done, and all efforts go into development of the new cross-platform...
Finding Public IP Address
Here is a one-liner that retrieves your current public IP address: PS> Invoke-RestMethod -Uri http://ipinfo.io ip : 87.153.224.209 hostname :...
Real-Time Log Processing
PowerShell comes with a powerful yet simple way of monitoring file changes. Let’s assume you have a log file that changes every now and then....
Detecting Storage Issues
In Windows 10 and Windows Server 2016, PowerShell can access storage reliability data so you can find out whether there is something wrong with one...
Resetting Winsock
PowerShell can execute internal PowerShell commands and also regular console commands, so it’s not a bad thing to continue to use console...