# MSP管理コマンド

### 概要 <a href="#msp-management-commands-1" id="msp-management-commands-1"></a>

このコマンド群は **MSP (マネージドサービスプロバイダー)** アカウント向けです。管理対象企業 (MC) の管理、MSPデータの更新、MSPと管理対象企業間のコンテキスト切り替え、エンタープライズノードの管理対象企業への変換が行えます。

**コマンド**:

* [管理対象企業一覧コマンド](#msp-list)
* [MSPデータ更新コマンド](#msp-refresh-data)
* [管理対象企業作成コマンド](#msp-create)
* [管理対象企業更新コマンド](#msp-update)
* [管理対象企業削除コマンド](#msp-delete)
* [MSPログイン (管理対象企業へ切替) コマンド](#msp-login-switch-to-mc)
* [エンタープライズノードのMSP化コマンド](#msp-convert-node)
* [MSPへの切替コマンド](#msp-switch-to-msp)

### 管理対象企業一覧コマンド <a href="#msp-list" id="msp-list"></a>

MSPのすべての管理対象企業を表形式で取得して表示します。各行に企業名、ID、ノード、プラン、ストレージ、アドオン、許可シート数、使用シート数、一時停止状態が含まれます。MSPライセンスのアカウントでログインしている場合のみ利用できます。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-list` または `msp-info` または `mi`

**フラグ:** なし

**例:**

```sh
My Vault> mc-list
  #  Company Name             Company ID  Node                 Plan             Storage       Addons                              Seats Allowed  Seats Used  Paused
---  -----------------------  ----------  -------------------  ---------------  ------------  ----------------------------------  -------------  ----------  ------
  1  21Jan                    311310      abc.                 Business         STORAGE_1TB                                                   0           0        
  2  ADD NO ADDON             310855      ace                  Enterprise       100GB                                                 Unlimited           1        
  3  ADD ON PREM              310858      abe.                 Business         100GB         Keeper Connection Manager (KCM)         Unlimited           0        
  4  ADD11                    310854      aid                  Business Plus    STORAGE_1TB   Advanced Reporting & Alerts Module      Unlimited           1        
                                                                                              BreachWatch                                                          
  5  ADD123                   310852      acme                 Business Plus    STORAGE_1TB   Advanced Reporting & Alerts Module      Unlimited           0        
                                                                                              BreachWatch                                                          
                                                                                              remote_browser_isolation                                             
  6  Adayaa Dev Inc           311536      abcde.               Business         STORAGE_10TB  keeper_endpoint_privilege_manager              10           0                                            
```

</details>

<details>

<summary>DotNet SDK</summary>

エンタープライズローダーに`ManagedCompanyData`が含まれ、アカウントにMSPライセンスがある場合、SDKから管理対象企業一覧を取得できます。

```csharp
// When context.Enterprise includes ManagedCompanyData (MSP account)
var managedCompanies = context.RoleManagement.Enterprise.GetPlugins()
    .OfType<ManagedCompanyData>()
    .FirstOrDefault();
if (managedCompanies != null)
{
    foreach (var mc in managedCompanies.ManagedCompanies)
    {
        Console.WriteLine($"{mc.EnterpriseName} (ID: {mc.EnterpriseId})");
    }
}
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Get-KeeperManagedCompany`

**別名:** `kmc`

**フラグ:**

<table><thead><tr><th width="193.6494140625">パラメータ</th><th>説明</th></tr></thead><tbody><tr><td><strong>Restriction</strong></td><td>MSPの許可内容を表示する。無制限ライセンス、許可プロダクト、許可アドオン、最大ファイルプラン。読みやすいリスト形式で出力する。</td></tr><tr><td><strong>Pricing</strong></td><td>BIサブスクリプションの価格 (プロダクト、アドオン、ファイルプラン) を通貨と単位付きで表示する。</td></tr><tr><td><strong>Filter</strong></td><td>MC名の部分一致フィルター (任意)。<code>-Restriction</code>、<code>-Pricing</code>、<code>-ManagedCompany</code>使用時は無視される。</td></tr><tr><td><strong>Detailed</strong></td><td>MC一覧の全項目: company_id、company_name、node、node_name、plan、storage、addons (シート付き)、allocated、active。名前でソート。</td></tr><tr><td><strong>ManagedCompany</strong></td><td>名前またはIDで<strong>1件</strong>のMCに絞り込む。<code>-Detailed</code>と併用して1社の詳細を取得する。</td></tr><tr><td><strong>Format</strong></td><td><code>table</code> (既定)、<code>json</code>、または<code>csv</code>。</td></tr><tr><td><strong>Output</strong></td><td>指定した場合、結果をこのファイルパスに書き出す。</td></tr></tbody></table>

**例:**

```powershell
PS> Get-KeeperManagedCompany 

EnterpriseId EnterpriseName                                     ProductId      NumberOfSeats NumberOfUsers FilePlanType  IsExpired     ParentNodeId NodeName            Addons
------------ --------------                                     ---------      ------------- ------------- ------------  ---------     ------------ --------            ------
      309488 test ppppppp etc                                   business          2147483647             0 STORAGE_100GB     False 1169425105420290 Maaaaaalll          keeper_endpoint_privilege_manager
      308504 new test updated                                   business          2147483647             0 STORAGE_100GB     False 1169425105420290 Meeeeeeoooo          

PS> Get-KeeperManagedCompany -ManagedCompany tests2

EnterpriseId EnterpriseName ProductId      NumberOfSeats NumberOfUsers FilePlanType IsExpired     ParentNodeId NodeName   Addons
------------ -------------- ---------      ------------- ------------- ------------ ---------     ------------ --------   ------
      315830 tests2         enterprisePlus            13             1 STORAGE_1TB      False 1169425105420290 Metronlabs enterprise_breach_watch, enterprise_audit_and_reporting
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details open>

<summary>Python SDK</summary>

近日公開

</details>

### MSPデータ更新コマンド <a href="#msp-refresh-data" id="msp-refresh-data"></a>

サーバーからエンタープライズ/MSPのローカルデータを更新します。変更後や、最新の管理対象企業一覧とライセンスを確実に反映したいときに使います。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `enterprise-get-data` または `msp-down` または `md`

**フラグ:** なし

**例:**

```sh
My Vault> enterprise-get-data
My Vault> md
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** エンタープライズデータの再読み込み (該当時はMSPデータを含む)

```csharp
await context.Enterprise.Load();
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Sync-KeeperEnterprise`

MC/MSPの切り替え後や、MSPデータを更新するときに使う。

**例:**

```powershell
PS> Sync-KeeperEnterprise
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### 管理対象企業作成コマンド <a href="#msp-create" id="msp-create"></a>

指定した名前、プラン、シート数、および任意のノード・ストレージ・アドオンで新しい管理対象企業を作成します。[アドオンはこちら](#msp-addon-options)に記載があります。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-create <NAME>` または `msp-add` または `ma`

**フラグ:**

* `--product` または `-p` : プロダクトプラン: `business`、`businessPlus`、`enterprise`、`enterprisePlus`
* `--seats` または `-s` : 最大シート数 (-1 = 無制限)
* `--node` : ノード名またはID (既定: ルート)
* `--storage` : ストレージプラン: `100GB`、`1TB`、`10TB`
* `--addons` : カンマ区切りのアドオン。例: `secrets_manager,connection_manager:5`

**例:**

```sh
My Vault> mc-create "New MC" --product=enterprise --seats=10
"new_mc_1" --seats=15 --product=enterprise --node=test1 --storage=100GB --addons="secrets_manager,enterprise_breach_watch"                   
Managed Company "new_mc_1", ID:314913 has been created.
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `CreateManagedCompany(ManagedCompanyOptions options)`

**例:**

```csharp
var options = new ManagedCompanyOptions
{
    Name = "New MC",
    ProductId = "enterprise",
    NumberOfSeats = 10,
    FilePlanType = "1TB",
    NodeId = nodeId 
};
var mc = await managedCompanyData.CreateManagedCompany(options);
Console.WriteLine($"Created MC: {mc.EnterpriseName}, ID: {mc.EnterpriseId}");
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `New-KeeperManagedCompany`

**別名:** `kamc`

**フラグ:**

<table><thead><tr><th width="145.6708984375">パラメータ</th><th>説明</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>新規MCの表示名。</td></tr><tr><td><strong>PlanId</strong></td><td>ライセンスプラン: <code>business</code>、<code>businessPlus</code>、<code>enterprise</code>、<code>enterprisePlus</code>。</td></tr><tr><td><strong>MaximumSeats</strong></td><td>最大シート数 (ライセンス数)。</td></tr><tr><td><strong>Storage</strong></td><td>ファイルストレージプラン: <code>100GB</code>、<code>1TB</code>、<code>10TB</code>。</td></tr><tr><td><strong>Addons</strong></td><td>アドオン名の配列。シート付きアドオンは <code>AddonName:Seats</code> (例: <code>connection_manager:5</code>)。</td></tr><tr><td><strong>Node</strong></td><td>MCを紐づけるノード名またはID。省略時はルートノード。</td></tr></tbody></table>

**例:**

```powershell
PS> New-KeeperManagedCompany -Name "New MC" -PlanId enterprise -MaximumSeats 10
PS> New-KeeperManagedCompany -Name "New MC" -PlanId enterprise -MaximumSeats 10 -Storage 1TB -Node "Branch"
PS> New-KeeperManagedCompany -Name "new_mc_2" -PlanId enterprise -MaximumSeats 15 -Storage 100GB -Node test1 -Addons "secrets_manager,enterprise_breach_watch"
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### 管理対象企業更新コマンド <a href="#msp-update" id="msp-update"></a>

既存の管理対象企業の名前、プロダクト、シート、ストレージ、ノード、アドオンを更新します。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-update <COMPANY>` または `msp-update` または `mu`

**フラグ:**

* `--name` : 新しい管理対象企業名
* `--product` または `-p` : プロダクトプラン
* `--seats` または `-s` : 最大シート数
* `--node` : ノード名またはID
* `--storage` : ストレージプラン
* `--addons` : カンマ区切りのアドオン

**値:** `COMPANY` = 管理対象企業名またはID (必須)

**例:**

```sh
My Vault> mc-update 3861 --seats=20 --product=enterprisePlus
My Vault> mc-update "Company 1" --name="Company 1 Updated"
Managed Company "Company 1 Updated", ID:3861 has been updated.
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `UpdateManagedCompany(int companyId, ManagedCompanyOptions options)`

**例:**

```csharp
var options = new ManagedCompanyOptions
{
    NumberOfSeats = 20,
    ProductId = "enterprisePlus"
};
var updated = await managedCompanyData.UpdateManagedCompany(3861, options);
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Edit-KeeperManagedCompany`

**別名:** `kemc`

**フラグ:**

* `-Id` : 管理対象企業名またはID (必須、位置0)
* `-Name` : 新しい名前
* `-PlanId` : プラン
* `-MaximumSeats` : シート数
* `-Storage` : 100GB、1TB、10TB
* `-Addons` : アドオン
* `-Node` : ノード名またはID

**例:**

```powershell
PS> Edit-KeeperManagedCompany -Id 3861 -MaximumSeats 20 -PlanId enterprisePlus
PS> Edit-KeeperManagedCompany -Id new_mc_2 -Name "New Managed Company"                                                              
                          
CompanyId CompanyName         PlanId     PlanName   FilePlanName Allocated Active
--------- -----------         ------     --------   ------------ --------- ------
314915    New Managed Company enterprise Enterprise 100GB               15      0
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### 管理対象企業削除コマンド <a href="#msp-delete" id="msp-delete"></a>

名前またはIDで管理対象企業を削除します。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-delete <COMPANY>` または `msp-remove` または `mrm`

**フラグ:** なし

**値:** `COMPANY` = 管理対象企業名またはID (必須)

**例:**

```sh
My Vault> mc-delete 3861
My Vault> mc-delete "Company 1"
Managed Company "Company 1", ID:3861 has been removed.
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `RemoveManagedCompany(int companyId)`

**例:**

```csharp
await managedCompanyData.RemoveManagedCompany(3861);
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Remove-KeeperManagedCompany`

**別名:** `krmc`

**フラグ:**

* 位置0 : 管理対象企業名またはID (必須)

**例:**

```powershell
PS> Remove-KeeperManagedCompany 3861
PS> Remove-KeeperManagedCompany "Company 1"
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### MSPログイン (管理対象企業へ切替) コマンド <a href="#msp-login-switch-to-mc" id="msp-login-switch-to-mc"></a>

CLIのコンテキストを管理対象企業に切り替え、以降のコマンドをそのMCのコンテキストで実行します。DotNet CLIは専用のMCコンテキストを使います。PowerCommanderは現在の管理対象企業IDを設定して同期します。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-login <MC_COMPANY_ID>`

**フラグ:** なし

**値:** `MC_COMPANY_ID` = 管理対象企業ID (必須)。IDは`mc-list`で確認する。

**例:**

```sh
My Vault> mc-login 3987
# Prompt changes to "Managed Company"; subsequent commands run in MC context
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `LoginToManagedCompany(IEnterpriseLoader enterprise, int mcEnterpriseId)` (`ManagedCompanyAuth` 上)

**例:**

```csharp
var mcAuth = new ManagedCompanyAuth();
await mcAuth.LoginToManagedCompany(enterprise, 3987);
// Use mcAuth as the new auth/enterprise context for MC operations
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Switch-KeeperMC`

**別名:** `switch-to-mc`

**フラグ:**

* `-Name` (位置0) : 管理対象企業IDまたは名前 (必須)

**例:**

```powershell
PS> Switch-KeeperMC 3987
PS> switch-to-mc "Company Name"
Switched to MC "Company Name"
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### MSPロールのコピーコマンド <a href="#msp-convert-node" id="msp-convert-node"></a>

MSPのエンタープライズにある1件以上の**ロール** (付随する**適用設定**を含む) を、1件以上の管理対象企業へコピーします。

<details>

<summary>DotNet CLI</summary>

近日公開

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `ConvertNodeToManagedCompanyAsync(NodeToManagedCompanyRequest request)`

**例:**

```csharp
var request = new NodeToManagedCompanyRequest { CompanyId = companyId };
// Optionally populate Nodes, Roles, Users, RoleKeys, TeamKeys, UsersDataKeys
// with re-encrypted data for the MC.
await managedCompanyData.ConvertNodeToManagedCompanyAsync(request);
await enterprise.Load();
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:**

```
Copy-KeeperMCRole
```

**フラグ:**

<table><thead><tr><th width="207.7509765625">パラメータ</th><th>説明</th></tr></thead><tbody><tr><td><strong>Role</strong></td><td>コピー元ロールの<strong>名前</strong>または<strong>ID</strong>。繰り返し指定可 (複数ロール)。MSPエンタープライズ内で解決される。</td></tr><tr><td><strong>ManagedCompany</strong></td><td>宛先MCの<strong>名前</strong>または<strong>ID</strong>。繰り返し指定可 (複数MC)。</td></tr></tbody></table>

例:

```ps1
PS> Copy-KeeperMCRole -Role "Auditor", "Help Desk" -ManagedCompany "Acme"
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### MSPへの切替コマンド <a href="#msp-switch-to-msp" id="msp-switch-to-msp"></a>

管理対象企業のコンテキストにいるとき、コンテキストをMSPに戻します。実質的に管理対象企業からログアウトします。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `switch-to-msp` または `msp`

**フラグ:** なし

**例:**

```sh
Managed Company> switch-to-msp
Managed Company> msp
# Or use "exit" to return to MSP context
# Prompt returns to "My Vault"
```

</details>

<details>

<summary>DotNet SDK</summary>

専用のSDK呼び出しはありません。コンテキスト切り替えはCLI/シェルが扱います。`ManagedCompanyAuth`使用時は、MCコンテキストに入ったときに保存した親の認証/コンテキストへ戻します。

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Switch-KeeperMSP`

**別名:** `switch-to-msp`

**フラグ:** なし

**例:**

```powershell
PS> Switch-KeeperMSP
PS> switch-to-msp
Switched to MSP
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### MSP請求レポートコマンド <a href="#msp-delete" id="msp-delete"></a>

指定月の **MSP従量課金明細書** を生成します。MSPアカウントが必要です。

<details>

<summary>DotNet CLI</summary>

**コマンド:** `mc-delete <COMPANY>` または `msp-remove` または `mrm`

**フラグ:** なし

**値:** `COMPANY` = 管理対象企業名またはID (必須)

**例:**

```sh
My Vault> mc-delete 3861
My Vault> mc-delete "Company 1"
Managed Company "Company 1", ID:3861 has been removed.
```

</details>

<details>

<summary>DotNet SDK</summary>

**メソッド:** `RemoveManagedCompany(int companyId)`

**例:**

```csharp
await managedCompanyData.RemoveManagedCompany(3861);
```

</details>

<details>

<summary>PowerCommander</summary>

**コマンド:** `Get-MspBillingReport`

**パラメータ**

<table><thead><tr><th width="185.98828125">パラメータ</th><th>説明</th></tr></thead><tbody><tr><td><strong>Month</strong></td><td>月を <strong>1–12</strong> (数値) または <strong>YYYY-MM</strong> (例: <code>2022-02</code>) で指定。省略時は<strong>直前の暦月</strong>。</td></tr><tr><td><strong>Year</strong></td><td>年 (例: <code>2022</code>)。<strong>Month</strong>が数値のみのときに使用。</td></tr><tr><td><strong>ShowDate</strong></td><td>レポートを日付で内訳表示する。</td></tr><tr><td><strong>ShowCompany</strong></td><td>レポートを管理対象企業で内訳表示する。</td></tr><tr><td><strong>Format</strong></td><td><code>table</code> (既定)、<code>json</code>、または<code>csv</code>。</td></tr><tr><td><strong>Output</strong></td><td>指定した場合、このファイルパスにレポートを保存する。</td></tr></tbody></table>

**例:**

```ps1
# Previous month (default)
Get-MspBillingReport

# Specific month
Get-MspBillingReport -Year 2025 -Month 11  
Consumption Billing Statement: November 2025


Product                        Licenses Rate AvgPerDay InitialLicenses FinalLicenses MaxLicenses
-------                        -------- ---- --------- --------------- ------------- -----------
enterprise                           30          1.000               1             1           1
enterprise_audit_and_reporting       30          1.000               1             1           1
enterprise_breach_watch              30          1.000               1             1           1
compliance_report                    30          1.000               1             1           1

=======================================================================================
Get-MspBillingReport -Year 2026 -Month 1  
Consumption Billing Statement: January 2026


Product                           Licenses Rate AvgPerDay InitialLicenses FinalLicenses MaxLicenses
-------                           -------- ---- --------- --------------- ------------- -----------
business                                31          1.000               1             1           1
enterprise                              64          2.060               2             3           3
enterprisePlus                          30          0.970               0             2           3
Product 10000                           60          1.940               1             3           3
enterprise_audit_and_reporting          58          1.870               1             2           2
enterprise_breach_watch                 31          1.000               1             1           1
msp_service_and_support                 29          0.940               0             2           2
compliance_report                       60          1.940               1             3           3
secrets_manager                          0          0.000               0             0           0
connection_manager                      64          2.060               0             3           3
remote_browser_isolation                64          2.060               0             3           3
privileged_access_manager               48          1.550               0             3           3
keeper_endpoint_privilege_manager        0          0.000               0             0           0
```

</details>

<details>

<summary>Python CLI</summary>

近日公開

</details>

<details>

<summary>Python SDK</summary>

近日公開

</details>

### MSPアドオンオプション <a href="#msp-addon-options" id="msp-addon-options"></a>

* compliance\_report
* enterprise\_audit\_and\_reporting
* secrets\_manager
* enterprise\_breach\_watch
* onboarding\_and\_certificate
* msp\_service\_and\_support
* connection\_manager
* chat
* password\_rotation
* remote\_browser\_isolation
* privileged\_access\_manager
* keeper\_endpoint\_privilege\_manager


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/commander-sdk/keeper-commander-sdks/sdk-command-reference/msp-management-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
