An abstraction layer for PowerShell