既存のバージョンをトリミングする

ライブラリ、サイト、またはテナントのレベルでファイル バージョンを分析、管理、トリミングすることで、バージョン ストレージの消費量を削減する方法について説明します。

注意

トリミング ジョブを使用して削除されたバージョンは完全に削除されます。 この削除ワークフローでは、通常のごみ箱の保持がバイパスされ、Microsoft 365 バックアップまたは同様のバックアップ ソリューションを使用して以前にデータがバックアップされていない限り、削除されたバージョンは復元できません。 不要なデータ損失を防ぐために、トリミング アクティビティの前に What-If 分析を実行する ことを強くお勧めします。

Microsoft 365 のグローバル管理者または SharePoint 管理者として、ジョブをキューに登録して既存のバージョンをトリミングし、organization全体のバージョン ストレージのフットプリントを削減できます。 トリミングはさまざまな範囲に適用できます。

  • サイト、ライブラリ、または OneDrive レベル - 特定のサイト、ドキュメント ライブラリ、または OneDrive ユーザー アカウントをターゲットにします。
  • テナント レベル — テナント レベルのバージョン ポリシーを 1 回の操作ですべてのサイトに適用します。

バージョンの可用性は、不要な変更を元に戻すなどの回復シナリオでは重要です。 スコープでトリミングする前に、回復目標を慎重に評価し、予測される影響を確認します。


サイト、ライブラリ、または OneDrive から既存のバージョンをトリミングする

ジョブをキューに登録して、サイト、ライブラリ、または OneDrive ユーザー アカウント上の既存のバージョンをトリミングして、サイトのバージョン ストレージのフットプリントを削減できます。 また、既存のバージョンをトリミングするジョブをスケジュールすることで、既存のバージョンのストレージを更新されたバージョン履歴制限に合わせて調整することもできます。

フェーズ おすすめのアクション
準備 復旧目標とターゲット バージョンのストレージの使用を評価する:organizationの回復目標を達成するために必要な適切なトリム モードとトリム スコープを決定します。 レビューの影響: 既存のバージョンのトリミングをコミットする前に、指定されたスコープで選択したトリム モードの 'What-if' 分析操作を実行することで、消去アクションの影響を確認することができます。
キュー ジョブ トリミング ジョブをコミットする準備ができたら、バージョン トリミング ジョブをキューに入れて、サイト、ライブラリ、または OneDrive ユーザー アカウント内のトリミング モードで指定された条件に一致するバージョンを非同期に削除できます。
進行状況の追跡 キューに登録されているすべてのジョブの進行状況を追跡して、トリミング バージョンでの進行状況を確認できます。

注:

トリム ジョブは、評価するファイル バージョンの量、サービスの正常性、ファームで処理されているその他のジョブなどの要因の影響を受けるバックグラウンド ジョブです。 また、オフピーク時間の処理ロジックの対象にもなります。 トリム ジョブの進行状況は常に追跡できます。

'What-if' 分析を実行して影響を確認する

既存のバージョンのトリミングにコミットする前に、「What-if」分析操作を実行して、消去アクションの影響を確認できます。 'What-if' 操作の実行は、次の手順に従います。

  • サイトまたはライブラリのバージョン ストレージ使用状況レポートを生成する: このレポートは、バージョン ストレージ分析や、さまざまなトリミング設定を適用した場合の影響に関する重要な分析情報の取得など、複数の用途をサポートしています。
  • 異なるトリミング モードを設定して 'What-If' 分析を実行し、変更をプレビューし、いずれかのトリミング モードをバージョン ストレージ レポートの CSV ファイルに適用した場合のストレージ節約の影響を分析します。

重要

サイトまたはライブラリのサイズによっては、ジョブが完了するまでに数日かかる場合があります。 ステータスが「完了」に戻るまでジョブの進行状況を確認します。

バージョンのトリム モード

バージョン トリミング ワークフローでは、サイト、ドキュメント ライブラリ、または OneDrive アカウントでトリミング ジョブをキューに登録するためのトリミング モードのいずれかを選択して適用できます。

自動トリミング モードでは、自動アルゴリズムを適用して既存のバージョンを削除します。 バージョンの有効期限に応じて、ジョブはバージョンを完全に削除するか、自動バージョン ストレージ アルゴリズムに従って有効期限を設定します。

自動トリミング モードの詳細については、「 自動制限」の「バージョン ストレージについて」を参照してください。

