次の方法で共有


委任されたアクセス許可 (DAP) パートナーのWindows PowerShellを使用して Microsoft 365 テナントを管理する

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

Windows PowerShellを使用すると、Syndication および Cloud Solution Provider (CSP) パートナーは、Microsoft 365 管理センターで利用できない顧客テナント設定を簡単に管理および報告できます。 パートナー管理者アカウントが顧客のテナントに接続するには、代理管理 (AOBO) アクセス許可が必要です。

委任アクセス許可 (DAP) パートナー とは、シンジケート パートナーとクラウド ソリューション プロバイダー (CSP) パートナーです。 多くの場合、他の企業へのネットワークまたは通信プロバイダーです。 Microsoft 365 サブスクリプションを顧客へのサービス オファリングにバンドルします。 Microsoft 365 サブスクリプションを販売すると、顧客のテナントに対する代理管理 (AOBO) アクセス許可が自動的に付与されるため、顧客のテナントを管理して報告できます。

はじめに把握しておくべき情報

このトピックの手順では、PowerShell を使用して Microsoft 365 に接続する必要があります。

注:

Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となりました。 詳細については、 非推奨の更新プログラムに関するページを参照してください。 この日付以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。

Microsoft Entra ID (旧称 Azure AD) と対話するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、移行に関する FAQ を参照してください。 メモ: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。

また、パートナーのテナント管理者の資格情報も必要です。

必要な作業

すべてのテナント ID を一覧表示する

注:

テナントが 500 を超える場合は、- All または -MaxResultsParameter を使用してコマンドレット構文のスコープを設定します。 これは、 Get-MsolUser など、出力のサイズが大きいコマンドレットに適用されます。

アクセスできるすべての顧客テナント ID を一覧表示するには、次のコマンドを実行します。

Get-MsolPartnerContract -All | Select-Object TenantId

これにより、 TenantId によってすべての顧客テナントの一覧が表示されます。

注:

PowerShell Core では、Windows PowerShell モジュールとコマンドレットの名前に Msol を含むMicrosoft Azure Active Directory モジュールはサポートされていません。 これらのコマンドレットを引き続き使用するには、Windows PowerShell から実行する必要があります。

ドメイン名を使用してテナント ID を取得する

ドメイン名によって特定の顧客テナントの テナント ID を取得するには、次のコマンドを実行します。 domainname.onmicrosoft.com を、必要な顧客テナントの実際のドメイン名に置き換えます<。>

Get-MsolPartnerContract -DomainName <domainname.onmicrosoft.com> | Select-Object TenantId

テナントのすべてのドメインを一覧表示する

任意の 1 つの顧客テナントの全ドメインを取得するには、次のコマンドを実行します。 customer TenantId 値を実際の値>に置き換えます<

Get-MsolDomain -TenantId <customer TenantId value>

追加のドメインを登録している場合は、顧客 TenantId に関連付けられているすべてのドメインが返されます。

すべてのテナントと登録済みドメインのマッピングを取得する

以前の PowerShell for Microsoft 365 コマンドでは、テナント ID またはドメインを取得する方法を示しましたが、両方を同時に取得する方法はなく、それらの間に明確なマッピングはありません。 このコマンドは、すべての顧客テナント ID とそのドメインの一覧を生成します。

$Tenants = Get-MsolPartnerContract -All; $Tenants | foreach {$Domains = $_.TenantId; Get-MsolDomain -TenantId $Domains | fl @{Label="TenantId";Expression={$Domains}},name}

テナントの全ユーザーを取得する

これにより、特定のテナントのすべての ユーザーの UserPrincipalNameDisplayNameisLicensed 状態が表示されますcustomer TenantId 値を実際の値>に置き換えます<

Get-MsolUser -TenantID <customer TenantId value>

ユーザーに関するすべての詳細を取得する

特定のユーザーのすべてのプロパティを表示する場合は、次のコマンドを実行します。 customer TenantId 値>とユーザー プリンシパル名の値を実際の値に置き換えます<><

Get-MsolUser -TenantId <customer TenantId value> -UserPrincipalName <user principal name value>

ユーザーの追加、オプションの設定、およびライセンスの割り当てを行う

Microsoft 365 ユーザーの一括作成、構成、およびライセンスは、Microsoft 365 用 PowerShell を使用することで特に効率的です。 この 2 つの手順のプロセスでは、最初にコンマ区切り値 (CSV) ファイルに追加するすべてのユーザーのエントリを作成し、PowerShell for Microsoft 365 を使用してそのファイルをインポートします。

CSV ファイルを作成する

次の形式を使用して、CSV ファイルを作成します。

UserPrincipalName,FirstName,LastName,DisplayName,Password,TenantId,UsageLocation,LicenseAssignment

各部分の意味は次のとおりです。

  • UsageLocation: この値は、ユーザーの 2 文字の ISO の国や地域コードです。 国や地域コードは、ISO オンライン参照プラットフォームで調べることができます。 たとえば、米国のコードは US、ブラジルのコードは BR です。

  • LicenseAssignment: この値は、 という形式を使用します syndication-account:<PROVISIONING_ID>。 たとえば、顧客テナント ユーザーをライセンスO365_Business_Premium割り当てる場合、 LicenseAssignment の値は次のようになります: syndication-account:O365_Business_Premium。 Syndication パートナー ポータルには、シンジケーションまたは CSP パートナーとしてアクセスできるPROVISIONING_IDsがあります。

CSV ファイルをインポートしてユーザーを作成する

CSV ファイルを作成したら、このコマンドを実行して、ユーザーが最初のサインイン時に変更する必要があり、指定したライセンスを割り当てる期限切れでないパスワードを持つユーザー アカウントを作成します。 必ず正しい CSV ファイル名に置き換えます。

Import-Csv .\FILENAME.CSV | foreach {New-MsolUser -UserPrincipalName $_.UserPrincipalName -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -Password $_.Password -UsageLocation $_.UsageLocation -LicenseAssignment $_.LicenseAssignment -ForceChangePassword:$true -PasswordNeverExpires:$true -TenantId $_.TenantId}

関連項目

パートナーのヘルプ