Inhalt

rModule - Windows PowerShell Compatibility Pack

Inhalt

Wer auf der PowerShell Conference in Hannover war hat das neue “rModule” eventuell schon gesehen. Es ist so etwas wie der “Missing Link” zwischen PowerShell Core und Windows PowerShell. Was genau man damit machen kann soll dieser Blogeintrag aufzeigen.

Aktuell (05.06.2018) ist das Module noch nicht in der PowerShell Gallery, was sich laut Steve Lee aber bald ändert. Daher habe ich mir das GitHub Repo runtergeladen und das Modul manuell in eine PowerShell Core importiert. Auch die Namenswahl scheint noch nicht endgültig entschieden.

[UPDATE 07.06.2018] Das Modul WindowsCompatibility ist ab sofort in der PowerShell Gallery [/UPDATE]

Nach dem Import stehen folgende neuen cmdlets zu Verfügung:

/rmodule-windows-powershell-compatibility-pack/images/get-command-WinCompatibilityPack.gif

  • Add-WindowsPSModulePath
  • Add-WinFunction
  • Compare-WinModule
  • Copy-WinModule
  • Get-WinModule
  • Import-WinModule
  • Initialize-WinSession
  • Invoke-WinCommand

Mittels Initialize-WinSession lässt sich eine PSRemoting Session zu einem Windows Computer aufbauen. In meinem Beispiel gebe ich den localhost direkt an, wobei dies der Standard ist.

Anschließend vergleiche ich mit “Compare-WinModule” welche Module in der Remote Session vorhanden sind, jedoch nicht in PowerShell Core.

/rmodule-windows-powershell-compatibility-pack/images/Initialize-WinSession_and_Compare-WinModule.gif

Am Beispiel des cmdlet Get-NetAdapter zeigt das Modul sein Potential, aber auch noch seine Schwächen. Nativ ist das cmdlet in der PowerShell Core nicht vorhanden. Dank Import-WinModule kann jedoch das Modul “NetAdapter” nachgeladen werden. Die Ausführung findet nicht in der PowerShell Core, sondern in der Remote Session und somit in der Windows PowerShell statt.

/rmodule-windows-powershell-compatibility-pack/images/get-netadapter.gif

Leider werden die Objekte noch nicht sauber angezeigt und die Ausgabe ist somit nicht wie gewünscht.

Dank dieser Technologie wird es aber in Zukunft möglich sein, auch als Windows Administrator die meiste Zeit in der PowerShell Core zu verbringen und muss sich nur die fehlenden Module nachladen.