PSEdit: Dateien remote bearbeiten mit PowerShell

    Datei editierenIn der Version 5.0 erhielt die Power­Shell_ISE eine neue Funktion, mit der man Dateien auf einem Remote-Rechner im grafischen Editor bear­beiten kann. Gedacht ist diese Möglich­keit vor allem für Script-Dateien auf einem Server, es lassen sich aber auch andere Text­dateien (*.log oder *.ini) damit öffnen.

    Wenn man eine Datei auf einem entfernten Rechner bearbeiten möchte, dann greift man in den meisten Fällen über eine Netzfreigabe des Remote-Systems auf sie zu und lädt sie in einen lokalen Editor. Alternativ baut man eine RDP-Sitzung auf und nutzt für das Bearbeiten solche Programme, die auf der anderen Maschine verfügbar sind.

    Interessante Option für Nano Server

    Ein derartiges Vorgehen ist manchmal aber umständlich oder gar nicht möglich, beispielsweise dann, wenn man Scripts auf einem Nano Server editieren möchte. Dieser akzeptiert keine Remote­desktop-Verbin­dungen, aber immerhin könnte man über die Admin-Shares auf sein Dateisystem zugreifen.

    Die PowerShell_ISE bietet nun mit PSEdit eine komfortable Alternative. Wenn man ohnehin damit beschäftigt ist, Scripts zu bearbeiten, dann muss man die Entwicklungs­umgebung nicht mehr verlassen, um sie auf einem Remote-Server zu editieren.

    Remote-Session über GUI starten

    Vielmehr erzeugt man im ersten Schritt eine Remote-Session auf dem betreffenden Zielsystem. Dies kann man auf gewohnte Weise explizit über die dafür vorgesehen Cmdlets tun.

    Remote-Session über das Menü Datei öffnen

    Einfacher ist es jedoch, wenn man in der ISE im Menü Datei den Befehl Neue Remote-PowerShell-Registerkarte ausführt. Im folgenden Dialog muss man nur mehr Benutzername und Passwort eingeben.

    Für die Remote-Sitzung in PowerShell_ISE anmelden.

    Anschließend befindet man sich im Kontext des entfernten Rechners, wo man mit Set-Location und Get-ChildItem durch das Dateisystem navigieren bzw. die gewünschten Dateien orten kann. Diese öffnet man dann mit PSEdit, das auch Wildcards akzeptiert:

    PSEdit .\*.ps1

    Dieser Befehl würde alle PowerShell-Scripts aus dem aktuellen Verzeichnis laden, und zwar jedes in einen eigenen Tab.

    Unter älteren Windows-Versionen steht die Funktion standardmäßig nicht zur Verfügung. Sie kann man über das Windows Management Framework nachrüsten, das in der aktuellen Version PowerShell 5.1 enthält.

    Keine Kommentare