Configuration Manager コンソール拡張機能をインポートする

Configuration Manager (現在のブランチ) に適用

Configuration Manager 2103 以降、環境で使用するコンソール拡張機能をインポートできます。 これらの拡張機能は、[ コンソール拡張機能 ] ノードの下に表示されます。 拡張機能をインポートしてコンソールにインストールするだけで、すぐに利用できるわけではありません。 管理者は、サイトの拡張機能を承認し、通知を有効にする必要があります。 その後、コンソール ユーザーはローカルコンソールに拡張機能をインストールできます。 コンソール拡張機能の管理とインストールの詳細については、「Configuration Manager コンソール拡張機能の管理」を参照してください。

実行している Configuration Manager のバージョンに応じて、異なるインポート オプションを使用できます。 当初は、署名済みの拡張機能のみを管理サービスでインポートできました。 署名されていない拡張機能のインポートのサポートは後で追加されました。 その後、スクリプトを実行しなくても署名済み拡張機能と署名されていない拡張機能の両方をインポートできるウィザードがバージョン 2111 で導入されました。

Configuration Manager バージョン 2103 2107 2111 以降
署名付き拡張機能をインポートする はい はい はい
署名されていない拡張機能をインポートする 不要 はい、未署名を許可する場合 はい、未署名を許可する場合
PowerShell スクリプトを使用して 管理サービス からインポートする はい、署名付き広告表示オプションのみ はい はい
Import Console Extension ウィザードからインポートする 不要 不要 はい

コンソール拡張機能をインポートする方法

本体の拡張機能をインポートするには、4 つの基本的な手順に従います。 正確にインポートする方法は、使用している Configuration Manager のバージョンと、拡張機能が署名されているかどうかによって決まります。 階層承認済みコンソール拡張機能をインポートしてインストールするには、大まかな手順は次のとおりです。

  1. 署名されていない階層で承認された本体拡張機能 (バージョン 2107 以降) を許可 する必要があるかどうかを決定します。
  2. 次のいずれかの方法を使用して、コンソール拡張機能をインポートします。
  3. ローカル コンソールで拡張機能をテストします。
  4. 本体ユーザーが本体拡張機能をインストールできるように通知を有効にします。

階層の署名されていないコンソール拡張機能を許可する

(Configuration Manager バージョン 2107 以降に適用)

Configuration Manager バージョン 2107 以降では、署名されていない階層の承認済みコンソール拡張機能を許可するように選択できます。 セキュリティ リスクを最小限に抑え、本体拡張機能の信頼性を確認するために、常に署名付き拡張機能を使用することがベスト プラクティスです。 ただし、場合によっては、内部で開発された署名されていない拡張機能のために、またはラボで独自のカスタム拡張機能をテストするために、署名されていないコンソール拡張機能を許可する必要が生じる場合があります。 署名されていない階層の承認済み本体拡張機能の インポート とインストールを許可するには、階層設定を有効にします。

  1. Configuration Manager コンソールで、[管理] ワークスペースに移動し、[サイトの構成] を展開して、[サイト] を選択します。
  2. リボンから [ 階層の設定] を選択します。
  3. [ 全般 ] タブで、[ 階層: 承認済みのコンソール拡張機能は署名なしで可能] オプションを有効にします。
  4. 完了したら [OK ] を選択して、[ 階層設定プロパティ] を閉じます。

注:

現在、署名されていない拡張機能がユーザー通知に対して有効になっていない場合、[本体拡張機能] ノードでは、[いいえ] の値が入力される代わりに [必須] 列が空白のままになります。

スクリプトを使用して署名済み本体拡張機能をインポートする

(Configuration Manager バージョン 2103 以降に適用)

拡張子を署名付き .cab ファイルにパッケージ化している場合、それを Configuration Manager にインポートできます。 これを行うには、PowerShell スクリプトを使用して 管理サービス を介して投稿します。 拡張機能がサイトに挿入されたら、 コンソール 拡張機能ノードからローカルに承認してインストールできます。 インポートするには、 $adminServiceProvider$cabFilePathを編集した後、次の PowerShell スクリプトを実行します。

  • $adminServiceProvider - 管理サービスがインストールされている最上位の SMSProvider サーバー
  • $cabFilePath - 拡張機能の署名済み .cab ファイルへのパス
