public/scripts/Get-Script.ps1
Function Get-Script { <# .DESCRIPTION Returns information about a specific script. .PARAMETER Server The fully qualified name (FQDN) of the SMA Appliance. Example: https://kace.example.com .PARAMETER Org The SMA Organization you want to retrieve information from. If not provided, 'Default' is used. .PARAMETER Credential A credential for the kace appliance that has permissions to interact with the API. To run interactively, use -Credential (Get-Credential) .PARAMETER ScriptID (Optional) If used, this is the ID of the script you'd like information about. If not provided, all scripts are returned .PARAMETER QueryParameters (Optional) Any additional query parameters to be included. String must begin with a <?> character. .INPUTS .OUTPUTS PSCustomObject .EXAMPLE Get-SmaScript -Server https://kace.example.com -Org Default -Credential (Get-Credential) Retrieves information about all scripts in the org. .EXAMPLE Get-SmaScript -Server https://kace.example.com -Org Default -Credential (Get-Credential) -ScriptID 1234 Retrieves information about a script with ID 1234. .NOTES #> [cmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'low' )] param( [Parameter(Mandatory = $true)] [string] $Server, [Parameter()] [string] $Org = 'Default', [Parameter(Mandatory = $true)] [PSCredential] $Credential, [Parameter()] [int] $ScriptID, [Parameter()] [ValidatePattern("^\?")] [string] $QueryParameters ) Begin { $Endpoint = "/api/scripts" If ($ScriptID) { $Endpoint = "/api/script/$ScriptID" } } Process { If ($PSCmdlet.ShouldProcess($Server, "GET $Endpoint")) { New-ApiGETRequest -Server $Server -Endpoint $Endpoint -Org $Org -QueryParameters $QueryParameters -Credential $Credential } } End {} } |