手動有効期限トリム モード

手動有効期限トリミング モードでは、バージョンの経過期間が評価され、有効期限条件に一致するバージョンが削除されます。

例: 次の例では、60 日より前のバージョンをトリミングするために、トリム ジョブがキューに入れられます。 8 月 31 日にジョブが引き継がれ、8 月 31 日の時点で 60 日より古いバージョンの完全な削除が開始されます。

重要

手動有効期限トリム モードの既知の制限事項:

  1. 手動有効期限トリミング モードでは、過去 30 日間に作成されたバージョンは削除されません。 つまり、入力は 30 日未満にすることはできません。
  2. 有効期限の手動トリミング モードでは、2023 年 1 月 1 日より前に作成されたすべてのバージョンが常に削除されます。 バージョンをトリミングする場合は、2023 年 1 月 1 日より前に作成された古いバージョンを保持することはできません。 つまり、 DeleteBeforeDays パラメーターに使用する値は、2023 年 1 月 1 日より後の日付になるはずです。

手動カウント制限トリム モード

手動カウント制限トリム モードでは、指定されたカウント制限を超える最も古いバージョンが削除されます。

例: 以下の例では、メジャー バージョンの数が 50 を超えるバージョンを削除するためにトリム ジョブがキューに入れられます。 8 月 31 日に、ジョブは 8 月 31 日時点で 50 のメジャー バージョン数制限を超える古いバージョンの完全な削除を開始します。

ヒント

手動カウント、有効期限、自動トリム モードのいずれかを適用して影響分析を実行して、各モードでのバージョン削除の影響を理解できます。

トリミング ジョブをキューに入れ、進行状況を追跡する

バージョン トリミング ワークフローでは、ジョブを使用して、トリム モードで指定された条件に一致するバージョンを非同期で削除します。

トリム ジョブをキューに入れるには、バージョン削除のスコープとトリム モードを決定して、既存のバージョン削除の条件を設定する必要があります。 サイト内のすべてのドキュメント ライブラリまたは特定のドキュメント ライブラリのバージョン経過時間、カウント制限、自動アルゴリズムに基づいて、古いファイル バージョンを削除できます。

トリムをコミットする準備ができたら、トリム モード条件に一致するバージョンを非同期で削除するためにジョブをキューに入れることができます。 コミットされたトリム ジョブの進行状況を監視して、削除の進行状況を追跡できます。

注:

アイテム保持ポリシーまたは電子情報開示ホールドの対象となるバージョンでのバージョンのトリミングのしくみの詳細については 、「よく寄せられる質問」を参照してください。

PowerShell を使用して既存のバージョンをトリミングする

PowerShell を使用して既存のバージョンをトリミングするには、次の手順に従います。

  1. 最新の SharePoint Online 管理シェルをダウンロードします

    注:

    以前のバージョンの SharePoint Online 管理シェルをインストールした場合は、[プログラムの追加と削除] に移動し、SharePoint Online 管理シェルをアンインストールします。

  2. Microsoft 365 の グローバル管理者または SharePoint 管理者 として SharePoint に接続します。 方法の詳細については、「SharePoint Online 管理シェルの使用を開始する」を参照してください。

  3. 次のいずれかのコマンドを実行して、既存のバージョンをトリミングします。

    操作 PowerShell コマンド
    トリム ジョブをキューに入れてバージョンを期限切れにする サイトのバージョンの有効期限:New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -DeleteBeforeDays <days>ライブラリの有効期限バージョン:New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -list $libName -DeleteBeforeDays <days>
    トリム ジョブをキューに入れて、指定したカウント制限を超えるバージョンを削除する サイトからカウント制限を超えたバージョンを削除する:New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -MajorVersionLimit <delete major versions exceeding limit> -MajorWithMinorVersionsLimit <number of major versions for which all minor versions will be kept>カウント制限を超えたバージョンをライブラリから削除する:New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -list $libName -MajorVersionLimit <delete major versions exceeding limit> -MajorWithMinorVersionsLimit <number of major versions for which all minor versions will be kept>
    推定自動トリミング アルゴリズムを使用してバージョンを削除するためのキュー トリミング ジョブ 自動ロジックを適用して、サイトから既存のバージョンをトリミングする:New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -Automatic自動ロジックを適用して、ライブラリから既存のバージョンをトリミングします。New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName -Automatic
    個々のドキュメント ライブラリのバージョン履歴制限を使用してバージョンを削除するためのサイト レベルのトリミング ジョブをキューに入れる すべてのドキュメント ライブラリのバージョン履歴制限をサイトと同じように同期し、サイトから既存のバージョンをトリミングします。New-SPOSiteManageVersionPolicyJob -Identity $siteUrl -SyncListPolicy -TrimUseListPolicy
    キュー ライブラリ レベルのトリミング ジョブを使用して、バージョン履歴の制限を使用してバージョンを削除します バージョン履歴の制限を使用してライブラリから既存のバージョンをトリミングします。New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName -TrimUseListPolicy
    進行中のトリミング ジョブの今後の処理を停止する 進行中のサイト レベルのトリム ジョブの処理を停止するには:Remove-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl または Remove-SPOSiteManageVersionPolicyJob -Identity $siteUrl進行中のライブラリ レベルのトリミング ジョブの処理を停止するには:Remove-SPOListFileVersionBatchDeleteJob -Site $siteUrl -List $libName
    ファイル バージョンのトリミング ジョブの状態を取得する サイト レベルのトリミング ジョブの状態を取得するには:Get-SPOSiteFileVersionBatchDeleteJobProgress -Identity $siteUrl または Get-SPOSiteManageVersionPolicyJobProgress -Identity $siteUrlライブラリ レベルのトリミング ジョブの状態を取得するには:Get-SPOListFileVersionBatchDeleteJobProgress -Site $siteUrl -List $libName

