Usage:
[string]$ApiToken = '[removed]'
[string]$ServerName = 'pmp.[removed].com'
[string]$ResourceName = 'computername'
Get-PMPResourceID -ResourceName $ResourceName -ApiToken $ApiToken -ServerName $ServerName
Function Get-PMPResourceID
{
[cmdletbinding()]
param (
[Parameter(Mandatory,HelpMessage='Enter a Resource Name')]
[string]$ResourceName,
[string]$AccountName='',
[Parameter(Mandatory,HelpMessage='Enter the API Token for this host')]
[string]$ApiToken,
[Parameter(Mandatory,HelpMessage='Enter the name of the PasswordManager Pro Server')]
[string]$ServerName
)
try
{
if($AccountName -eq '')
{
$Uri = ('
https://{0}/restapi/json/v1/resources?AUTHTOKEN={1}' -f $ServerName,$ApiToken)
}
else
{
$Uri = ('
https://{0}/restapi/json/v1/resources/resourcename/{1}/accounts/accountname/{2}?AUTHTOKEN={3}' -f $ServerName,$ResourceName,$AccountName,$ApiToken)
}
$Result = Invoke-RestMethod -uri $Uri -Method Get | Select-Object -ExpandProperty operation
if ($Result.result.status -eq 'Success')
{
(($Result.Details | Where-Object{$_.'RESOURCE NAME' -eq $ResourceName}).'RESOURCE ID', $Result.Details.RESOURCEID -ne $null)[0]
}
else
{
throw $Result.result.message
}
}
catch
{
throw $Error[0]
}
}