Public/Get-RBACProvider.ps1
|
function Get-RBACProvider { <# .SYNOPSIS Lists the registered RBAC probe providers (platforms). .DESCRIPTION Returns the distinct providers registered with the module: their canonical name, accepted aliases, and whether they support live probing. Useful for discovering valid -Platform values and which platforms can derive a requirement from a live failure (only Azure, today). .PARAMETER Platform Optional name or alias to resolve a single provider. .EXAMPLE Get-RBACProvider .EXAMPLE Get-RBACProvider -Platform Fabric .OUTPUTS PSCustomObject with Name, Aliases, SupportsLiveProbe. #> [CmdletBinding()] [OutputType([pscustomobject])] param( [Parameter()] [string]$Platform ) Write-PSFMessage -Level Debug -Message "Get-RBACProvider: listing provider(s)$(if ($Platform) { " matching '$Platform'" })." -Tag 'PSAutoRBAC', 'Public' $providers = if ($Platform) { @(Get-RBACProviderInternal -Platform $Platform) } else { @(Get-RBACRegisteredProvider) } foreach ($p in $providers) { [pscustomobject]@{ PSTypeName = 'PSAutoRBAC.ProviderInfo' Name = $p.Name Aliases = $p.Aliases SupportsLiveProbe = $p.SupportsLiveProbe } } } |