Hyper-V’yi Çalışma Grubu Ortamında Uzaktan Yönetme


Birkaç hafta sonu önce, (görünüşe göre ben bir mazoşistim) ESXi’nin ev laboratuvarımı çalıştıran ücretsiz sürümünden bıktığımı ve Microsoft’un Hyper-V Server 2016’sını denemeye karar verdim.

Hafif olması, PowerShell ile erişilebilir olması ve test AD alanlarının dağıtımını otomatik hale getiren çok sayıda harika Github projesinin olması fikri hoşuma gitti.

Windows dizüstü bilgisayarımda Hyper-V ile biraz oynamıştım ve GUI Hyper-V yöneticisini de beğenmiştim. Laboratuvarımı bununla ve PowerShell ile uzaktan yönetebilseydim mutlu olurdum.

Hyper-V sunucusunu ISO’dan kurmak kolaydı, ancak ona bağlanmaya çalışırken birkaç günümü harcayacağımı bilmiyordum.

Bu dokümanlardaki adımları takip ettim ama yine de çalıştıramadım:

Sorunumun özü, Hyper-V Sunucusunun gerçekten bir AD Etki Alanı ortamında çalıştırılmasının amaçlanmış olmasıdır. PowerShell veya Hyper-V Yöneticisi aracılığıyla uzaktan yönetim, kimlik doğrulama ve yetkilendirme işlemlerinin arkasında AD varsa, sorunsuz bir şekilde çalıştığından eminim.

Dairemde bir AD Etki Alanı kurulu değildi ve bir DC’yi başlatıp kişisel kullanım için bir etki alanını yönetme konusunda çok az isteğim vardı. Bu yüzden Hyper-V’yi bir ÇALIŞMA GRUBU ile iyi çalışacak şekilde yapılandırmaya başladım. Yapmak istediğim şey, ana Windows iş istasyonumdan sunucuya uzaktan bağlanabilmek ve sunucuyu yönetebilmekti. Ayrıca ana iş istasyonumda minimum miktarda ince ayar yapmak istedim (yani güvenlik duvarlarını devre dışı bırakmak, joker karakterlere güvenmek vb. gibi açıkça güvensiz hiçbir şey yapmamak).

Uzak bağlantıların çalışmasını sağlamak için işe yarayan bulduğum komutlar aşağıdadır.

İlk kurulumun ve Yönetici şifresinin ayarlanmasının ardından, aşağıdaki minimalist ekranla karşılaşırsınız:

HyperV Ana Ekranı

Buradan yapılandırılması gereken birkaç şey var.

  1. “Uzaktan Yönetimi Yapılandır” bölümünde Uzaktan Yönetimin etkinleştirildiğinden emin olun ve ayarı sunucuya ping atılmasına izin verecek şekilde değiştirin

  2. Sunucuyu RDP üzerinden uzaktan yönetebilmek için Uzak Masaüstü’nü etkinleştirin

  3. Bir adı yapılandırma. Seçtim hyperv-server. Bu yeniden başlatmayı gerektirir.

Ayrıca şunun için bir ana bilgisayar girişi oluşturdum: hyperv-server.home.local yerel DNS sunucumda ana bilgisayar adına göre erişebilmem için. Manuel olarak düzenleme etc\hosts dosya da işe yarayacaktır.

Bu ayarlardan sonra RDP’yi ana makine adına göre ve kimlik bilgilerini kullanarak kutuya aktarabildim. HYPERV-SERVER\Administrator.

Sunucu PowerShell Yapılandırması

Yapılandırma menüsünün arkasında PowerShell’e girmenizi sağlayan bir komut istemi bulunur. Buradan, sunucuyu PS-Remoting’e izin verecek ve sunucuda CredSSP kimlik doğrulamasına izin verecek şekilde yapılandırmanız gerekir. Aşağıdaki komutları kullanın:

1
2
Enable-PSRemoting
Enable-WSManCredSSP -Role server

PowerShell uzaktan iletişimini etkinleştirme

Bu etkinleştirildikten sonra sunucuyu yapılandırmayı tamamlamış olursunuz. Şimdi müşterimin onunla iletişim kurmasını sağlamanın zor kısmı geldi.

İstemci Yapılandırması

Hyper-V Sunucusunu Windows 10 dizüstü bilgisayarımdan uzaktan yönetiyor olurdum. İlk şey, Windows Güvenlik Duvarı’nın trafiğe izin vermesi için bağlantı profilinin “Özel” olarak ayarlandığından emin olmaktır (yani genel bir ağ üzerinden çalışmaz).

1
2
3
4

Get-NetAdapter|Get-NetConnectionProfile

Set-NetConnectionProfile -InterfaceAlias Ethernet -NetworkCategory Private

Bir sonraki adım, sunucuyu WS-Yönetim Protokolü için güvenilir bir ana bilgisayar olarak ekleyerek istemciyi, sunucuya bağlanmanın uygun olacağı şekilde yapılandırmaktır.

Girişi eklemek için istemcide WinRM’yi etkinleştirmeniz gerekir. Dizüstü bilgisayarımda WinRM’yi etkinleştirmek istemedim ama neyse ki girişi ekledikten sonra hizmeti durdurmanın işe yaradığını keşfettim. Girişi eklemek için:

1
2
3
$ Start-Service -Name winrm
$ Set-Item WSMan:\localhost\Client\TrustedHosts -Value "hyperv-server.home.local
$ Stop-Service -Name winrm

