Code Monkey home page Code Monkey logo

intunebackupandrestore's Introduction

Intune Backup & Restore

PowerShell Gallery PowerShell Gallery

This PowerShell Module queries Microsoft Graph, and allows for cross-tenant Backup & Restore actions of your Intune Configuration.

Intune Configuration is backed up as (json) files in a given directory.

Installing IntuneBackupAndRestore

# Install IntuneBackupAndRestore from the PowerShell Gallery
Install-Module -Name IntuneBackupAndRestore

Updating IntuneBackupAndRestore

# Update IntuneBackupAndRestore from the PowerShell Gallery
Update-Module -Name IntuneBackupAndRestore

Prerequisites

As of version 2.0.0, the IntuneBackupAndRestore PowerShell Module has migrated from the MSGraphFunctions PowerShell module to the Microsoft.Graph.Intune PowerShell module. Please make sure you meet the prerequisites below.

  • Requires Microsoft.Graph.Intune PowerShell Module (Install-Module -Name Microsoft.Graph.Intune)
  • Connect to Microsoft Graph using the Connect-MSGraph PSCmdlet first.
  • Make sure to import the IntuneBackupAndRestore PowerShell module before using it with the Import-Module IntuneBackupAndRestore cmdlet.

Features

Backup actions

  • Administrative Templates (Device Configurations)
  • Administrative Template Assignments
  • App Protection Policies
  • App Protection Policy Assignments
  • Client Apps
  • Client App Assignments
  • Device Compliance Policies
  • Device Compliance Policy Assignments
  • Device Configurations
  • Device Configuration Assignments
  • Device Management Scripts (Device Configuration -> PowerShell Scripts)
  • Device Management Script Assignments
  • Proactive Remediations
  • Proactive Remediation Assignments
  • Settings Catalog Policies
  • Settings Catalog Policy Assignments
  • Software Update Rings
  • Software Update Ring Assignments
  • Endpoint Security Configurations
    • Security Baselines
      • Windows 10 Security Baselines
      • Microsoft Defender ATP Baselines
      • Microsoft Edge Baseline
    • Antivirus
    • Disk encryption
    • Firewall
    • Endpoint detection and response
    • Attack surface reduction
    • Account protection
    • Device compliance

Restore actions

  • Administrative Templates (Device Configurations)
  • Administrative Template Assignments
  • App Protection Policies
  • App Protection Policy Assignments
  • Client App Assignments
  • Device Compliance Policies
  • Device Compliance Policy Assignments
  • Device Configurations
  • Device Configuration Assignments
  • Device Management Scripts (Device Configuration -> PowerShell Scripts)
  • Device Management Script Assignments
  • Settings Catalog Policies
  • Settings Catalog Policy Assignments
  • Software Update Rings
  • Software Update Ring Assignments
  • Endpoint Security Configurations
    • Security Baselines
      • Windows 10 Security Baselines
      • Microsoft Defender ATP Baselines
      • Microsoft Edge Baseline
    • Antivirus
    • Disk encryption
    • Firewall
    • Endpoint detection and response
    • Attack surface reduction
    • Account protection
    • Device compliance

Please note that some Client App settings can be backed up, for instance the retrieval of Win32 (un)install cmdlets, requirements, etcetera. The Client App itself is not backed up and this module does not support restoring Client Apps at this time.

Examples

Example 01 - Full Intune Backup

Start-IntuneBackup -Path C:\temp\IntuneBackup

Example 02 - Full Intune Restore

Start-IntuneRestoreConfig -Path C:\temp\IntuneBackup
Start-IntuneRestoreAssignments -Path C:\temp\IntuneBackup

Example 03 - Restore Intune Assignments

If configurations have been restored:

Start-IntuneRestoreAssignments -Path C:\temp\IntuneBackup

If reassigning assignments to existing (non-restored) configurations. In this case the assignments match the configuration id to restore to.
This allows for restoring if display names have changed.

Start-IntuneRestoreAssignments -Path C:\temp\IntuneBackup -RestoreById $true

Example 04 - Restore only Intune Compliance Policies

Invoke-IntuneRestoreDeviceCompliancePolicy -Path C:\temp\IntuneBackup
Invoke-IntuneRestoreDeviceCompliancePolicyAssignment -Path C:\temp\IntuneBackup

Example 05 - Restore Only Intune Device Configurations

Invoke-IntuneRestoreDeviceConfiguration -Path C:\temp\IntuneBackup
Invoke-IntuneRestoreDeviceConfigurationAssignment -Path C:\temp\IntuneBackup

Example 06 - Backup Only Intune Endpoint Security Configurations

Invoke-IntuneBackupDeviceManagementIntent -Path C:\temp\IntuneBackup

Example 07 - Restore Only Intune Endpoint Security Configurations

Invoke-IntuneRestoreDeviceManagementIntent -Path C:\temp\IntuneBackup

Example 08 - Compare two Backup Files for changes

# The DifferenceFilePath should point to the latest Intune Backup file, as it might contain new properties.
Compare-IntuneBackupFile -ReferenceFilePath 'C:\temp\IntuneBackup\Device Configurations\Windows - Endpoint Protection.json' -DifferenceFilePath 'C:\temp\IntuneBackupLatest\Device Configurations\Windows - Endpoint Protection.json'

Example 09 - Compare all files in two Backup Directories for changes

# The DifferenceFilePath should point to the latest Intune Backup file, as it might contain new properties.
Compare-IntuneBackupDirectories -ReferenceDirectory 'C:\temp\IntuneBackup' -DifferenceDirectory 'C:\temp\IntuneBackup2'

Known Issues

  • Does not support backing up Intune configuration items with duplicate Display Names. Files may be overwritten.

intunebackupandrestore's People

Contributors

jseerden avatar sleeuwenhoek avatar ztrhgf avatar saltypeaches avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.