Public/remove-AllegisIDNsourceSchemaAttribute.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 |
function remove-AllegisIDNsourceSchemaAttribute ($orgName, $sourceid, $accessToken, $usage, $attribute){ #if ($usage -eq $null){$usage='Create'} $source=get-AllegisIDNsourceSchema -orgName $orgname -sourceid $sourceid -accessToken $accessToken -usage $usage if ($source.fields.where{$_.name -eq $attribute} -eq $null){return "$attribute missing"} $header=get-AllegisIDNprivateHeader $accessToken $header+=@{'Content-Type'='application/json'} if ($source.count -gt 1){ $create=$source[$source.usage.IndexOf('Create')] }else{ $create=$source } $newcreate=@() foreach($fields in $create.fields.where{$_.name -ne $attribute}){ $newcreate+=$fields } $create.fields=$newcreate $source[$source.usage.IndexOf('Create')]=$create $privateuribase="https://$orgname.identitynow.com" if ($usage -eq $null){ $url="$privateuribase/api/accountProfile/bulkUpdate/$sourceid" }else{ $url="$privateuribase/api/accountProfile/update/$($sourceid)?usage=$usage" } $json=$source | ConvertTo-Json -Depth 100 if ($json[0] -ne '['){$json="[$json]"} $response=Invoke-WebRequest -Uri $url -Method Post -UseBasicParsing -Headers $header -Body $json $sourceAccountProfile=$response.Content | ConvertFrom-Json return $sourceAccountProfile } |