Bunun ana bilgisayar adı yerine bir IP adresiyle çalışması gerekir, ancak test etmedim. YMMV

Şimdi test ederek iş istasyonunuzda kimlik doğrulaması yapabileceğinizi ve iş istasyonunuzdan komutları uzaktan çalıştırabileceğinizi test edin. Invoke-Command:

1
Invoke-Command {whoami} -ComputerName hyperv-server.home.local -Credential HYPERV-SERVER\Administrator

Sizden yerel Yönetici şifresini isteyecek ve ardından uzaktan yürütecektir. hostname emretmek:

WinRM ve ana bilgisayar adı

Bu işe yararsa, artık istemci ile sunucu arasında güvenli bir şekilde iletişim kurabilir ve sonunda Hyper-V’yi uzaktan yönetmeye başlayabilirsiniz.

Hyper-V Yöneticisini Yapılandırma

Henüz yapmadıysanız etkinleştirmeyi unutmayın Hyper-V Management Tools Hyper-V Yöneticisi GUI’sini almak için Windows Özellikleri’nde. Aslında Hyper-V Platformunu etkinleştirmenize gerek yok (Virtualbox’ı yerel olarak çalıştırdığımdan beri bunu yapmıyorum).

Hyper-V Araçlarını Etkinleştir

Hyper-V Manager’ı açın, sağ tıklayın ve “Sunucuya Bağlan”ı seçin. Hyper-V sunucusunun IP adresini veya ana bilgisayar adını girin ve yerel Yönetici kimlik bilgilerini girerek “Başka bir kullanıcı olarak bağlan”ı seçin

Bilgisayar Seç

Kullanıcı Seç

Şimdi… bunun tamamen işe yarayacağını düşünürsünüz. Özellikle de WinRM ve PS-Remoting’in gayet iyi çalıştığını zaten kanıtladığımız için. Ancak ‘Tamam’a basın ve bu hata ortaya çıkıyor:

Hyper-V Hatası

Bunun neden başarısız olduğu hakkında hiçbir fikrim yok. Geçici bir çözüm bulana kadar bu beni kaybetti.

Yetkilendirme Geçici Çözümü

Yetkilendirme hatasını aşmak için Hyper-V Sunucusu kimlik bilgilerini kullanarak belleğe manuel olarak eklemeniz gerekir. cmdkey. Hyper-V sunucusundan çıkın ve istemcideki komut istemine aşağıdakini girin:

1
cmdkey /add:HYPERV-SERVER /user:Administrator /pass:<REDACTED>

Şimdi Hyper-V Sunucusunu yeniden açın ve uzak sunucuya tekrar bağlanın, ancak ihtiyacımız olan kimlik bilgileri zaten bellekte olduğundan başka bir kullanıcı belirtme zahmetine girmeyin:

HyperV Başarısı

Bu nihayet işe yarıyor! Sunucuya bağlanıp uzaktan yönetebilirsiniz:

HyperV Durumu

Kimlik bilgileri bellekte kaldığı sürece sunucuyu uzaktan yönetebilirsiniz. Başka bir olası geçici çözüm, Hyper-V Manager’ı şu şekilde başlatmaktır: runas ve doğru yerel hesap:

1
runas /user:HYPERV-SERVER\Administrator /netonly "mmc virtmgmt.msc"

Bunu çalıştırmak için bir kısayol oluşturabilir ve hazır olabilirsiniz.

Hyper-V Sunucusunda

  • Uzaktan Yönetimi Etkinleştir
  • Uzak Masaüstünü Etkinleştir
  • Bilgisayar Adını Ayarla
  • WSMan ve PS-Remoting’i etkinleştirin:
1
2
Enable-PSRemoting
Enable-WSManCredSSP -Role server

İstemciyi Yönetme Hakkında

  • Hyper-V Sunucusu için ana bilgisayarları veya DNS girişini yapılandırma
  • Ağ profilinin “Gizli” olduğundan emin olun:
1
Set-NetConnectionProfile -InterfaceAlias Ethernet -NetworkCategory Private
  • WinRM’yi geçici olarak başlatın ve Hyper-V Sunucusunu Güvenilir Ana Bilgisayar olarak ekleyin:
1
2
3
Start-Service -Name winrm
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "hyperv-server.home.local"
Stop-Service -Name winrm
  • Windows Özelliklerinde Hyper-V Yönetim Araçlarını Etkinleştirin
  • Cmdkey ile Hyper-V Yönetici kimlik bilgilerini ekleyin:
1
cmdkey /add:HYPERV-SERVER /user:Administrator /pass:<REDACTED>
  • Hyper-V Manager’ı başlatın ve sunucuya bağlanın (kullanıcıyı belirtmeyin)
    • veya Hyper-V Manager’ı şununla başlatın: runas:
1
runas /user:HYPERV-SERVER\Administrator /netonly "mmc virtmgmt.msc"

Özet

Etrafta çok fazla uğraştıktan sonra, bu, etki alanı olmayan bir ortamda bir Hyper-V sunucusunu uzaktan yönetmek için bulduğum minimum çalışma yapılandırmasıdır.

Hyper-V Manager’ın sağlanan kimlik bilgileriyle neden çalışmadığından hâlâ %100 emin değilim ve cmdkey veya runas geçici çözüm gereklidir. Birisi buna biraz ışık tutabilirse, minnettar olurum!

Umarım bu oradaki birine yardımcı olur -ropnop


Ayrıca bakınız



Source link