Mit dem Erscheinen von Windows Server 2016 und Windows 10 hat Microsoft eine neue leistungsstarke Funktion eingeführt, die für alle interessant ist, welche Remote-Aufgaben mit virtuellen Maschinen erledigen möchten. PowerShell Direct ermöglicht es IT-Administratoren, PowerShell-Sitzungen innerhalb einer virtuellen Maschine von Hyper-V aus im Direktmodus auszuführen, ohne Netzwerk oder ähnliches. Dies bedeutet, dass Sie ein Skript auch dann aufrufen können, wenn das Netzwerk nicht verfügbar ist; ebenso wenn die Hosts von Server/Clients getrennt sin oder es keine Möglichkeit gibt, eine Remotesitzung von PowerShell aufgrund fehlender Sicherheitsrichtlinien zu öffnen. Aus diesem Grund ist gut, von PowerShell Direct zu wissen.
Anforderungen
Damit Sie PowerShell Direct verwenden können, ist es erforderlich, diese Anforderungen zu beachten:
- Die virtuelle Maschine muss unter Windows 10 oder Windows Server 2016 laufen.
- Die virtuelle Maschine muss auf demselben Host laufen, auf welchem Sie die Sitzung öffnen möchten.
- Die virtuelle Maschine muss mindestens ein gültiges Benutzerprofil konfiguriert haben.
- Die Sitzung muss als lokaler Administrator des Hyper-V-Hosts geöffnet werden.
- Sie benötigen gültige Anmeldedaten für die virtuelle Maschine.
Erstellen einer Remote Session
Um eine neue Session zu eröffnen, wverwenden Sie den Befehl Enter-PSSession -VMName yourvm – wie in Abbildung 1 abgebildet.
Abbildung 1 – Neue PS Session
Sobald Sie sich innerhalb der Sitzung befinden, können Sie in der virtuellen Maschine arbeiten und PowerShell-Cmdlets auf dieselbe Weise lokal ausführen, d.h. Sie können die installierten PS-Module verwenden; wie in Abbildung 2 dargestellt, können wir problemlos Docker-Befehle verwenden, auch wenn die Rolle in Hyper-V Host nicht vorhanden ist.
Abbildung 2 – Remote Befehle
Hinweis: Bitte beachten Sie, dass alle auf Enter-PSSession basierenden Verbindungen temporär sind, was bedeutet, dass Sie, wenn Sie das Fenster schließen, die Anmeldeinformationen erneut eingeben müssen.
Ausführen komplexer Fehler
Die klassische Verbindung kann verwendet werden, um einfache und einfache Aufgaben auszuführen, während, wenn Sie erweiterte Skripte ausführen müssen, der Invoke-Command verwendet werden kann. Dieses Cmdlet ist perfekt, um einen Skriptsystem auszuführen, das in einem Repository gespeichert ist (lokal oder entfernt). Es ist möglich, zwei Arten von Methoden zu verwenden:
- Befehl: Invoke-Command -VMName nomevm -ScriptBlock { Get-Service }
- Skript: Invoke-Command -VMName nomevm -FilePath “C:\hyperv-folder\script.ps1”
Abbildung 3 – Invoke Command
Dateien kopieren
Nicht nur Befehl oder Skript, sondern auch eine Möglichkeit, Dateien vom Host auf die virtuelle Maschine zu übertragen. Dies kann mit dem Cmdlet Copy-Item erreicht werden, aber es ist erforderlich, eine persistente Sitzung zu öffnen, um eine Unterbrechung zu vermeiden, falls Sie das Fenster schließen; Ziel ist es, immer die gleiche Sitzung zu verwenden, ohne die Anmeldeinformationen erneut einzufügen. Hier ein Beispiel:
$VM = New-PSSession -VMName nomevm -Credential (Get-Credential)
Copy-Item -ToSession $VM -Path C:\hyperv-folder\app.exe -Destination C:\guest-vm\
Abbildung 4 – Datei kopieren
Die Performance dieser Aufgabe ist interessant, denn dank des VMBus können wir alle Treiber und Layer überspringen, um die Kommunikation zu erleichtern. Das Ergebnis ist eine Hochgeschwindigkeitskopie, jedoch sollten Sie nicht vergessen, zu berücksichtigen, welche Art von Datei Sie übertragen möchten und welche VM-Leistung sie benötigen (eine.vhdx-Datei, die sich auf einer SSD befindet, ist viel schneller als SATA).
Fazit
PowerShell Direct ermöglicht es IT-Administratoren, die Verwaltungsaufgaben auszuführen und zu automatisieren, ohne dass sie mit dem Betriebssystem über die GUI interagieren müssen.
(Englisch, Italienisch, Französisch, Spanisch, Portugiesisch, Brasilien)
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
**********************************************************************************
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
*****************************************