$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 バージョン 2107 以降に適用)

Configuration Manager バージョン 2107 以降では、署名されていない階層の承認済みコンソール拡張機能を許可するように選択できます。 セキュリティ リスクを最小限に抑え、本体拡張機能の信頼性を確認するために、常に署名付き拡張機能を使用することがベスト プラクティスです。 ただし、場合によっては、内部で開発された署名されていない拡張機能のために、またはラボで独自のカスタム拡張機能をテストするために、署名されていないコンソール拡張機能を許可する必要が生じる場合があります。

拡張子の .cab ファイルがある場合は、Configuration Manager ラボ環境でテストできます。 これを行うには、 管理サービスを介して投稿します。 拡張機能がサイトに挿入されたら、それを承認し、[ コンソール拡張機能 ] ノードからローカルにインストールできます。 インポートするには、 $adminServiceProvider$cabFilePathを編集した後、次の PowerShell スクリプトを実行します。

  • $adminServiceProvider - 管理サービスがインストールされている最上位の SMSProvider サーバー
  • $cabFilePath - 拡張機能の .cab ファイルへのパス
$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
            }
            AllowUnsigned = $true
        } | 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 バージョン 2111 以降に適用)

バージョン 2111 より、 Import Console Extension ウィザードを使用して、階層に対して管理される 本体の拡張機能 をインポートできます。 PowerShell スクリプトを使用して、署名済みまたは署名されていないコンソール拡張機能をインポートする必要がなくなりました。 ウィザードを使用してコンソール拡張機能をインポートするには:

  1. [管理] ワークスペースで、[Updates and Servicing] を展開し、[コンソール拡張機能] ノードを選択します。
  2. リボンまたは右クリック メニューから [ Import Console Extension (本体の拡張機能のインポート )] を選択します。
  3. ウィザードが起動したら、[ 参照 ] を選択し、拡張機能の cab ファイルに移動します。
  4. 必要に応じて、[ 拡張機能の署名解除を許可する] オプションを選択します。
  5. [ 次へ ] を選択してインポートの概要を確認し、ウィザードを完了して拡張機能をインポートします。

注:

署名されていない拡張機能をインポートするには、階層設定で [階層の承認済みコンソール拡張機能は署名なしにできる] オプションを有効にする必要があります。 詳細については、「 署名されていない階層の承認済みコンソール拡張機能を許可する」を参照してください。

ローカル本体に拡張機能をインストールしてテストする

  1. 拡張機能の セキュリティ スコープ を変更します。 拡張機能の初期テストでは、セキュリティ スコープを変更することをお勧めします。

    1. [管理]>概要>Updates [サービス] の下にある [コンソール拡張機能] ノードに移動します。
    2. 拡張機能を選択し、リボンから [ セキュリティ スコープの設定] を選択します。
    3. 既定のセキュリティ スコープを削除し、初期テスト用に 1 人か 2 人の管理者のみを含むスコープを追加します。
    4. 拡張機能のセキュリティ スコープを保存するには、[ OK ] を選択します。
  2. リボンまたは右クリック メニューから [インストールの承認 ] を選択して、拡張機能を承認します。

    • 拡張機能が承認されない場合は、拡張機能をインストールしたり、拡張機能の本体内通知を有効にしたりすることはできません。
    • この時点で本体を再起動しても、オプションをまだ有効にしていないため、利用可能な拡張機能に関する通知は表示されません。
  3. [ インストール] を選択して、ローカル本体に拡張機能をインストールします。

  4. 拡張機能がインストールされたら、表示され、ローカル コンソールから使用できることを確認します。

拡張機能のインストールに関するユーザー通知を有効にする

  1. 必要に応じて、拡張機能のセキュリティ スコープを変更して、より多くの管理者によるアクセスを許可します。 これらの管理者は、拡張機能をインストールするためのコンソール内通知の対象になります。
  2. [ 通知を有効にする] を選択します。
  3. 拡張機能がインストールされていない Configuration Manager コンソールを起動します。 理想的には、セキュリティ スコープを変更するときにアクセス権を付与したテスト アカウントを使用します。
  4. 拡張機能の通知が表示され、拡張機能をインストールできることを確認します。

次の手順