Fixed import order for Compliance Scripts
This commit is contained in:
Mikael Karlsson
2025-07-16 04:23:32 +10:00
parent 9586ffb3fa
commit 4253901249

View File

@@ -10,7 +10,7 @@ This module is for the Endpoint Manager/Intune View. It manages Export/Import/Co
#> #>
function Get-ModuleVersion function Get-ModuleVersion
{ {
'3.9.8' '3.10.0.6'
} }
function Invoke-InitializeModule function Invoke-InitializeModule
@@ -236,9 +236,11 @@ function Invoke-InitializeModule
Id = "ComplianceScripts" Id = "ComplianceScripts"
ViewID = "IntuneGraphAPI" ViewID = "IntuneGraphAPI"
API = "/deviceManagement/deviceComplianceScripts" API = "/deviceManagement/deviceComplianceScripts"
PostImportCommand = { Start-PostImportComplianceScripts @args }
Permissons=@("DeviceManagementConfiguration.ReadWrite.All") Permissons=@("DeviceManagementConfiguration.ReadWrite.All")
GroupId = "CompliancePolicies" GroupId = "CompliancePolicies"
Icon = "Scripts" Icon = "Scripts"
ImportOrder = 80
}) })
Add-ViewItem (New-Object PSObject -Property @{ Add-ViewItem (New-Object PSObject -Property @{
@@ -1418,6 +1420,30 @@ function Start-PreUpdateCompliancePolicies
#endregion #endregion
function Start-PostImportComplianceScripts
{
param($obj, $objectType, $file)
$endTime = (Get-Date).AddMinutes(2)
$found = $false
while($endTime -gt (Get-Date))
{
$tmpObj = Invoke-GraphRequest -Url "$($objectType.API)/$($obj.Id)" -ErrorAction SilentlyContinue
if($tmpObj) {
$found = $true
break
}
Start-Sleep -Seconds 10
}
if(-not $found)
{
Write-LogError "Compliance script $($obj.Id) not found after import. Please check the import file."
return
}
}
#region Intune Branding functions #region Intune Branding functions
function Start-PreImportIntuneBranding function Start-PreImportIntuneBranding
{ {
@@ -1467,7 +1493,7 @@ function Start-PreImportIntuneBranding
function Start-PostImportIntuneBranding function Start-PostImportIntuneBranding
{ {
param($obj, $objectType) param($obj, $objectType, $file)
if($obj.isDefaultProfile -or -not $global:brandingClone) { return } if($obj.isDefaultProfile -or -not $global:brandingClone) { return }