Ağ geçidi eklentisi geliştirme

Windows Admin Center ağ geçidi eklentisi, aracınızın veya çözümünüzün kullanıcı arabiriminden hedef düğüme API iletişimini etkinleştirir. Windows Admin Center, hedef düğümlerde yürütülecek ağ geçidi eklentilerindeki komutları ve betikleri aktaran bir ağ geçidi hizmetini barındırıyor. Ağ geçidi hizmeti, varsayılanlar dışındaki protokolleri destekleyen özel ağ geçidi eklentilerini içerecek şekilde genişletilebilir.

Bu ağ geçidi eklentileri varsayılan olarak Windows Yönetim Merkezi'ne eklenir:

  • PowerShell ağ geçidi eklentisi
  • Windows Yönetim Araçları (WMI) ağ geçidi eklentisi

REST gibi PowerShell veya WMI dışında bir protokolle iletişim kurmak isterseniz kendi ağ geçidi eklentinizi oluşturabilirsiniz. Ağ geçidi eklentileri mevcut ağ geçidi işleminden ayrı bir AppDomain'e yüklenir, ancak haklar için aynı yükseltme düzeyini kullanır.

Note

Farklı uzantı türleri hakkında bilgi sahibi değil misiniz? genişletilebilirlik mimarisi ve uzantı türleri hakkında daha fazla bilgi edinin.

Important

Windows Admin Center SDK'sı ve geliştirici araçları, Windows Admin Center modernleştirilmiş ağ geçidiile uyumlu ağ geçidi eklentilerinin geliştirilmesini destekleyecek şekilde henüz güncelleştirilmemiştir. Bu kılavuz izlenerek modernleştirilmiş ağ geçidiyle uyumlu bir .NET 8 uzantısı elde edilmeyecektir.

Modernleştirilmiş ağ geçidi için bir ağ geçidi eklentisi geliştirmek veya mevcut ağ geçidi eklentinizi yükseltmek istiyorsanız wacextensionrequest@microsoft.comadresine bir e-posta gönderin.

Arka uç güncelleştirmesi önizleme aşamasındayken .NET 6'da geliştirilen gateway eklentileri, .NET 6'dan .NET 8'e geçişte yapılanuyumsuz değişiklikler nedeniyle Windows Yönetim Merkezi'nin en son sürümünde düzgün çalışmayabilir. Uzantınızı mümkün olan en kısa sürede .NET 8'e yükseltmenizi öneririz.

Ortamınızı hazırlama

Henüz yapmadıysanız, tüm projeler için gereken bağımlılıkları ve genel önkoşulları yükleyerek ortamınızı hazırlayın.

