In the previous example we looked at how numeric HTTP response codes can automatically be converted to descriptive text, simply by converting them...
powertips
Converting HTTP Response Codes
In the previous example we created a small PowerShell function that checks web site availability, and as part of the test results, a HTTP response...
Test Web Site Availability
When a web site is unavailable, often the question is whether it’s you, or whether the web site is generally down for everyone else, too....
Unit Conversion via Web Service
Accessing RESTful web services is trivial for PowerShell: simply send your input data to a public web service, and receive the results. Here are...
Validating Active Directory Credentials
PowerShell can validate AD username and passwords against the Active Directory: Add-Type -AssemblyName System.DirectoryServices.AccountManagement...
Numbering Output (Part 1)
If you’d like to add an incrementing number to your output, here is a simple way: Get-Process | Select-Object -Property '#',...
Accepting Masked Passwords
If you ever write PowerShell functions that need to accept sensitive input such as passwords, make sure you allow users to submit SecureString...
Finding Hidden PowerShell Applications
The most widely known PowerShell hosts are certainly powershell.exe and powershell_ise.exe because they ship out-of-the-box. However, there can be...
Controlling Processor Affinity
Most modern computers have more than one processor, either physical or logical. If you’d like to find out the number of processors, here is a...
Dumping All Passwords from Chrome
In the previous tip we illustrated how you can dump all passwords from your personal Windows Password Vault. The same is true for basically any...
Dumping Personal Passwords from Windows
Windows has a protected password vault where it can store your secret passwords so you don’t have to always enter them manually in Internet...
Installing Google Chrome via PowerShell
To download and install the Google Chrome browser, simply combine a couple of generic PowerShell commands: $Installer =...
Using Pop-up Dialogs that Are Always Visible
In the previous tip we used an old COM technique to display a pop-up box with a built-in timeout. That worked pretty well except that the dialog box...
Use Hash Tables to Make Code Readable
Maybe you stumbled across code like this in the past: $shell = New-Object -ComObject WScript.Shell $value = $shell.Popup('Restart...
Increasing Pipeline Speed
The PowerShell pipeline tends to be slow when it is processing a lot of elements. This can take a lot of time: $result = 1..15000 | ForEach-Object {...
Detecting Key Presses
It may be useful for PowerShell to know whether a given key is currently pressed. This way, your profile script could, for example, do things during...
Overriding Out-Default (Part 3)
Advanced PowerShell users often find themselves doing one of three things: They run a previous command and add Get-Member to learn more about the...
Overriding Out-Default (Part 2)
When you override Out-Default to do something meaningful, you really want to make sure the old behavior isn’t lost, and instead just something...
Overriding Out-Default (Part 1)
Out-Default is a hidden PowerShell cmdlet that gets called at the end of each command, and outputs results to the console. You can override this...
Use Out-GridView as Output Window
Typically, Out-GridView opens a window and displays whatever you pipe into the cmdlet: PS C:\> Get-Service | Out-GridView However, with a little...
Beer Challenge Results: Shortest Code for Password Analysis
At psconf.eu there was recently a challenge for the shortest code to check for how often a password was previously pwnd (hacked). Here is the result...
Geocoding: Sentiment Analysis (Part 5)
Some geocoding APIs provide sophisticated sentiment analysis like in the example below: "Most important museums of Amsterdam are located on the...
Geocoding: Text Scanning (Part 4)
Geocoding can automatically extract geolocations from text. This example also shows a new way of submitting information to a server: in the example...
Geocoding: Converting Lat/Long to Addresses (Part 3)
Today, we’d like to do the opposite and translate latitude and longitude into an address: '52.37799,9.75195' | ForEach-Object -Begin...