Microsoft announces Az Predictor for PowerShell

Get a free Techzine subscription!

Command line helper will help casual users better use cmdlets in PowerShell.

Microsoft this week announced the release of Az Predictor, an intelligent command completion module for Azure Powershell. Az Predictor helps Azure developers find the cmdlet they are looking for efficiently, identify the required parameters quickly, and experience fewer errors.

The Azure PowerShell modules expose over 4,000 cmdlets and, on average, ten parameters per cmdlet. Experienced PowerShell users will find the right cmdlet and parameter to achieve their goal, but casual users may struggle.

Damien Caro, Program Manager at Microsoft, announced the release in a blog post this week. “We worked closely with the PowerShell team to have Az be the first module that leverages this new interface and bring suggestions to the developer’s fingertips,” he said.

Context sensitivity adds speed

Rather than requiring a user to refer to the documentation or help file, Az Predictor provides a simple listview mode. This mode shows the user several suggestions below the command line with the complete parameter set displayed. There is also an inline mode shows a suggestion in faint text on the command line as the user types.

The inline view and list view modes are provided by PSReadline to manage the user’s interactions. The plugin actuallly provides the suggestions to be used by PSReadline.

The Az Predictor is also aware of the context of each user’s sessions. So rather than simply displaying a list of matches, the tool will make more appropriate suggestions as time progresses.

“With Az Predictor’s context-aware suggestions users will be guided through the discovery of cmdlets and will not need to go to the online help as often,” writes Caro.

Az Predictor is currently a module in preview in the PowerShell gallery. Caro says that Microsoft are looking for feedback on this first preview. Based on what they will hear from customers, they are considering making it part of the Az wrapper module.