functions/entitlementManagement/Invoke-TmfEntitlementManagement.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
function Invoke-TmfEntitlementManagement { <# .SYNOPSIS Performs the required actions for a resource type against the connected Tenant. .DESCRIPTION This command combines the Invoke commands of all Entitlement Management resources. accessPackageCatalogs, accessPackages, accessPackageAssignementPolicies, accessPackageResources #> Param ( [switch] $DoNotRequireTenantConfirm ) begin { Test-GraphConnection -Cmdlet $PSCmdlet $tenant = Get-MgOrganization -Property displayName, Id $entitlementManagementResources = @("accessPackageCatalogs", "accessPackages", "accessPackageAssignementPolicies", "accessPackageResources") } process { Write-PSFMessage -Level Host -FunctionName "Invoke-TmfEntitlementManagement" -String "TMF.TenantInformation" -StringValues $tenant.displayName, $tenant.Id if (-Not $DoNotRequireTenantConfirm) { if ((Read-Host "Is this the correct tenant? [y/n]") -notin @("y","Y")) { Write-PSFMessage -Level Error -String "TMF.UserCanceled" throw "Connected to the wrong tenant." } } foreach ($resourceType in ($script:supportedResources.GetEnumerator() | Where-Object {$_.Value.invokeFunction -and $_.Name -in $entitlementManagementResources} | Sort-Object {$_.Value.weight})) { if ($script:desiredConfiguration[$resourceType.Name]) { Write-PSFMessage -Level Host -FunctionName "Invoke-TmfEntitlementManagement" -String "TMF.StartingInvokeForResource" -StringValues $resourceType.Name & $resourceType.Value["invokeFunction"] -Cmdlet $PSCmdlet } } } end { } } |