テナント レベルで既存のバージョンをトリミングする

注:

テナント レベルのバージョンのトリミングは現在プライベート プレビュー段階です。 この機能は、フィードバックに基づいて変更される場合があります。たとえば、特定の期間内に実行できるジョブ数の調整制限の追加などです。

テナント管理者は、テナント レベルの操作を使用して、テナント内のすべてのサイトでファイル バージョンのトリミング ジョブを開始し、テナント ポリシーと一致するようにドキュメント ライブラリのバージョン ポリシーを更新し、what-if 分析を使用してトリミングのストレージへの影響を予測できます。

テナント レベルのファイル バージョン トリミング コマンドレットでは、次のことができます。

  • すべてのドキュメント ライブラリのバージョン ポリシーを更新して、テナント ポリシーと一致させます。
  • そのポリシーに基づいて既存のバージョンをトリミングします。
  • 進行状況を追跡し、テナント レベルのジョブを削除します。

トリミングの影響を理解するために、追加のコマンドレットを使用すると、最初の非同期データ収集ジョブの後に高速で同期的な what-if 分析クエリを実行できます。

注意

トリミング ジョブを使用して削除されたバージョンは完全に削除されます。 この削除ワークフローでは、通常のごみ箱の保持がバイパスされ、Microsoft 365 バックアップまたは同様のバックアップ ソリューションを使用して以前にデータがバックアップされていない限り、削除されたバージョンは復元できません。

前提条件と制限事項

  • SharePoint 高度な管理ライセンスまたは Copilot ライセンスが必要です。
  • 一度に許可されるテナント 1 つのジョブのみ。
  • 次のサイト タイプは処理から除外されます。
    • 読み取り専用サイト
    • ロックされたサイト
    • アーカイブされたサイト
    • バージョン ポリシーの継承が壊れたサイト
  • ジョブの進行中にテナント レベルのバージョン ポリシーが変更された場合、ジョブは更新されたポリシーを残りの未処理サイトに適用します。 既に処理されたサイトは再評価されません。
  • テナント レベルのトリムでは、テナント レベルで構成されたバージョン ポリシー (自動、手動有効期限、または手動カウント制限) が使用されます。 これらのトリム モードを理解するには、上記の 「バージョンのトリム モード 」を参照してください。
  • what-if 分析は、 SharePoint サイトOneDrive アカウントの両方の影響データを返します。
  • テナントが Multi-Geo の場合は、what-if 分析とバージョンのトリミングを地理的な場所ごとに個別に実行する必要があります。

1. 前提条件

  1. 最新の SharePoint Online 管理シェルをダウンロードします

  2. Microsoft 365 の グローバル管理者または SharePoint 管理者 として SharePoint に接続します。 方法の詳細については、「SharePoint Online 管理シェルの使用を開始する」を参照してください。

  3. 次を実行して、テナント レベルのバージョン ポリシーを確認します。

    Get-SPOTenantVersionPolicy
    

    Get-SPOTenant を使用して、EnableAutoExpirationVersionTrimMajorVersionLimitExpireVersionsAfterDays、および VersionPolicyFileTypeOverride プロパティチェックすることもできます。

