Konsol uzantısı kaydı ancak topluluk hub'ı
Konsol uzantısı yazarları, topluluk hub'ına yazdıkları uzantılara katkıda bulunabilir. Topluluk hub'ı kullanıcıları uzantıları indirebilir ve Configuration Manager hiyerarşilerinde yüklemelerini yönetebilir. Community hub aracılığıyla uzantılara katkıda bulunmak , önceki dağıtım işleminin yerini alır.
Sürüm bilgileri
Topluluk hub'ından konsol uzantılarını indirmek için aşağıdakilerden birini yapmanız gerekir:
- Configuration Manager'nin teknik önizleme sürümü
- Configuration Manager sürüm 2103 veya üzeri
Aşağıdaki sürümlerle yerel olarak içeri aktararak kendi imzalı uzantılarınızı test edebilirsiniz:
- Configuration Manager'nin teknik önizleme sürümü
- Configuration Manager sürüm 2103 veya üzeri
İmzalanmamış bir uzantıyı yerel olarak içeri aktarabilirsiniz. İmzalanmamış uzantılar yalnızca yerel içeri aktarma ve test amaçlıdır. İmzalanmamış uzantılar Topluluk hub'ına gönderilemez. İmzalanmamış bir uzantıyı içeri aktarmak için aşağıdaki sürümlerden biri gerekir:
- Teknik önizleme sürümü 2105.2 veya üzeri.
- Configuration Manager sürüm 2107 veya üzeri
Sürüm 2111'den başlayarak, Konsol Uzantısını İçeri Aktarma sihirbazını kullanarak hem imzalı hem de imzasız uzantıları içeri aktarabilirsiniz.
Önkoşullar
Configuration Manager yöneticilerin indirmesi için topluluk hub'ına bir konsol uzantısı kaydetmek için aşağıdaki önkoşullara ihtiyacınız vardır:
Topluluk hub'ına katkıda bulunmak için tüm önkoşulları karşılayın
Tüm kapsam haklarıyla Tam Yönetici Configuration Manager.
Yayımlamaya hazır olduğunuzda authenticode imzalı
.cab
bir dosyada geçerli bir yük. Dosyanız.cab
aşağıdaki öğeleri içermelidir:- adlı bir bildirim dosyası
manifest.xml
- Uzantının yazarı ve sürümü
manifest.xml
- Uzantı için tüm ilgili dosyalar dosyada
.cab
olmalıdır- Her dosyanın bildirimde listelenmesi ve doğru ada ve SHA256 karmasına sahip olması gerekir
- adlı bir bildirim dosyası
Uzantı oluşturma
Topluluk hub'ı için uzantınızı oluşturmak, daha önce yapılan uzantıdan çok farklı değildir. Ancak, artık dosyaları ilgili %ProgramFiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Extensions
klasöre yüklemenize gerek yoktur. Bu, yeni manifest.xml
dosyanın işlevinin bir parçasıdır. Yine de aşağıdaki öğeleri oluşturabilirsiniz:
- Eylem
- Forms
- Yönetim sınıfları
- Düğüm
- Görünümler
- Kendi özel sihirbazlarınızı seçtiğiniz bir sihirbaz çerçevesini kullanarak Configuration Manager konsoluyla tümleştirme
- Mevcut Configuration Manager konsol çerçevesini kullanarak sihirbaz oluşturamazsınız.
- Mevcut Configuration Manager sihirbazlarında adımları değiştiremez veya kaldıramazsınız.
İpucu
Community Hub'ın GitHub deposundan örnek bir uzantının cab dosyasını indirebilirsiniz.
Geçerli bir yük cab dosyası oluşturma
Uzantınızın dosyalarını oluşturduktan sonra dosyayı oluşturacak manifest.xml
ve ardından tümünü authenticode imzalı .cab
bir dosyada paketleyeceksiniz.
- Authenticode imzalı
.cab
bir dosyada geçerli bir yük. Dosyanız.cab
aşağıdaki öğeleri içermelidir:- adlı bir bildirim dosyası
manifest.xml
- Uzantının yazarı ve sürümü
manifest.xml
- Uzantı için tüm ilgili dosyalar dosyada
.cab
olmalıdır- Her dosyanın bildirimde listelenmesi ve doğru ada ve SHA256 karmasına sahip olması gerekir
- adlı bir bildirim dosyası
Manifest.xml biçimi:
<CustomExtensionManifest ExtensionID="{A GUID to identify this extension}" Name="{Name of the extension to be shown in the Console Extension node}" Description="{Description of the extension to be shown in the Console Extension node" Version="{The version of the extension to be shown in the Console Extension node. For example:1.0}" Author="{The author of the extension to be shown in the Console Extension node}">
<Deployments>
<ActionExtensionDeployment ParentNode="{the GUID that identify the folder/node you want to place the action under}">
<FileList>
<File Name="{The name of the xml file that defines the action. For example: MyAction.xml}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</ActionExtensionDeployment>
<NodeExtensionDeployment ParentNode="{the GUID that identify the folder you want to place the node under}">
<FileList>
<File Name="{The name of the xml file that defines the node. For example: MyNode.xml}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</NodeExtensionDeployment>
<FormExtensionDeployment>
<FileList>
<File Name="{The name of the xml file that defines the form. For example: MyForm.xml}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
<File Name="{The name of the dll file that defines the form. For example: MyForm.dll}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</FormExtensionDeployment>
<ManagementClassExtensionDeployment>
<FileList>
<File Name="{The name of the xml file that defines the WMI class. For example: MyClass.xml}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
<File Name="{The name of the dll file that defines the WMI class. For example: MyClass.dll}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</ManagementClassExtensionDeployment>
<ViewExtensionDeployment>
<FileList>
<File Name="{The name of the dll file that defines the view. For example: MyView.dll}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</ViewExtensionDeployment>
<CabExtensionDeployment>
<FileList>
<File Name="{The name of the cab file to deploy. CabExtensionDeployment is used when your payload cab file contains a cab within it that needs to be deployed. For example: MyCab.cab}">
<Hash Algorithm="sha256">{The SHA256 hash of this file}</Hash>
</File>
</FileList>
</CabExtensionDeployment>
</Deployments>
</CustomExtensionManifest>
Örnek manifest.xml dosyası:
<CustomExtensionManifest ExtensionID="808b9ce3-e574-49be-82be-64ed35d800c5" Name="Nice Console Node and Console Action Extension" Description="Very Useful Extension" Version="1.1" Author="Me">
<Deployments>
<NodeExtensionDeployment ParentNode="d61498cb-7b3f-4748-ae3e-026674fb0cbd">
<FileList>
<File Name="Test.xml">
<Hash Algorithm="sha256">543F2947AEA734B6833F275091AC6A159C0FCD341373D6E53062E37281B602B3</Hash>
</File>
</FileList>
</NodeExtensionDeployment>
<ActionExtensionDeployment ParentNode="172d85e7-bb7a-4479-a6a2-768f175b75cb">
<FileList>
<File Name="Test2.xml">
<Hash Algorithm="sha256">C60FB69B86BF9B2E924FF272292CA2C97864D636B8190C95DC926049651A002E</Hash>
</File>
</FileList>
</ActionExtensionDeployment>
</Deployments>
</CustomExtensionManifest>
Uzantıyı test için bir siteye kaydetme
Uzantınızı derleyip authenticode imzalı .cab
bir dosyaya paketledikten sonra Configuration Manager laboratuvar ortamında test edebilirsiniz. Bunu , yönetim hizmeti aracılığıyla göndererek yaparsınız. Uzantı siteye eklendikten sonra, uzantıyı onaylayabilir ve Konsol Uzantıları düğümünden yerel olarak yükleyebilirsiniz.
Önemli
Yerel test için, 2107 veya sonraki bir sürümü kullandığınızda imzalanmamış konsol uzantılarını içeri aktarabilirsiniz. Daha fazla bilgi ve ek içeri aktarma yöntemleri için bkz. Konsol uzantılarını içeri aktarma.
ve
$cabFilePath
dosyasını düzenledikten$adminServiceProvider
sonra aşağıdaki PowerShell betiğini çalıştırın:$adminServiceProvider
- Yönetim hizmetinin yüklendiği en üst düzey SMSProvider sunucusu$cabFilePath
- Uzantının authenticode imzalı.cab
dosyasının yolu
$adminServiceProvider = "SMSProviderServer.contoso.com" $cabFilePath = "C:\Testing\MyExtension.cab" $adminServiceURL = "https://$adminServiceProvider/AdminService/v1/ConsoleExtensionMetadata/AdminService.UploadExtension" $cabFileName = (Get-Item -Path $cabFilePath).Name $Data = Get-Content $cabFilePath $Bytes = [System.IO.File]::ReadAllBytes($cabFilePath) $base64Content = [Convert]::ToBase64String($Bytes) $Headers = @{ "Content-Type" = "Application/json" } $Body = @{ CabFile = @{ FileName = $cabFileName FileContent = $base64Content } } | ConvertTo-Json $result = Invoke-WebRequest -Method Post -Uri $adminServiceURL -Body $Body -Headers $Headers -UseDefaultCredentials if ($result.StatusCode -eq 200) {Write-Host "$cabFileName was published successfully."} else {Write-Host "$cabFileName publish failed. Review AdminService.log for more information."}
Configuration Manager konsolunda Yönetime>Genel Bakış>Güncelleştirmeler ve HizmetKonsolu Uzantıları'na> gidin.
Uzantınızı seçin ve ardından Yüklemeyi Onayla'yı seçin.
Uzantıyı geçerli konsola yüklemek için Yerel Uzantı'nın altında Yükle'yi seçin.
PowerShell betiğini aynı uzantıyla ve aynı sürümle yeniden çalıştırmak, mevcut olanın üzerine yazılır.
Uzantınızı topluluk merkezinde paylaşma
Yalnızca Configuration Manager teknik önizleme sürümleri için geçerlidir
Topluluk hub'ına katıldığınızdan ve katılma isteğiniz onaylandıktan sonra daveti kabul ettiğinizden emin olun. Uzantıları , diğer topluluk merkezi nesnelerine katkıda bulunacağınız şekilde katkıda bulunursunuz. Ancak, ek gereksinimler ve uzantı için sağlamanız gereken ek bilgiler vardır. Topluluk hub'ına bir konsol uzantısı eklediğinizde içeriğin imzalanması gerekir. Konsol uzantılarının içeriği Microsoft tarafından barındırılmıyor. Öğenize katkıda bulunduğunuzda, uzantıyla ilgili diğer bilgilerle birlikte imzalı .cab
dosyaya bir konum sağlamanız istenir. Uzantılara katkıda bulunmak için aşağıdaki öğeler gereklidir:
- İçerik URL'si: İndirilebilir
.cab
dosyanın konumu - İçeriğin SHA-256 karması: dosyanın SHA-256 karması
.cab
- Lisans URL'si: Uzantı lisansının URL'si, örneğin https://mit-license.org/
- Gizlilik bildirimi URL'si: Gizlilik bildiriminizin URL'si
Önemli
Bir uzantıyı yönetim hizmeti aracılığıyla göndererek konsola yerel olarak aktarırsanız, Topluluk hub'ından aynı uzantıyı indirmeye çalışırsanız indirme başarısız olur. Uzantınızın Topluluk hub'ından indirilmesini test etmek için içeri aktarılan uzantıyı silin ve Topluluk hub'ından indirin.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin