Private/Backups/Search-BackupSettingsIntuneOptions.ps1
|
function Search-BackupSettingsIntuneOptions { param ([Parameter(Mandatory = $false)] [string] $SettingsFilePath ) # Validate the provided file path exists if (-not (Test-Path -Path $SettingsFilePath)) { Write-Host "The specified file path does not exist: $SettingsFilePath" -ForegroundColor Red return } # Load the XML content from the file "Settings.xml" [xml]$xmlContent = Get-Content -Path $SettingsFilePath # Get the Intune Tenant Node $TenantNode = $xmlContent.SelectSingleNode("//IntuneTenants//Tenant"); if ($null -ne $TenantNode) { $TenantInfo = @{ TenantFriendlyName = $TenantNode.FriendlyName Authority = $TenantNode.Authority AuthenticationUrl = $TenantNode.AuthenticationUrl GraphBaseUrl = $TenantNode.BaseUrl ApplicationId = $TenantNode.ApplicationId AppSecret = $TenantNode.ApplicationSecret AppCertificateEnabled = $TenantNode.ApplicationCertificateThumbprint.Enabled AppCertificateThumbprint = $TenantNode.SelectSingleNode("ApplicationCertificateThumbprint").InnerText DigitallySignScript = $TenantNode.SignDetectionScripts CodeSigningCertificate = $TenantNode.SelectSingleNode("CodeSigningCertificateThumbprint").InnerText UpdateESPAssociations = $TenantNode.UpdateEspAssociation CopyAssignmentsOnUpdate = $TenantNode.CopyAssignments DeleteAssignmentsOnUpdate = $TenantNode.DeleteAssignments UpdateDependencies = $TenantNode.UpdateAppDependencies CopyRequirements = $TenantNode.CopyRequirements DeletePreviousApplications = $TenantNode.DeleteApp RetainPreviousApplicationsCount = $TenantNode.RetainApp DeletePreviousUpdates = $TenantNode.DeleteUpdates RetainPreviousUpdatesCount = $TenantNode.RetainUpdates MaxRuntimeMinutes = if ($null -ne $TenantNode.Win32MaxRuntime) { $TenantNode.Win32MaxRuntime } else { 120 } EnableAvailableUninstall = $TenantNode.AllowAvailableUninstall } } else { $TenantInfo = @{ TenantFriendlyName = "No Tenant Information Found" } } return $TenantInfo } |