The PowerShell cmdlets make it easy to work with attributes of different data types and multivalued properties.
Date data types
The client will accept both ISO8601 date formats (yyyy-MM-ddT00:00:00.000) as well as native DateTime values. Note that when providing the date as a string, the date must be in universal time.
# Sets the expiry date to the current date and time$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.ExpiryDate = [DateTime]::NowSave-Resource $obj# Sets the expiry date to a specific value$obj.ExpiryDate ="2020-01-01T00:00:00.000"Save-Resource $obj
Reference data types
References attributes can be any of the following
GUID object
String representation of a GUID
Another resource object
The native UniqueValue data type from another reference attribute
# Sets the value of a person's manager attribute to a known ID$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.Manager ='7fb2b853-24f0-4498-9534-4e10589723c4'Save-Resource $obj# Sets the value of a person's manager attribute to that of another object$obj.Manager = GetResource -ObjectType Person -AttributeName AccountName -AttributeValue testuser2Save-Resource $obj
Binary data types
Binary data types can be any of the following
A byte array (byte[])
A base-64 encoded binary string
# Sets the value of the ObjectSID attribute to a base-64 encoded string$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.ObjectSID ="AQUAAAAAAAUVAAAAFYLkaG79nJrWb05iFzcCAA=="Save-Resource $obj# Sets the value of the ObjectSID attribute to a byte array$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.ObjectSID = [Byte[]] (0,1,2,3)Save-Resource $obj
Integer data types
Integer data types can be any of the following
A 32-bit integer (Int32 or int)
A 64-bit integer (Int64 or long)
A string representation that can be converted to an Int64 value
# Sets the freeze count using an integer value$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.FreezeCount =5Save-Resource $obj# Sets the freeze count using a string value$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.FreezeCount ="5"Save-Resource $obj
Working with multivalued attributes
# Setting a multivalued attribute$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.jobTitles =@("Manager","Engineer")Save-Resource $obj# Adding a value to a multivalued attribute$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.jobTitles.Add("Developer");Save-Resource $obj# Removing a value from a multivalued attribute$obj =Get-Resource-ObjectType Person -AttributeName AccountName -AttributeValue testuser$obj.jobTitles.Remove("Developer");Save-Resource $obj