Intuneの設定をバックアップしよう! Intune BackupAndRestoreを試してみた

必要要件

  • Power Shell Version 5.1以降
  • .NET Framework 4.7.2以降

必要に応じて以下のコマンドでPower Shellを最新版に更新してください

Install-Module PowerShellGet -Force
目次

IntuneBackupAndRestoreでバックアップされるもの

以下のIntuneの設定をバックアップしてくれます

  • クライアントアプリ(設定内容のみ、リストアはできない)
  • デバイスコンプライアンスポリシー
  • エンドポイントセキュリティでの設定
  • 構成プロファイル
  • アプリ構成ポリシー
  • アプリ保護ポリシー
  • 更新リング

IntuneBackupAndRestoreのインストール

  1. PowerShellを管理者権限で起動します
  2. 次のコマンドを実行インストールします。
Install-Module -Name IntuneBackupAndRestore
  1. 次のコマンドを実行し、Microsoft.Graph.Intuneをインストールします
Install-Module -Name Micorosoft.Graph.Intune
  1. PowerShellの実行に実行ポリシーの変更が必要なため、以下のコマンドで設定を変更します
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Microsoft Graph PowerShell SDKが必要になるため、以下のコマンドを実行しインストールします
Install-Module Microsoft.Graph -Scope CurrentUser
  1. 以下のコマンドでインストールが完了したかを確認します
Get-InstalledModule Microsoft.Graph
  1. 依存関係含め、アップデートします
Update-Module Microsoft.Graph

Microsoft365テナントに接続

バックアップを取得したいテナントに以下のコマンドを実行し接続します

Connect-MSGraph

管理者権限を持っているユーザーで接続します。
要求されたアクセス許可を承諾します
以下のようにTenantIdが表示されれば接続されています

UPN                   TenantId
---                   --------
[email protected] hogehoge-hogehoge-hoge-hogehoge

IntuneのBackupをする

以下のコマンドを実行し、モジュールを利用できるようにします

Import-Module IntuneBackupAndRestore

とりあえずフルバックアップしてみる

以下のコマンドを実行し、Intuneのフルバックアップをしてみます

Start-IntuneBackup -Path C:¥temp¥IntuneBackup

実行するとバックアップ状況が表示されていきます

Action Type                             Name                                                                Path
------ ----                             ----                                                                ----
Backup Intune Backup and Restore Action IntuneBackupAndRestore - Start Intune Backup Config and Assignments C:\temp\...
Backup Client App                       7-Zip 21.07 (x64 edition)                                           Client A...
Backup Client App                       Apple Configurator                                                  Client A...
Backup Client App                       Dialpad                                                             Client A...
Backup Client App                       Evernote                                                            Client A...
Backup Client App                       Excel Mobile                                                        Client A...
Backup Client App                       Google Chrome                                                       Client A...
Backup Client App                       GoogleChrome.pkg                                                    Client A...
Backup Client App                       Intune ポータル サイト                                              Client A...

Intune設定をRestoreする

開発者ライセンスを新規に取得し、IntuneのデータをRestoreしてみます
コンプライアンスポリシー等に何もない状態です

開発者テナントへPowerShellからの接続先を切り替えて、
リストアコマンドを実行してみます。

 Start-IntuneRestoreConfig -Path C:\temp\IntuneBackup

バックアップファイルから設定が読み込まれていきます

Action  Type                             Name                                                 Path
------  ----                             ----                                                 ----
Restore Intune Backup and Restore Action IntuneBackupAndRestore - Start Intune Restore Config C:\temp\IntuneBackup
Restore Device Compliance Policy         macOSコンプライアンス・ポリシー                      Device Compliance Poli...
Restore Device Compliance Policy         Win10コンプラポリシー                                Device Compliance Poli...
Restore Device Configuration             Endpoint onboarding for macOS                        Device Configurations\...

途中以下のエラーが表示されましたが、多分これは開発者ライセンスにMDEのライセンスが付属しないからではないかと思います。
バックアップを取得したテナントはM365E5のためMDEライセンスが付与されています。

詳細: 検出と応答 - Failed to restore Device Management Intent (Endpoint detection and response)
Invoke-IntuneRestoreDeviceManagementIntent : 400 Bad Request

コンプライアンスポリシーがリストアされたことが確認できます

スクリプトもバックアップされる

バックアップを取得したパスに移動し、 Device Management Scripts¥Script Content の中に設定したPS1ファイル等が保存されています
Intuneの管理画面からはスクリプトの内容は確認できませんが、一度バックアップを取得して、スクリプトの中身を確認するということができそうですね

コンプライアンスポリシーだけリストアする

全体ではなく、コンプライアンスポリシーだけをリストアすることも可能です。
次のコマンドを実行します

Invoke-IntuneRestoreDeviceCompliancePolicy -Path C:\temp\IntuneBackup

アサインのリストア

ポリシーのどのグループがアサインされていかたもバックアップされていますので、
バックアップしたテナントへのリストアについては、割当グループもリストアされるようです。
新規テナントに関しては、作成したグループのオブジェクトIDを、jsonファイルへ書き込んでからリストアすればリストア+割当が実現できそうです。

注意事項

すでにリストアされたか等の確認はしてくれませんので、
コマンドを2回実行すると、同じ項目が2つ作成されます。
そこは注意してリストアをするようにしましょう

終わりに

万が一のために本番テナントのIntune設定をバックアップしておくと良さそうですね。

またCompare-IntuneBackupFileコマンドというのがあるので、バックアップしたJSONを指定すると、設定差分を表示してくれます。
管理者が複数人いる場合にはどこが変更されたのかを確認するツールとしても利用できそうです。
以下のような形で差分表示をしてくれます

 Compare-IntuneBackupFile -ReferenceFilePath 'C:\temp\bkup001\Device Compliance Policies\macOSコfンプライアンス・ポリシー.json' -DifferenceFilePath 'C:\temp\bkup002\Device Compliance Policies\macOSコンプライアンス・ポリシー.json'

Property                           Old value           New value
--------                           ---------           ---------
lastModifiedDateTime               2022/06/04 14:10:31 2022/06/04 14:17:55
version                            4                   5
passwordMinimumLength              8                   null
passwordPreviousPasswordBlockCount 2                   null

どこが変わったんだー!?と探し回るよりはるかに簡単に変更箇所を特定することができます。 それでは!よいIntuneライフを!

おまけ

IntuneBakupAndRestoreを調べていて見つけたツールがあります。 設定内容をWord形式で英語ですが出力してくれます。 パラメーターシートが必要な場合はこちらを利用してもいいかもしれません。 使い方は以下のとおりです。

Install-Module -Name IntuneDocumentation
Invoke-IntuneDocumentation -FullDocumentationPath C:\temp\IntuneBackup\IntuneDoc.docx

こんな感じの出力をしてくれます。

ここまで書いておいてあれですが、Intune Managerのほうがバックアップできる項目は多いです(笑)

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次