PoshCode

Community resources for PowerShell coders

Connecting the Dots with PowerShell by Warren Frame

Connecting the Dots with PowerShell by Warren Frame

One of PowerShell's greatest strengths is its ability to glue pretty much any technologies together. We'll use that strength to pull data from a number of services, connecting the resulting dots with a graph database that could be used as a lightweight CMDB.

We'll talk about:

  • Different interfaces PowerShell can use, from modules to .NET libraries

  • Graph databases like Neo4j, and how these can be useful for sysadmins

  • A practical (janky) CMDB, and why these can be useful

    Why the topic:

I'm a fan of CMDBs that have useful data. They can drive automation, monitoring and alerting, reporting, and anything else that benefits from visibility.

It just so happens that:

  • This is a great way to illustrate the various ways to talk to things in PowerShell (modules, web APIs, .NET libraries, binaries, etc.)

  • Graph databases are awesome, and map to real life systems more easily than the cumbersome fun of primary keys, foreign keys, and strict schemas

  • Neo4j has a free, cross platform community edition, and there's a simple PowerShell module to work with it

  • We can instill other important lessons, e.g. modules/abstraction, community/sharing

  • We can provide a practical example that folks without a reasonable CMDB could borrow and extend

  • Heavy weight, expensive, actual CMDBs are a poor fit for shops adopting DevOps practices and principles