Functions/Accounts/Get-PASAccountImportJob.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Function Get-PASAccountImportJob {
    <#
    .SYNOPSIS
    Gets the status of bulk account upload jobs performed by the user.

    .DESCRIPTION
    Returns the result of all bulk account upload jobs, or an individual job identified by it's ID.
    Once the upload has finished, the API returns the result.
    The result contains a list of all the accounts that succeeded or failed to upload.

    .PARAMETER id
    The identifier for the bulk account upload.

    .EXAMPLE
    Get-PASAccountImportJob

    Returns status details of user's account upload jobs

    .EXAMPLE
    Get-PASAccountImportJob -id 4

    Returns status details of user's account upload job with id of 4

    .LINK
    https://pspas.pspete.dev/commands/Get-PASAccountImportJob
    #>

    [CmdletBinding()]
    param(
        [parameter(
            Mandatory = $false,
            ValueFromPipelinebyPropertyName = $true,
            ParameterSetName = "byID"
        )]
        [string]$id
    )

    Begin {

        Assert-VersionRequirement -RequiredVersion 11.6

    }

    Process {

        #Create URL for Request
        $URI = "$Script:BaseURI/api/bulkactions/accounts"

        If ($PSCmdlet.ParameterSetName -eq "byID") {

            $URI = "$URI/$id"

        }

        #send request
        $Result = Invoke-PASRestMethod -Uri $URI -Method GET -WebSession $Script:WebSession

        If ($null -ne $Result) {

            If ($PSCmdlet.ParameterSetName -ne "byID") {

                $Result = $Result.BulkActions

            }

            $Result | Add-ObjectDetail -typename "psPAS.CyberArk.Vault.Account.Job"

        }

    }

    End {}

}