During all of our travels across the PowerShell and Devops / Winops world we’ve come across code, tools and projects that we find useful or interesting. Below we’ve made an attempt to list some of the more interesting ones, unusual ones, popular ones and some you’ve unlikely to have heard of. I’ve avoided adding the famous ones. This is the list of the not-so famous.

If you have any suggestions or changes for this list, leave us a comment below.

General

  • The VBScript-to-Windows PowerShell Conversion Guide
    This guide aims to help you to translate VBScript to Windows PowerShell. We should point out that this is not intended to be a “word-for-word” translation guide; instead, it’s designed to act as a reference guide as you begin writing your first Windows PowerShell scripts. It takes all the VBScript functions, statements, and operators and shows you, as much as possible, a Windows PowerShell equivalent.

  • Microsoft PowerShell Module Browser
    Search all PowerShell modules and cmdlets from Microsoft.

  • LINQ (LINQ2Objects) for PowerShell for Powershell”)
    Nothing more to be said about this. It’s LINQ for PowerShell!

Build Tools

  • Invoke-Build
    Invoke-Build is a build and test automation tool which invokes tasks defined in PowerShell v2.0+ scripts. It is similar to psake but arguably easier to use and more powerful. It is complete, bug free, well covered by tests.

  • PSDeploy
    This is a quick and dirty module that simplifies deployments. You create a deployment config file, PSDeploy reads it and runs your deployment(s).

  • psake
    psake is a build automation tool written in PowerShell. It avoids the angle-bracket tax associated with executable XML by leveraging the PowerShell syntax in your build scripts. psake has a syntax inspired by rake (aka make in Ruby) and bake (aka make in Boo), but is easier to script because it leverages your existing command-line knowledge.
    psake is pronounced sake – as in Japanese rice wine. It does NOT rhyme with make, bake, or rake.

Testing and Code Analysis

  • PSScriptAnalyzer
    PSScriptAnalyzer is a static code checker for Windows PowerShell modules and scripts. PSScriptAnalyzer checks the quality of Windows PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements. Read PSScriptAnalyzer Deep Dive on The Scripting Guys Blog for a good overview.

Console and Command Line Tools

  • TabExpansionPlusPlus
    Starting with PowerShell version 3.0, there is excellent support for tab expansion and Intellisense, but it is missing some useful features. This module addresses some of those shortcomings. In addition to making it simple to add custom argument completion, TabExpansionPlusPlus provides many useful custom argument completers “out of box” that can also serve as good examples of how to add your own.

  • posh-with
    Program prefixing for continuous workflow using a single tool. Allows you to prefix every subsequent command with a prefix (such as git). Awesomely useful. Has to be used to be appreciated!

  • Jump-Location
    Jump-Location is a powershell implementation of autojump.
    It learns your behavior by keeping track of how long you spend in certain directories and favouring them over the ones you don’t care about. You don’t have to use Jump-Location as a replacement for cd. Use cd to go local, and use Set-JumpLocation to jump further away.

  • peco
    Simplistic interactive filtering tool. peco can be a great tool to filter stuff like logs, process stats, find files, because unlike grep, you can type as you think and look through the current results. Another little tool that you had no idea you needed until you used it!!

  • Get-ChildItemColor
    This is a simple module - it adds colours to the output of Get-ChildItem Cmdlet of PowerShell.
    Get-ChildItemColor Example

  • The Fuck
    Magnificent app which corrects your previous console command.
    The Fuck Example

Regular Expressions

Office 365

  • Office 365 Tools
    A PowerShell module from 365 Dude. It includes several functions for working with Office 365 through PowerShell. Would appreciate member feedback on this as it’s a newish project that we haven’t used!
comments powered by Disqus