Functions/SystemHealth/Get-PASComponentSummary.ps1
Function Get-PASComponentSummary { <# .SYNOPSIS Returns consolidated information about CyberArk Components. .DESCRIPTION Returns consolidated information about the Vault, PVWA, CPM, PSM/PSMP and AIM. Includes all clients that are relevant to each specific component. .PARAMETER sessionToken Hashtable containing the session token returned from New-PASSession .PARAMETER WebSession WebRequestSession object returned from New-PASSession .PARAMETER BaseURI PVWA Web Address Do not include "/PasswordVault/" .PARAMETER PVWAAppName The name of the CyberArk PVWA Virtual Directory. Defaults to PasswordVault .EXAMPLE $token | Get-PASComponentSummary Displays CyberArk Component information .INPUTS All parameters can be piped to the function by propertyname .OUTPUTS .NOTES Requires minimum version of CyberArk 10.1. .LINK #> [CmdletBinding()] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [ValidateNotNullOrEmpty()] [hashtable]$sessionToken, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [Microsoft.PowerShell.Commands.WebRequestSession]$WebSession, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [string]$BaseURI, [parameter( Mandatory = $false, ValueFromPipelinebyPropertyName = $true )] [string]$PVWAAppName = "PasswordVault" ) BEGIN {}#begin PROCESS { #Create URL for request $URI = "$baseURI/$PVWAAppName/api/ComponentsMonitoringSummary" #send request to web service $result = Invoke-PASRestMethod -Uri $URI -Method GET -Headers $sessionToken -WebSession $WebSession $result | Select-Object -ExpandProperty Components $result | Select-Object -ExpandProperty Vaults | Add-ObjectDetail -PropertyToAdd @{ "ComponentID" = "EPV" "ComponentName" = "EPV" } | Select-Object ComponentID, ComponentName, Role, IP, IsLoggedOn }#process END {}#end } |