PowerCli unter Powershell 7

von Magnus Witzik

Ein kurzer Überblick über beiden Welten

PowerCli unter Powershell 7

Hintergrund

Mit Einführung von Microsofts PowerShell 7 sind befinden wir uns in der Situation, dass man auf Windows Systemen zwei PowerShell Umgebungen vorfinden kann. Da die Version 5.x als Standard mit einer Windows 10 / Server 20XX Installation ausgeliefert wird, während man die Version 7.X.X separat nachinstallieren muss.

Man könnte jetzt annehmen, dass dies einen bei der Nutzung einer bereits installierten PowerCLi nicht weiter stören würde. Werfen wir einen kurzen Blick darauf, warum:

  • PowerShell 5.X verwendet den Pfad "C:\Program Files\WindowsPowerShell\Modules" für Modul Installationen im "all Users / Computer" Scope.
  • PowerShell 7.X verwendet wiederum den Pfad "C:\Program Files\PowerShell\Modules" für Modul Installationen im "all Users / Computer" Scope.

So ist eine übergreifende Nutzung von Modulen, welche in den jeweiligen Versionen verwendet werden, nicht gewährleistet.

Die Installation des PowerCli Moduls selbst ist sehr einfach, wie wir alle wissen. Simpel mit

Install-Module -Name VMware.PowerCLI

würde die Installation durchgeführt werden.

Doch hier hat uns Microsoft einen kleinen Stolperstein in den Weg gelegt:

Per Default ist die PowerShell Gallery nämlich "untrusted". Somit würden wir die Meldung erhalten:

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"):

Also ändern wir die Vertrauensstellung der PowerShell Gallery erst einmal mit

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

und dann sollte das Ergebnis wie folgt aussehen:

Get-PSRepository -Name PSGallery                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Name                      InstallationPolicy   SourceLocation                                                                                                                                                                                                            ----                      ------------------   --------------
PSGallery                 Trusted              https://www.powershellgallery.com/api/v2 

Um die Installation kurz zu überprüfen, geben wir einfach ein:

Get-Module -ListAvailable -Name VMware.Pow* | Format-Table -AutoSize

Und schon sollte wir einen entsprechenden Output erhalten:

 Directory: C:\Users\Magnus Witzik\Documents\PowerShell\Modules
ModuleType Version         PreRelease Name            PSEdition ExportedCommands
---------- -------         ---------- ----            --------- ----------------
Manifest   12.2.0.17538434            VMware.PowerCLI Desk

Wir sehen, dass die PowerCli nun auch unter Powershell 7 problemlos und wie gewohnt arbeitet.

Warum sollten Sie überhaupt auf die Powershell 7 setzen, wo doch bequemerweise die Version 5 mit Windows aktuell noch überall ausgeliefert wird?

Das ist recht einfach umrissen: Die Version 5 ist von Microsoft als "Legacy" deklariert worden. In der Praxis bedeutet dies, dass Version 5 nur mehr Security Updates und kritische Bugfixes erhalten wird. Und auch das sicherlich nicht unbegrenzt.

Wenn die Skripte also zukunftstauglich bleiben sollen, dann setzt man sich mit den Änderungen der Version 7 besser früher als später auseinander.

Zurück zur Newsübersicht

Kommentare

Einen Kommentar schreiben

Was ist die Summe aus 4 und 8?