Kategorien
PowerShell Tutorials

PowerShell ISE Tipp: Remoteverwaltung für Server per Add-On

Getestet wurde dieser Artikel unter PowerShell 5.1.

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 den Add-Ons, welche der PowerShell hinzugefügt werden können. 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

Von Rafael Nockmann

Seit mehreren Jahren begeistere ich mich privat und beruflich für die IT. Das habe ich dann auch zum Anlass genommen, diesen Blog ins Leben zu rufen, um dort praxisnahe Tutorials über verschiedene IT-Themen zu schreiben und meine selbst geschriebene Software zu veröffentlichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.