hyper-v-direct-ssh هي وحدة PowerShell مصممة لإدارة الأجهزة الافتراضية Hyper-V (VMS) وإنشاء اتصالات SSH مباشرة لها. توفر هذه الوحدة وظائف لبدء وإيقاف VMs ، واسترداد معلومات VM ، وضمان تشغيل البرنامج النصي بامتيازات المسؤول.
تأكد من أن لديك امتيازات إدارية على نظامك. يتطلب البرنامج النصي أذونات مرتفعة لإدارة Hyper-V وتنفيذ أوامر معينة.
تأكد من تمكين Hyper-V على نظامك. يمكنك تمكين Hyper-V باستخدام الخطوات التالية:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - Allيتطلب البرنامج النصي PowerShell الإصدار 7 أو أكثر. اتبع هذه الخطوات لتثبيت أو تحديث PowerShell:
تأكد من تثبيت عميل SSH على نظامك. يمكنك تثبيت عميل OpenSsh باتباع هذه الخطوات:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshمحطة مفتوحة.
قم بتشغيل الأمر التالي:
sudo apt-get install openssh-clientأو للتوزيعات المستندة إلى RPM:
sudo yum install openssh-clientsتأكد من تكوين VMS الخاص بك للحصول على عنوان IP ويمكن الوصول إليه عبر SSH. تحقق من إعدادات الشبكة والاتصال قبل تشغيل البرنامج النصي.
احفظ البرنامج النصي كـ VMManagement.ps1 على جهازك المحلي. تأكد من الوصول إلى مسار الملف ولاحظ المسار لتشغيل البرنامج النصي.
VMManagement.ps1 ..VMManagement.ps1 لاستخدام الوحدة النمطية ، احفظ البرنامج النصي كـ VMManagement.ps1 وقم بتشغيله باستخدام PowerShell. تأكد من أن لديك الامتيازات الإدارية اللازمة وأنه يتم تمكين Hyper-V على نظامك.
.VMManagement.ps1Get-Run-AsAdministratorيضمن تشغيل البرنامج النصي بامتيازات المسؤول.
حدود:
ScriptPath : المسار إلى البرنامج النصي الذي يجب تشغيله كمسؤول.مثال:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVيتحقق مما إذا تم تمكين Hyper-V على النظام وتمكينه إن لم يكن كذلك.
مثال:
Enable-HyperV Test-PwshVersionيتحقق إذا كان إصدار PowerShell الحالي هو 7 أو أكثر.
مثال:
Test-PwshVersion Get-VMListيسترجع قائمة بأسماء VM.
مثال:
$vms = Get-VMList Get-VMNameيطالب المستخدم بتحديد VM من قائمة.
مثال:
$vmName = Get-VMName Get-UserNameيطالب المستخدم بإدخال اسم مستخدم لـ SSH.
مثال:
$username = Get-UserName Start-VMInstanceيبدأ VM محدد.
حدود:
vmName : اسم VM للبدء.مثال:
$vm = Start-VMInstance - vmName " MyVM " Add-Dashيضيف شرطات إلى سلسلة كل حرفين.
حدود:
str : السلسلة التي ستضاف إليها الشرطات.مثال:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPيسترجع عنوان IP الخاص بـ VM المحدد.
حدود:
vmObject : كائن VM الذي سيتم استرداد عنوان IP له.مثال:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstanceتوقف VM المحدد.
حدود:
vmName : اسم VM للتوقف.مثال:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionيبدأ اتصال SSH إلى VM المحدد.
حدود:
user : اسم المستخدم لاتصال SSH.vmIP : عنوان IP لـ VM.مثال:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatيتحقق من حالة نبضات القلب من VM المحدد.
حدود:
vmObject : كائن VM الذي سيتم فحص حالة نبضات القلب.مثال:
$heartbeat = Get-VMHeartbeat - vmObject $vm