Dass Microsoft den Windows Server Core und die Remoteverwaltung mittels Windows PowerShell immer mehr voranbringen möchte, ist kein Geheimnis mehr. Mit Enter-PSSession lässt sich auch mit der PowerShell eine Remoteverbindung zu einem Server aufbauen. Allerdings ist das auf Dauer doch recht nervig. Einfacher ginge es mit einem passenden Add-On für die Remoteverwaltung, welches der PowerShell ISE hinzugefügt werden kann. Ich habe mir ein solches Add-On geschrieben und möchte dieses hier kurz vorstellen. Hier einmal der Code:
# Rafael Nockmann, 02.11.2018
# https://nocksoft.de/tutorials/powershell-ise-tipp-remoteverwaltung-fuer-server-per-add-on
$psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Clear()
$menuConnectToServer = $psISE.CurrentPowerShellTab.AddOnsMenu.SubMenus.Add("Mit Server verbinden", $null, $null)
[void]$menuConnectToServer.SubMenus.Add(
"Verbinden mit LABDC01",
{
$tab = $psISE.PowerShellTabs.Add()
$tab.DisplayName = "LABDC01"
sleep 1
$tab.Invoke({
$cred = Get-Credential
Enter-PSSession -ComputerName LABDC01 -Credential $cred
})
},
"ctrl+alt+1"
)
Wenn dieser Code in der Windows PowerShell ISE ausgeführt wird, erscheint ein neuer Menüpunkt unter Add-Ons:

Es öffnet sich schließlich ein neuer Tab und es erscheint eine Anmeldemaske um sich am Remotecomputer zu authentifizieren:

So bequem dieses kleine selbstgeschriebene Add-On auch ist, so ärgerlich ist es, dass dieses nach jedem Neustart der PowerShell ISE verschwunden ist. Um das zu verhindern, kann es einfach bei jedem Programmstart über das PowerShell ISE Profil geladen werden. Zunächst ist das PowerShell ISE Profil zu erstellen, falls noch nicht vorhanden:
if (-Not(Test-Path $profile)) { New-Item -ItemType File -Path $profile -Force }
Anschließend kann das Profil bearbeitet und der obige Code eingefügt werden:
psedit $profile

Ab jetzt wird unser Add-On bei jedem Programmstart automatisch geladen.
Weiterführende Links
https://docs.microsoft.com/de-de/powershell/scripting/core-powershell/ise/the-powershelltab-object?view=powershell-6