Ağ geçidi eklentisi oluşturma (C# kitaplığı)

Özel ağ geçidi eklentisi oluşturmak için, IPlugIn ad alanından Microsoft.ManagementExperience.FeatureInterfaces arabirimini uygulayan yeni bir C# sınıfı oluşturun.

Note

SDK'nın önceki sürümlerinde bulunan IFeature arabirimi artık kullanım dışı olarak işaretleniyor. Tüm ağ geçidi eklentisi geliştirmesi IPlugIn (veya isteğe bağlı olarak HttpPlugIn soyut sınıfı) kullanmalıdır.

GitHub'dan örnek indirme

Özel bir ağ geçidi eklentisini hızlıca kullanmaya başlamak için, örnek C# eklenti projemizin bir kopyasını Windows Admin Center SDK'sından GitHub sitesiindirebilirsiniz.

İçerik ekleme

Özel API'lerinizi içerecek şekilde örnek C# eklenti projesi projesinin (veya kendi projenizin) kopyalanan kopyasına yeni içerik ekleyin, ardından sonraki adımlarda kullanılacak özel ağ geçidi eklenti DLL dosyanızı oluşturun.

Test için eklenti dağıtma

Özel ağ geçidi eklenti DLL'nizi Windows Admin Center ağ geçidi işlemine yükleyerek test edin.

Windows Yönetim Merkezi, geçerli makinenin Uygulama Verileri klasöründeki bir plugins klasöründeki tüm eklentileri arar (Environment.SpecialFolder numaralandırmasının CommonApplicationData değerini kullanarak). Windows 10'da bu konum C:\ProgramData\Server Management Experience. plugins klasörü henüz yoksa, klasörü kendiniz oluşturabilirsiniz.

Note

"StaticsFolder" yapılandırma değerini güncelleştirerek hata ayıklama derlemesindeki eklenti konumunu geçersiz kılabilirsiniz. Yerel olarak hata ayıklarsanız, bu ayar Masaüstü çözümünün App.Config dosyasındadır.

Eklentiler klasörünün içinde (bu örnekte C:\ProgramData\Server Management Experience\plugins)

  • Özel ağ geçidi eklentinizin DLL dosyasında, Name'in Feature özellik değeriyle aynı adı taşıyan yeni bir klasör oluşturun (örnek projemizde Name "Örnek Uno" olarak belirtilmiştir)
  • Özel ağ geçidi eklenti DLL dosyanızı bu yeni klasöre kopyalayın
  • Windows Admin Center işlemini yeniden başlatın

Windows Yöneticisi işlemi yeniden başlatıldıktan sonra, http(s)://{domain|localhost}/api/nodes/{node}/features/{feature name}/{identifier} için GET, PUT, PATCH, DELETE veya POST göndererek özel ağ geçidi eklenti DLL'nizdeki API'leri kullanabileceksiniz

İsteğe bağlı: Hata ayıklama için eklentiye ekleme

Visual Studio 2017'de Hata Ayıkla menüsünden "İşleme Ekle"yi seçin. Sonraki pencerede Kullanılabilir İşlemler listesinde ilerleyin ve SMEDesktop.exeseçin ve ardından "Ekle"yi seçin. Hata ayıklayıcı başlatıldıktan sonra, özellik kodunuza bir kesme noktası yerleştirebilir ve ardından URL biçiminde alıştırma yapabilirsiniz. Örnek projemiz için ("Özellik adı: "Örnek Uno") URL'si: "<http://localhost:6516/api/nodes/fake-server.my.domain.com/features/Sample%20Uno>"

Windows Admin Center SDK'sı ile araç uzantısı oluşturma

Şimdi özel ağ geçidi eklentinizi çağırabileceğiniz bir araç uzantısı oluşturmamız gerekiyor. Proje dosyalarınızı depolamak istediğiniz bir klasör oluşturun veya bu klasöre göz atın, bir komut istemi açın ve bu klasörü çalışma dizini olarak ayarlayın. Daha önce yüklenmiş olan Windows Admin Center SDK'sını kullanarak aşağıdaki söz dizimine sahip yeni bir uzantı oluşturun:

wac create --company "{!Company Name}" --tool "{!Tool Name}"
Value Explanation Example
{!Company Name} Şirketinizin adı (boşluklu) Contoso Inc
{!Tool Name} Araç adınız (boşluklu) Manage Foo Works

Aşağıda örnek bir kullanım verilmiştir:

wac create --company "Contoso Inc" --tool "Manage Foo Works"

Bu komut, aracınız için belirttiğiniz adı kullanarak geçerli çalışma dizini içinde yeni bir klasör oluşturur, gerekli tüm şablon dosyalarını projenize kopyalar ve dosyaları şirketinizin ve araç adınızla yapılandırılır.

Ardından, aşağıdaki komutu çalıştırarak dizini klasörüne değiştirin ve gerekli yerel bağımlılıkları yükleyin:

npm install

Bu komut tamamlandıktan sonra, yeni uzantınızı Windows Yönetim Merkezi'ne yüklemek için ihtiyacınız olan her şeyi ayarlarsınız.

Araç uzantınızı özel ağ geçidi eklentinize bağlama

Windows Admin Center SDK'sı ile bir uzantı oluşturduğunuza göre, şu adımları izleyerek araç uzantınızı özel ağ geçidi eklentinize bağlamaya hazırsınız:

Uzantınızı derleme ve yan yükleme

Ardından, uzantınızı derleyin ve Windows Yönetim Merkezi'ne dışarıdan yükleyin. Bir komut penceresi açın, dizini kaynak dizininizle değiştirin, sonra derlemeye hazırsınız demektir.

  • Gulp ile derle ve sunucu olarak çalıştır:

    gulp build
    gulp serve -p 4201
    

Seçtiğiniz bağlantı noktası şu anda ücretsiz olmalıdır. Emin olun ki, Windows Yönetim Merkezi'nin çalıştığı bağlantı noktasını kullanmadığınızdan emin olun.

Projeniz, yerel olarak sunulan projeyi Windows Yönetim Merkezi'ne ekleyerek test için Windows Yönetim Merkezi'nin yerel bir örneğine dışarıdan yüklenebilir.

  • Web tarayıcısında Windows Yönetim Merkezi'ni başlatma

  • Hata ayıklayıcısını açma (F12)

  • Konsolunu açın ve aşağıdaki komutu yazın:

    MsftSme.sideLoad("http://localhost:4201")
    
  • Web tarayıcısını yenileme

Projeniz artık Araçlar listesinde adının yanında (yan yüklenmiş) olarak görünecek.

Windows Admin Center SDK'sının farklı bir sürümünü hedefleme

SDK değişiklikleri ve platform değişiklikleriyle uzantınızı güncel tutmak kolaydır. Windows Admin Center SDK'nin farklı bir sürümünü hedeflemeyi öğrenin.