PSCore – WindowsCompatibility Module 1.0.0 verfügbar

Liebe Gemeinde !

Nachdem das PS Engineering Team und dort insbesondere Bruce Payette massive Anstrengungen unternommen hat, um die Lücke zwischen Windows Powershell und PowerShell Core zu schließen ist nun das WindowsCompatibility Modul verfügbar. Link

Mit dem Modul ist es möglich, Windows PS Module (Desktop Edition) in PS Core zu laden und zu verwenden.

Wichtig: Auf dem Windows Rechner muss Windows Remoting eingeschaltet sein („Enable-PSRemoting“ als Admin ausführen).

Wie funktioniert das ?

Unter Windows wird eine neue Remoting Session auf die lokale Maschine eröffnet (ausser man gibt einen remote-host an) und die Befehle dann mittels implizitem Remoting ausgeführt.

Die Session heißt dann: „wincompat-localhost-username“

Wenn man Module mit „Import-WinModule“ lädt, werden die in dieser Session geladen. Man kann auch in die Session einsteigen („Enter-PSSession -Id 1“.

Das Modul ist vorerst auf Windows Maschinen freigegeben, da der WinRM Support für PSCore auf mac und Linux noch sehr instabil ist. Ausserdem verlangt das Modul PS Core 6.1

Befehle

Folgene Befehle stehen zur Verfügung:

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

Hier eine kurze Beschreibung was die einzelnen Befehle tun:

  • Add-WinPSModulePath (Alias) und Add-WindowsPSModulePath: fügt den Windows PS Modulpfad zum aktuellen Pfad hinzu.
  • Add-WinFunction: Damit kann man eine Function in der Windows Compatibility Session ausführen.
  • Compare-WinModule: Vergleicht verfügbare gegen geladene Module
  • Copy-WinModule: Kopiert ein Modul in den PS Core Befehlspfad
  • Initialize-WinSession: Erlaubt das Feintuning der Compatibilitätssession
  • Get-WinModule: Zeigt alle verfügbaren Windows Module auf der Maschine an ( die in der Remote Sesison verfügbar sind)
  • Import-WinModule: Laden eines Windows Modules in PS Core
  • Invoke-WinCommand: Einen einzelnen Befehl in der Compatibility Session ausführen

 

Kompatible Module

In der PSM1 Datei von WindowsCompatibility steht eine ganz beachtliche Liste von Modulen die unterstützt werden. Siehe unten:

AppBackgroundTask
AppLocker
Appx
AssignedAccess
BitLocker
BranchCache
CimCmdlets
ConfigCI
Defender
DeliveryOptimization
DFSN
DFSR
DirectAccessClientComponents
Dism
EventTracingManagement
GroupPolicy
Hyper-V
International
IscsiTarget
Kds
MMAgent
MsDtc
NetAdapter
NetConnection
NetSecurity
NetTCPIP
NetworkConnectivityStatus
NetworkControllerDiagnostics
NetworkLoadBalancingClusters
NetworkSwitchManager
NetworkTransition
PKI
PnpDevice
PrintManagement
ProcessMitigations
Provisioning
PSScheduledJob
ScheduledTasks
SecureBoot
SmbShare
Storage
TrustedPlatformModule
VpnClient
Wdac
WindowsDeveloperLicense
WindowsErrorReporting
WindowsSearch
WindowsUpdate

Wir werden weiter testen …

LG/R.