PSDriveProvider

PowerShell nutzt Provider um Zugriff auf Daten zu vereinfachen. Jeder kennt das "Dateisystem" und über die Präfixe "Cert:" oder "HKLM:", "HKCU:" erhält man einfach Zugriff auf Zertifikate und Registrierungsschlüssel. Warum gibt es aber keinen Provider für "Mail:", "Teams:" u.a.  Mit SHiPS könnte sich das ändern.

Vorhandene PSProvider

Zuerst nutze ich mal das Commandlet "Get-PSProvider" um die Provider in einer normalen PowerShell 6 anzuzeigen.

PS C:\> Get-PSProvider

Name                 Capabilities                                      Drives
----                 ------------                                      ------
Registry             ShouldProcess                                     {HKLM, HKCU}
Alias                ShouldProcess                                     {Alias}
Environment          ShouldProcess                                     {Env}
FileSystem           Filter, ShouldProcess, Credentials                {C, D}
Function             ShouldProcess                                     {Function}
Variable             ShouldProcess                                     {Variable}
Certificate          ShouldProcess                                     {Cert}

In der Spalte "Drives" steht das Laufwerk, mit dem Sie sich per Get-Item, CD u.a. arbeiten können. Das geht ganz einfach und ich erspare mir das hier. Starten Sie einfach selbst eine PowerShell und geben Sie mal ein:

dir cert:
dir env:
dir hkcu:

Da alle diese Datenpools wie "Laufwerke" aussehen, können sie sich natürlich auch per "cd" darin bewegen und mit get-item, get-childitem auf die Objekte zugreifen. Mit dem Commandlet "Get-PSDrive" sehen Sie aber noch WSMAN:

PS C:\> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                CurrentLocation
----           ---------     --------- --------      ----                ---------------
Alias                                  Alias
C                 789,47        163,15 FileSystem    C:\                 Users\fcarius
Cert                                   Certificate   \
D                  11,23        107,82 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

PS C:> dir wsman:

   WSManConfig:
ComputerName                                  Type
------------                                  ----
localhost                                     Container

PS C:\> cd wsman:
PS WSMan:\>

Ich kann auch noch einen "dir wsman:" und "cd wsman:" machen aber das "Verzeichnis localhost" kann ich nicht mehr aufmachen.

Der eigene PCProvider SHiPS

Schon viele Jahre habe ich mir überlegt, warum Microsoft nicht auch meine Mailbox per PSDriveProvider verfügbar macht. Mir würde es schon gefallen, wenn ich nicht per EWS oder MAPI durch die Ordner und Mails hangeln müsste, sondern mit Get-Item und Get-ChildItem einfach die Postfachinhalte lesen und ggfls. so gar bearbeiten könnte.

Aber auch andere Datenquellen wie z.B. Active Directory/LDAP, Microsoft Teams, Group-Mailboxen aber auch Konfigurationseinstellungen von Office 365 o.ä. wären interessante Module PSDriveProvider für einen einfachen Zugang.

Aktuell bin ich hier einfach mangels Zeit noch nicht weiter gekommen

Sollten Sie irgendwo einen PSDrive-Provider gefunden haben, den ich hier auflisten sollte, dann schreiben Sie mich bitte an.

Weitere Links