トリムにコミットする前に、バージョンを削除せずにテナント バージョン ポリシーの影響を見積もることができます。

  1. データ収集ジョブを実行し て、すべてのサイトのバージョン データを収集します。

    New-SPOTenantApplyFileVersionPolicyJob -CollectVersionData
    
  2. 完了するまでデータ収集ジョブを監視します。

    Get-SPOTenantApplyFileVersionPolicyJobProgress
    
  3. what-if クエリを実行し て、ポリシーを適用した場合の影響を予測します。

    Get-SPOTenantApplyFileVersionPolicyJobImpact
    

    Get-SPOVersionPolicyWithChanges を使用して異なるポリシー オプションを持つ複数の what-if クエリを実行し、比較用に変更されたポリシー オブジェクトを作成できます。

  4. 予測される影響を確認し、目的のバージョン ポリシーを選択します。

3. 既存のバージョンをトリミングし、ドキュメント ライブラリ ポリシーを更新する

テナントのバージョン ポリシーを確認し、予測される影響を確認した後:

  1. 必要なオプションを使用してトリム ジョブを実行します

    # Trim existing versions AND set version policy on all libraries
    New-SPOTenantApplyFileVersionPolicyJob -TrimVersions -SetVersionPolicy
    
    # Or trim only (without updating library policies)
    New-SPOTenantApplyFileVersionPolicyJob -TrimVersions
    
    # Or set policy only (without trimming existing versions)
    New-SPOTenantApplyFileVersionPolicyJob -SetVersionPolicy
    
    # Or specify a custom version policy object
    $policy = Get-SPOVersionPolicyWithChanges -VersionPolicy (Get-SPOTenantVersionPolicy) -EnableAutoExpirationVersionTrim $true
    New-SPOTenantApplyFileVersionPolicyJob -VersionPolicy $policy -TrimVersions
    
  2. トリム ジョブを監視および検証します。

    Get-SPOTenantApplyFileVersionPolicyJobProgress
    
  3. 進行中のジョブを取り消します (必要な場合):

    Remove-SPOTenantApplyFileVersionPolicyJob
    

    注:

    コマンドレットが正常に実行されると、すべての新しい非同期バージョンの削除が停止されます。 トリム ジョブをキャンセルしても、ジョブの進行中に完全に削除されたバージョンには影響しません。

テナント レベルの PowerShell コマンドレット リファレンス

操作 PowerShell コマンドレット Reference
バージョン データの収集 (what-if の前提条件) New-SPOTenantApplyFileVersionPolicyJob -CollectVersionData New-SPOTenantApplyFileVersionPolicyJob
影響の見積もり (what-if クエリ) Get-SPOTenantApplyFileVersionPolicyJobImpact Get-SPOTenantApplyFileVersionPolicyJobImpact
現在のテナント ポリシーを使用して既存のバージョンをトリミングする New-SPOTenantApplyFileVersionPolicyJob -TrimVersions New-SPOTenantApplyFileVersionPolicyJob
すべてのドキュメント ライブラリにバージョン ポリシーを設定する New-SPOTenantApplyFileVersionPolicyJob -SetVersionPolicy New-SPOTenantApplyFileVersionPolicyJob
トリミング + ポリシーの設定 New-SPOTenantApplyFileVersionPolicyJob -TrimVersions -SetVersionPolicy New-SPOTenantApplyFileVersionPolicyJob
特定のポリシー オブジェクトでトリミングする New-SPOTenantApplyFileVersionPolicyJob -VersionPolicy $policy -TrimVersions New-SPOTenantApplyFileVersionPolicyJob
ジョブの進捗状況を追跡する Get-SPOTenantApplyFileVersionPolicyJobProgress Get-SPOTenantApplyFileVersionPolicyJobProgress
進行中のジョブを取り消す Remove-SPOTenantApplyFileVersionPolicyJob Remove-SPOTenantApplyFileVersionPolicyJob
現在のテナント バージョン ポリシーを取得する Get-SPOTenantVersionPolicy Get-SPOTenantVersionPolicy
変更されたポリシー オブジェクトをローカルで作成する Get-SPOVersionPolicyWithChanges Get-SPOVersionPolicyWithChanges

詳細情報

詳細については、次のリソースをチェックしてください。