Functions/SystemHealth/Get-PASComponentSummary.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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.

.EXAMPLE
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
https://pspas.pspete.dev/commands/Get-PASComponentSummary
#>

    [CmdletBinding()]
    param(

    )

    BEGIN {
        $MinimumVersion = [System.Version]"10.1"
    }#begin

    PROCESS {

        Assert-VersionRequirement -ExternalVersion $Script:ExternalVersion -RequiredVersion $MinimumVersion

        #Create URL for request
        $URI = "$Script:BaseURI/api/ComponentsMonitoringSummary"

        #send request to web service
        $result = Invoke-PASRestMethod -Uri $URI -Method GET -WebSession $Script:WebSession

        if ($result) {

            $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
}