Functions/Activities/Get-RAActivity.ps1
function Get-RAActivity { [CmdletBinding()] param ( [Parameter( Mandatory, HelpMessage = 'List of Activity Types to retrieve' )] [ValidateSet('ApplicationCreated', 'ApplicationDeleted', 'ApplicationUpdated', 'ApplicationEnabled', 'ApplicationDisabled', 'ApplicationUserLogin', 'ConnectorCreated', 'ConnectorDeleted', 'ConnectorInitializationExtended', 'ConnectorInitialized', 'ConnectorUpdated', 'ConnectorLdapUpdated', 'ConnectorLdapInitialized', 'ConnectorLdapStopped', 'GroupsCreated', 'GroupsDeleted', 'GroupsUpdated', 'SettingsUpdated', 'SiteCreated', 'SiteDeleted', 'SiteUpdated', 'TenantAliasUpdated', 'TenantCreated', 'TenantLogin', 'UserActivated', 'UserDeactivated', 'VendorActivated', 'VendorDeactivated', 'VendorUpdated', 'UserDeleteFromTenant', 'VendorDeleteFromTenant', 'UserJoinTenant', 'VendorJoinTenant', 'UserCreated', 'UserUpdated', 'UserRoleChanged', 'ApplicationVendorLogin', 'AppCertificateCreated', 'AppCertificateDeleted', 'AppCertificateUpdated', 'CompanyUserInvitationCreate', 'VendorInvitationCreate', 'ServiceAccountCreated', 'ServiceAccountDeleted', 'ServiceAccountActivated', 'ServiceAccountDeactivated', 'ApplicationLoginBlocked', 'DirectAccessUserResponse', 'DirectAccessConnectionDenied', 'OfflineAccessUserViewedPassword', 'IdaptiveVendorSync', 'IdaptiveRoleSync', 'CompanyInviterUpdated')] [string[]]$activityTypes, [Parameter( HelpMessage = 'Start of the period' )] [System.DateTimeOffset]$FromTime = (Get-Date).AddDays(-1), [Parameter( HelpMessage = 'End of the period' )] [System.DateTimeOffset]$ToTime = (Get-Date), [Parameter( HelpMessage = 'The maximum number of entries to return' )] [int]$Limit = 100, [Parameter( HelpMessage = 'The number of entries to skip' )] [int]$Offset = 0 ) begin { } process { $url = "https://$($Script:ApiURL)/v2-edge/activities" $query = [System.Collections.ArrayList]@() $query.Add("limit=$Limit") | Out-Null $query.Add("offset=$Offset") | Out-Null Switch ($PSBoundParameters.Keys) { 'activityTypes' { $query.Add("activityTypes=$($activityTypes -join ',')") | Out-Null } 'fromTime' { $query.Add("fromTime=$($FromTime.ToUnixTimeSeconds())") | Out-Null } 'toTime' { $query.Add("toTime=$($toTime.ToUnixTimeSeconds())") | Out-Null } } $querystring = $query -join '&' if ($null -ne $querystring) { $url = -join ($url, '?', $querystring) } Write-Verbose $url $result = Invoke-RestMethod -Method Get -Uri $url -WebSession $Script:WebSession } end { Write-Output -InputObject $result | Select-Object -ExpandProperty activities } } |