Archiv der Kategorie: Windows Tutorials

Windows Application Integrations Advanced Workarounds Tutorials Enhancements unblog technical contribution for professionals.

Visual Studio PowerShell Hands-on

In PowerShell entwickeln mit Visual Studio

Visual Studio PowerShell

Visual Studio 2017 unterstützt die Programmierung in mehreren Sprachen, im Build-in ist Visual C#, C/C++ und F#. Weitere Sprachen wie JavaScript oder Python können nachgeladen werden. Möchte man mit PowerShell Scripte arbeiten, benötigt man die PowerShell-Tools, diese können über den Visual Studio Installer (vs_installer.exe) hinzugefügt werden, über den VS Installer kann die Arbeitsumgebung nach der Installation angepasst werden, einzelne Komponenten können hinzugefügt oder entfernt werden.

PowerShell Codetools

Um die PowerShell Codetools zu laden geht man im Installer auf das Menu Einzelne Komponenten und zum Abschnitt Codetools, aktiviert PowerShell-Tools und klickt auf ändern.

Visual Studio PowerShell

Nach dem hinzufügen der PowerShell-Tools können Scripte mit F5 im Debugger ausgeführt werden.

Visual Studio PowerShell Debugger

Anmerkung

Visual Studio ist eine von Microsoft angebotene integrierte Entwicklungsumgebung für verschiedene Programmiersprachen.

Programmiersprachen

Die aktuelle Version für Windows (Visual Studio 2022) unterstützt Visual Basic .NET, C, C++, C++/CLI, C++/CX, C#, F#, SQL Server, TypeScript und Python sowie HTML, JavaScript und CSS für die Entwicklung von Webanwendungen, Windows-Desktop- und Windows-Store-Apps. Visual Studio ermöglicht es Programmierern, sowohl native Win32/Win64-Programme als auch Anwendungen für das .NET Framework zu entwickeln. Darüber hinaus lassen sich mit Visual Studio Windows-Apps, dynamische Webseiten bzw. Webservices für das Internet/Intranet oder Azure-Services entwickeln. Ein weiterer Schwerpunkt liegt in der Entwicklung von mobilen Apps für Windows Phone, Android und iOS mit durch Xamarin bereitgestellten Tools.

Entwicklungsumgebung

Visual Studio gilt als komfortable Entwicklungsumgebung mit vielen Funktionen. Der Editor unterstützt z. B. eine von der Cursorposition abhängige Online-Hilfe, das Ein- und Ausblenden von Codeblöcken, farbliche Hervorhebung von Schlüsselwörtern, automatische Syntaxprüfung und IntelliSense, die automatische Methoden- und Funktionsergänzung während der Quelltext-Eingabe. Des Weiteren bietet die Entwicklungsumgebung grafische Schnittstellen zur Einbindung von Webservices, ActiveX- und .NET-Bibliotheken, einen „Server-Explorer“ zum Zugriff auf Datenquellen wie z. B. Microsoft SQL Server, den Windows-Nachrichtendienst oder WMI, sowie WYSIWYG-Editoren zur Entwicklung der Benutzeroberfläche von Windows- und Web-Anwendungen, zur Bearbeitung von Icons und von XML-Dokumenten.

SSH mit PowerShell

Wie Microsoft bekannt gab, wird SSH durch PowerShell in Windows 10 unterstützt werden

Dabei handelt es sich um eine Drittanbieter-Lösungen namens Posh-SSH. Um SSH nutzen zu können, muss zuerst das Posh-SSH Modul aus der PowerShell Gallery installieren werden. Erforderlich ist das Windows 10 zur Anwendung kommt, oder dass das Windows Management Framework 5 installiert ist.

Install-Module Posh-SSH

Posh-SSH kann wie folgt als Administrator installiert werden.

Install-Module Posh-SSH
Get-Command -Module Posh-SSH
New-SSHSession -ComputerName "192.168.12.34" -Credential (Get-Credential)
Invoke-SSHCommand -Index 0 -Command "uname -a"

Damit ist es möglich Befehle auf dem Linux Host auszuführen und Dateien zu kopieren.

PoshSSH, SSH mit PowerShell

Posh-SSH ist ein Modul für die Automatisierung von Aufgaben gegen das System mit dem SSH-Protokoll (OpenSSH). Das Modul unterstützt nur eine Teilmenge der Fähigkeiten, diese in RFCs https://de.wikipedia.org/wiki/Secure_Shell definiert sind.

WinRM PowerShell-Remoting

In der Regel wird beim PowerShell-Remoting für die Aushandlung der Verbindung und den Datentransport WinRM verwendet. SSH ist jetzt für Linux- und Windows-Plattformen verfügbar und ermöglicht echtes PowerShell-Remoting für mehrere Plattformen.

WinRM bietet ein stabiles Hostingmodell für PowerShell-Remotesitzungen. SSH-basiertes Remoting unterstützt derzeit nicht die Remotekonfiguration von Endpunkten und JEA (Just Enough Administration, minimale Verwaltung).

SSH-Remoting

Mithilfe von SSH-Remoting können Sie grundlegendes PowerShell-Remoting von Sitzungen zwischen Windows- und Linux-Computern ausführen. SSH-Remoting erstellt einen PowerShell-Hostprozess als SSH-Subsystem auf dem Zielcomputer. Schließlich implementieren wir ein allgemeines mit WinRM vergleichbares Hostingmodell, um die Endpunktkonfiguration und JEA zu unterstützen.

PowerShell SSH Cmdlets

Die Cmdlets New-PSSession, Enter-PSSession und Invoke-Command verfügen nun über einen neuen Parameter, der diese neue Remotingverbindung unterstützt.

Fazit

Ab Windows 10 1907 wurde OpenSSH verfügbar, das auch in Windows 11 verfügbar ist und aus Programme und Features bereitgestellt wird.