Brew
Um am Mac mit der PowerShell zu arbeiten gibt es die Variante Windows in Virtual Machine zu starten, oder aber sehr viel einfacher, direkt im Terminal von macOS zu arbeiten.
Brew ist seit einigen Jahren ein probates Mittel um Programme und Tools auf den Mac zu bringen ohne selbst den Compiler anzuwerfen. Homebrew bezeichnet sich selbst als den fehlenden Paketmanager für macOS:
Homebrew installieren
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Lackmustest
$ brew install wget
Alles Weitere zu brew steht ausführlich auf der Homepage https://brew.sh/
PowerShell installieren
Im geöffneten Terminal/iTerm Folgendes eingeben:
$ brew cask install powershell
Die Aktualität der PowerShell wird einfach mittels
$ brew update
$ brew cask upgrade powershell
sichergestellt und schließlich für alle die, die gerne mit Vorabversionen rumspielen gibt es auch nocht was:
$ brew tap homebrew/cask-versions
$ brew cask install powershell-preview
PowerShell nutzen
Die Installation ist abgeschlossen und die PowerShell kann am macOS Terminal/iTerm genutzt werden.
$ pwsh
Wer die Preview installiert hat tippt stattdessen
pwsh-preview
UPDATE/Hinweis
Warum auch immer (*) habe ich aktuell eine Fehlermeldung beim Verbinden mit Office 365 bekommen:
$ $Creds = Get-Credential$Session = New-PSSession -ConfigurationName Microsoft.Exchange `
-ConnectionUri https://outlook.office365.com/powershell-liveid/ `
-Credential $Creds -Authentication Basic -AllowRedirectionImport-PSSession `
$Session -DisableNameChecking
gibt zurück (der Übersicht geschuldet mit umgebrochenen Zeilen):
$ New-PSSession : This parameter set requires WSMan, and no supported WSMan client
library was found. WSMan is either not installed or unavailable for this system.
At line:1 char:12
+ $Session = New-PSSession -ConfigurationName Microsoft.Exchange -Conne ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId :
System.Management.Automation.Remoting.PSRemotingDataStructureException,
Microsoft.PowerShell.Commands.NewPSSessionCommand
WTF?
Mittels persönlichem Assistenten (@google) lies sich herausfinden, dass der Grund in der Verlinkung einer aktuellen openssl-Version zu suchen ist. Vielleicht etwas vorsichtiger ausgedrückt, mit einer älteren Version von openssl funktioniert alles wie gehabt:
Der Workaround [➡] also (mit Vorsicht zu genießen, da es ja meist einen Grund hat, warum eine neuer Version eines Programms veröffentlicht wird)
$ brew switch openssl 1.0.2t
(*) im Sinne von – irgendein Update hat’s verschmissen. Ob brew, macOS; spielt letztlich auch keine Rolle.