> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/ja/zi-dong-hua/runbooks/runbook-references/user/collab/pre-provision-onedrive.md).

# OneDrive を事前プロビジョニング

このユーザーの OneDrive を最初のサインイン前に要求します

### 説明

このユーザーの OneDrive を SharePoint Online に要求し、初回サインイン前に利用できるようにします。アカウントは有効である必要があり、ライセンス チェックがオンのときは SharePoint サービス プランが割り当てられている必要があります。OneDrive がすでに存在する場合は何も要求されません。SharePoint はバックグラウンドで OneDrive を作成し、通常は数分以内、場合によっては 24 時間後になることもありますが、実行はそれを待機しません。

### 仕組み

各実行で、runbook は次を行います：

1. Automation アカウントのマネージド ID を使用して Microsoft Graph と SharePoint Online (PnP PowerShell) に接続します。SharePoint 管理センターの URL はテナント ルート サイトから自動的に導出されます。
2. 選択されたユーザー（`UserName`）を Microsoft Entra ID から読み取り、アカウントが存在しないか、または **無効化された**.
3. 必要に応じて、ユーザーが有効な **SharePoint** サービス プラン（参照 [ライセンス チェック](#license-check)).
4. ユーザーの OneDrive がアクティブなサイト コレクションとしてすでに存在するかどうかを確認します。存在する場合、要求を送信せずに実行を終了します。
5. テナントのごみ箱内でユーザーの削除済み OneDrive を探し、見つかった場合は警告を表示します。
6. 次を介して OneDrive の作成をキューに入れます `New-PnPPersonalSite` そして結果を出力します。

この runbook は RealmJoin ポータルのユーザー オブジェクトから開始されるため、ユーザーは常に事前選択されており、自由入力はありません。

#### アカウントは有効である必要があります

SharePoint は、サインインを許可されたユーザーに対してのみ OneDrive を作成します。ブロックされたユーザーからの要求は受け付けられますが、何も通知せずに無視されるため、誤解を招く「queued」メッセージが返ることになります。そのため runbook は、 `accountEnabled` が `false`。まずアカウントを有効にしてから runbook を再実行してください。

によって強制されるサインイン ブロックは **Conditional Access** runbook では検出できません。

#### ライセンス チェック

有効にすると **最初に SharePoint ライセンスを確認しますか？** (`CheckSharePointLicense`、既定で有効）runbook は、ユーザーに有効な SharePoint サービス プランがない場合に中止します。このチェックはユーザーの `assignedPlans`、そのため、すべてのライセンス ソースが対象になります：

* Microsoft 365 / Office 365 のスイート（例: E3、E5、F3、Business Standard）
* SharePoint Online Plan 1 / Plan 2 および OneDrive 単体プラン
* 直接割り当てとグループ ベースのライセンス割り当て

チェックが無効な場合でも、要求はそのままキューに入れられます。ただし、SharePoint ライセンスが割り当てられていない限り、SharePoint は OneDrive を作成しません。ライセンスを割り当てた後は、その割り当てが有効になるまで少し時間を置いてから runbook を実行してください。

#### 設計上、冪等です

* OneDrive がすでにアクティブなサイト コレクションとして存在する場合、runbook は `AlreadyProvisioned` と報告し、要求は送信しません。
* すでに OneDrive を持つユーザーに要求を送っても害はありません。SharePoint はそれを無視します。

#### ごみ箱内の削除済み OneDrive

テナントのごみ箱で、サイト所有者で照合されたユーザーの削除済み OneDrive が見つかった場合、runbook は URL と削除時刻を含む警告を表示します。新しい空の OneDrive を作成するより、既存の OneDrive を復元する方が望ましい場合があります。この警告で実行は停止しません。

#### 非同期プロビジョニング

runbook は単に **キューに入れるだけです** 要求を送信します。OneDrive は後で SharePoint のタイマー ジョブによって作成されます。通常は数分で完了しますが、24 時間以上かかることもあります。runbook は完了を待機しません。結果を確認するには runbook **OneDrive の状態を確認** （Org \\\ Collab）を使用してください。

runbook は次の内容を持つオブジェクトを返します： `UserPrincipalName`, `状態` (`AlreadyProvisioned` または `ProvisioningRequested`), `OneDrive URL` および `要求日時` （UTC）

#### 前提条件

次の API に対する権限は **Office 365 SharePoint Online** の API 権限は、Microsoft Graph の自動権限設定では割り当てられません。初回実行前に、テナントごとに一度だけ Automation アカウントのシステム割り当てマネージド ID に付与してください。

### 場所

User → Collab → OneDrive 事前プロビジョニング

**完全な Runbook 名**

rjgit-user\_collab\_pre-provision-onedrive

### 詳細

| プロパティ    | 値                                                                                                                     |
| -------- | --------------------------------------------------------------------------------------------------------------------- |
| バージョン    | 1.0.1                                                                                                                 |
| 必須モジュール  | <p>RealmJoin.RunbookHelper (>= 0.8.10)<br>Microsoft.Graph.Authentication (>= 2.41.2)<br>PnP.PowerShell (>= 3.4.1)</p> |
| スケジュール可能 | いいえ                                                                                                                   |

### 権限

#### アプリケーションのアクセス許可

* **種類**: Microsoft Graph
  * Sites.Read.All
    * *Connect-PnPOnline で使用する SharePoint 管理センター URL を導出するために、テナント ルート サイト (/sites/root) を読み取ります。*
  * User.Read.All
    * *選択されたユーザー（accountEnabled、userPrincipalName、assignedPlans）を読み取り、プロビジョニング要求を送信する前にアカウントが有効であること、および必要に応じて有効な SharePoint サービス プランが割り当てられていることを確認します。*
* **種類**: Office 365 SharePoint Online
  * Sites.FullControl.All
    * *SharePoint 管理センターに対する Connect-PnPOnline と、OneDrive の個人用サイト、テナントのごみ箱を確認し、OneDrive の作成をキューに入れる tenant-admin コマンドレット Get-PnPTenantSite、Get-PnPTenantDeletedSite、New-PnPPersonalSite に必要です。より下位のサイト スコープでは tenant-admin エンドポイントには十分ではありません。*
  * User.ReadWrite.All
    * *PnP PowerShell では、アプリケーション権限（ユーザー プロファイル サービス）を使用した New-PnPPersonalSite に必要と文書化されています。Get-PnPUserProfileProperty による PersonalUrl の読み取りも含みます。*

#### アクセス許可に関する注意

SharePoint Online: 'Sites.FullControl.All' と 'User.ReadWrite.All' のアプリケーション権限を、Office 365 SharePoint Online API（AppId 00000003-0000-0ff1-ce00-000000000000）上で、Automation アカウントのシステム割り当てマネージド ID に付与してください。この SharePoint の app-only 付与は、Microsoft Graph に使用される標準の Entra の app-role-assignment 自動化では実行できず、テナントごとに手動で割り当てる必要があります。

### パラメーター

#### UserName

Runbook が対象とするユーザーのユーザー プリンシパル名。ポータルで選択されたユーザーから設定されます。

| プロパティ    | 値                         |
| -------- | ------------------------- |
| 必須       | true                      |
| 既定値      |                           |
| 種類       | 文字列                       |
| ポータルで非表示 | はい (Runbook のカスタマイズで事前設定) |

#### CheckSharePointLicense

有効な場合、このユーザーに、直接またはグループ経由で割り当てられたライセンスの中に有効な SharePoint サービス プランがなければ runbook は停止します。無効な場合でも要求は送信されますが、SharePoint はライセンスが割り当てられてから初めて OneDrive を作成します。

| プロパティ   | 値                            |
| ------- | ---------------------------- |
| 必須      | false                        |
| 既定値     | True                         |
| 種類      | ブール値                         |
| ポータル表示名 | 最初に SharePoint ライセンスを確認しますか？ |

[Runbook リファレンスの概要に戻る](/ja/zi-dong-hua/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/ja/zi-dong-hua/runbooks/runbook-references/user/collab/pre-provision-onedrive.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
