hyper-v-direct-ssh ist ein PowerShell-Modul, mit dem Hyper-V Virtual Machines (VMs) verwaltet und direkte SSH-Verbindungen zu ihnen hergestellt werden. Dieses Modul bietet Funktionen zum Starten und Stoppen von VMs, zum Abrufen von VM -Informationen und zum sicheren Sicherstellen, dass das Skript mit Administratorberechtigungen ausgeführt wird.
Stellen Sie sicher, dass Sie über administrative Berechtigungen in Ihrem System verfügen. Das Skript erfordert erhöhte Berechtigungen, um Hyper-V zu verwalten und bestimmte Befehle auszuführen.
Stellen Sie sicher, dass Hyper-V in Ihrem System aktiviert ist. Sie können Hyper-V in den folgenden Schritten aktivieren:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - AllDas Skript erfordert PowerShell Version 7 oder höher. Befolgen Sie diese Schritte, um PowerShell zu installieren oder zu aktualisieren:
Stellen Sie sicher, dass der SSH -Client auf Ihrem System installiert ist. Sie können den OpenSSH -Client installieren, indem Sie folgende Schritte befolgen:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshOffenes Terminal.
Führen Sie den folgenden Befehl aus:
sudo apt-get install openssh-clientoder für RPM-basierte Verteilungen:
sudo yum install openssh-clientsStellen Sie sicher, dass Ihre VMs so konfiguriert sind, dass sie eine IP -Adresse erhalten und über SSH zugänglich sind. Überprüfen Sie die Netzwerkeinstellungen und die Konnektivität, bevor Sie das Skript ausführen.
Speichern Sie das Skript als VMManagement.ps1 auf Ihrer lokalen Maschine. Stellen Sie sicher, dass der Dateipfad zugänglich ist, und notieren Sie den Pfad zum Ausführen des Skripts.
VMManagement.ps1 gespeichert wird..VMManagement.ps1 Um das Modul zu verwenden, speichern Sie das Skript als VMManagement.ps1 und führen Sie es mit PowerShell aus. Stellen Sie sicher, dass Sie über die erforderlichen Verwaltungsberechtigungen verfügen und dass Hyper-V in Ihrem System aktiviert ist.
.VMManagement.ps1Get-Run-AsAdministratorStellt sicher, dass das Skript mit Administratorrechten ausgeführt wird.
Parameter:
ScriptPath : Der Pfad zum Skript, der als Administrator ausgeführt werden muss.Beispiel:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVÜberprüft, ob Hyper-V im System aktiviert ist, und es ermöglicht, wenn nicht.
Beispiel:
Enable-HyperV Test-PwshVersionÜberprüft, ob die aktuelle PowerShell -Version 7 oder höher ist.
Beispiel:
Test-PwshVersion Get-VMListRuft eine Liste von VM -Namen ab.
Beispiel:
$vms = Get-VMList Get-VMNameFordert den Benutzer auf, eine VM aus einer Liste auszuwählen.
Beispiel:
$vmName = Get-VMName Get-UserNameFordert den Benutzer auf, einen Benutzernamen für SSH einzugeben.
Beispiel:
$username = Get-UserName Start-VMInstanceStartet eine bestimmte VM.
Parameter:
vmName : Der Name des VM zu beginnen.Beispiel:
$vm = Start-VMInstance - vmName " MyVM " Add-DashFügt Striche zu einer Zeichenfolge alle zwei Zeichen hinzu.
Parameter:
str : Die Zeichenfolge, zu der Striche hinzugefügt werden.Beispiel:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPRuft die IP -Adresse einer angegebenen VM ab.
Parameter:
vmObject : Das VM -Objekt, für das die IP -Adresse abgerufen werden soll.Beispiel:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstanceStoppt eine bestimmte VM.
Parameter:
vmName : Der Name der VM zum Stoppen.Beispiel:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionInitiiert eine SSH -Verbindung zu einer bestimmten VM.
Parameter:
user : Der Benutzername für die SSH -Verbindung.vmIP : Die IP -Adresse der VM.Beispiel:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatÜberprüft den Herzschlagstatus einer angegebenen VM.
Parameter:
vmObject : Das VM -Objekt, auf das der Herzschlagstatus überprüft werden soll.Beispiel:
$heartbeat = Get-VMHeartbeat - vmObject $vm