private/tests-shared/Get-ApplicationsWithInsufficientOwners.ps1
|
<# .SYNOPSIS Get applications with insufficient owners based on privilege level. .DESCRIPTION Filters applications from Get-ApplicationsWithPermissions based on owner count and privilege level. Used by tests 24518 and 21867. #> function Get-ApplicationsWithInsufficientOwners { [CmdletBinding()] param( [Parameter(Mandatory = $true)] $Database, [Parameter(Mandatory = $true)] [ValidateSet('High', 'Medium', 'Low', 'Unranked')] [string[]]$PrivilegeLevel ) # Get all apps with permissions $allApps = Get-ApplicationsWithPermissions -Database $Database # Filter by privilege level and owner count using Where-Object (more efficient) $filteredApps = $allApps | Where-Object { ($PrivilegeLevel -contains $_.Risk) -and ($_.OwnerCount -lt 2) } Write-PSFMessage "Filtered to $($filteredApps.Count) applications with < 2 owners matching privilege levels: $($PrivilegeLevel -join ', ')" -Level Verbose return $filteredApps } |