backup/Backup-APNs.ps1
|
#Requires -Version 7.0 function Backup-APNs { [CmdletBinding()] param( [Parameter(Mandatory)] [string]$BackupPath, [Parameter(Mandatory)] [SecureString]$Token, [hashtable]$ScopeTagMap = @{} ) try { $folder = Join-Path $BackupPath 'Apple Push Notification' $uri = '/beta/deviceManagement/applePushNotificationCertificate' $items = Invoke-GraphRequest2 -Uri $uri -Token $Token if ($items) { $clean = Remove-VolatileKeys -InputObject $items -AdditionalExcludedProperties 'Id' $fileName = $items.appleIdentifier Save-BackupItem -Item $clean -Folder $folder -PresetFileName $fileName -ScopeTagMap $ScopeTagMap Write-Verbose "backed up Apple Push Notification certificate to $folder" } } catch { Write-Error "failed to backup APNs: $_" return } } Export-ModuleMember -Function Backup-APNs |