Public/Start-IntuneRestoreSP.ps1

function Start-IntuneRestoreSP() {
    <#
    .SYNOPSIS
    Restore Intune Configuration
     
    .DESCRIPTION
    Restore Intune Configuration
     
    .PARAMETER Path
    Path where backup (JSON) files are located.
     
    .EXAMPLE
    Start-IntuneRestore -Path C:\temp
     
    .NOTES
    Requires the MSGraphFunctions PowerShell Module
 
    Connect to MSGraph first, using the 'Connect-Graph' cmdlet.
    #>

    
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        [string]$Path
    )

    [PSCustomObject]@{
        "Action" = "Restore"
        "Type"   = "Intune Backup and Restore Action"
        "Name"   = "IntuneBackupAndRestore - Start Intune Restore Config"
        "Path"   = $Path
    }

    Invoke-IntuneRestoreConfigurationPolicySP -Path $Path
    Invoke-IntuneRestoreDeviceCompliancePolicySP -Path $Path
    Invoke-IntuneRestoreDeviceConfigurationSP -Path $Path
    Invoke-IntuneRestoreDeviceManagementScriptSP -Path $Path
    Invoke-IntuneRestoreDeviceShellScriptSP -Path $Path
    Invoke-IntuneRestoreGroupPolicyConfigurationSP -Path $Path
    Invoke-IntuneRestoreDeviceManagementIntentSP -Path $Path
    Invoke-IntuneRestoreAppProtectionPolicySP -Path $Path
    Invoke-IntuneRestoreClientAppsSP -Path $Path

    Disconnect-MgGraph
}