31.34 Set-DRAUser

Synopsis

Updates the properties of the user account specified by the Identifier parameter.

Syntax

Set-DRAUser -Domain <String> [-Properties <Hashtable>] [-Replace <Hashtable>] [-Add <Hashtable>] [-Remove <Hashtable>] [-Clear <String[]>] -Identifier <String> [-DRARestServer <String>] [-DRARestPort <Int32>] [-IgnoreCertificateErrors <SwitchParameter>] [-Force <SwitchParameter>] [-Timeout <Int32>] [<CommonParameters>]

Description

The Set-DRAUser cmdlet modifies the properties of the requested a user account with an on-premises Exchange mailbox or a user account with an Exchange Online mailbox (synced user account). The requesting user must have Modify User powers for each of the properties sent in the request.

Parameters

Attribute / Description

Parameters / Values

Required

Position

Default Value

Accept Pipeline input?

Accept wildcard characters?

Properties <Hashtable>

A hashtable of property values. The key is the name of a defined attribute in the REST interface. For example: -Properties @{Attribute1DRADisplayName="my value"; Attribute2DRADisplayName=value}

Multiple values are specified as a comma-separated list.For example:-Properties @{Attribute1DRADisplayName=value1, value2}

If the property name contains non-alphanumeric characters it needs to be quoted.For example: -Properties @{"Attribute1-DRA-DisplayName"=value}

If the property value contains a quote it needs to be escaped with a backtick (`).For example: -Properties @{Attribute1DRADisplayName="`"sample`" value"}

true

named

 

true (ByPropertyName)

false

Replace [<Hashtable>]

A Hashtable of property values to replace the current set of values for the specified property.

The key is the name of a defined property in the REST interface. For example: -Replace @{Attribute1DRADisplayName="my value"; Attribute2DRADisplayName=value}

Multiple values are specified as a comma-separated list and will replace currently set values.For example: -Replace @{Attribute1DRADisplayName=value1, value2}

If the property name contains non-alphanumeric characters it needs to be quoted.For example: -Replace @{"Attribute1-DRA-DisplayName"=value}

If the property value contains a quote it needs to be escaped with a backtick (`).For example: -Replace @{Attribute1DRADisplayName="`"sample`" value"}

false

named

 

true (ByPropertyName)

false

Add [<Hashtable>]

A Hashtable of property values to add to the current set of values for the specified multi-valued property. The key is the name of a defined property in the REST interface.

For example: -Add @{Attribute1DRADisplayName=value; Attribute2DRADisplayName=value1, value2; ...; AttributeNDRADisplayName=value1, value2}

Multiple values are specified as a comma-separated list.For example: -Add @{Attribute1DRADisplayName=value1, value2}}

If the property name contains non-alphanumeric characters it needs to be quoted.For example: -Add @{"Attribute1-DRA-DisplayName"=value}

If the property value contains a quote it needs to be escaped with a backtick (`).For example: -Add @{Attribute1DRADisplayName="`"sample`" value"}

false

named

 

true (ByPropertyName)

false

Remove [<Hashtable>]

A Hashtable of property values to remove from the current set of values for the specified multi-valued property. The key is the name of a defined property in the REST interface.

For example: -Remove @{Attribute1DRADisplayName=value; Attribute2DRADisplayName=value1, value2; ...; AttributeNDRADisplayName=value1, value2}

Multiple values are specified as a comma-separated list and will be removed from currently set values.For example: -Remove @{Attribute1DRADisplayName=value1,value2}

If the property name contains non-alphanumeric characters it needs to be quoted.For example: -Remove @{"Attribute1-DRA-DisplayName"=value}

If the property value contains a quote it needs to be escaped with a backtick (`).For example: -Remove @{Attribute1DRADisplayName="`"sample`" value"}

false

named

 

true (ByPropertyName)

false

Clear [<String>]

An array of property names whose values will be cleared. Each name is the name of a defined property in the REST interface.

For example: -Clear "Attribute1-DRA-DisplayName"

Multiple values need to be separated by a comma.

For example: -Clear Attribute1DRADisplayName, Attribute2DRADisplayName

false

named

 

true (ByPropertyName)

false

Identifier <String>

The name or distinguished name of an existing Active Directory object. When the name is specified, an additional call to the DRA Server is needed to obtain the distinguished name for the object.

true

named

true (ByPropertyName)

false

Domain <String>

The domain of the object in FQDN format. For example: mydomain.corp

true

named

 

true (ByPropertyName)

false

DRARestServer [<String>]

The name of the computer running the DRA Rest Service. The requested DRA operation will execute on this server. If the parameter is not specified, the value defaults to 'localhost'.

false

named

 

true (ByPropertyName

false

DRARestPort [<Int32>]

The port where the DRA REST Service listens for requests. If the parameter is not specified, the value defaults to 8755.

false

named

8755

true (ByPropertyName

false

IgnoreCertificateErrors [<SwitchParameter>]

Allows the request to bypass any SSL certificate errors, such as the InvalidOperation error that occurs when the REST Service is bound to a self-signed certificate.

false

named

false

false

Force [<SwitchParameter>]

Suppresses any request for user input and supplies a 'yes' response. For example: -Force with a delete request will perform the delete without presenting the confirmation request to the user.

false

named

 

false

false

Timeout [<Int32>]

The number of seconds to wait before the request to the DRA REST server times out. To specify an infinite timeout, you can set this parameter to -1.

false

named

100 seconds

true (ByPropertyName)

false

<CommonParameters>

Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see About CommonParameters.

 

 

 

 

 

NOTE:For more information, type "Get-Help Set-DRAUser -detailed". For technical information, type "Get-Help Set-DRAUser -full".

Example 31-56 1

PS C:\>Set-DRAUser -Domain MyDomain.corp -Identifier "CN=Alfred O365,OU=Tax,DC=MYDOM,DC=CORP" -Properties @{office365SendAsRemove="CN=AAA-Alfred Don1,OU=Tax,DC=MYDOM,DC=CORP","CN=AA TestCase6,OU=Tax,DC=MYDOM,    DC=CORP";office365SendOnBehalfAdd="CN=Eric Jones,OU=Tax,DC=MYDOM,DC=CORP`","CN=Ron
Jackson,OU=Tax,DC=MYDOM,DC=CORP";office365DeliverAndForward=$true;office365ForwardingAddress="CN=Aaron Jackson,OU=Tax,DC=MYDOM,DC=CORP"} 

This example updates some of the Office 365 or Exchange Online Mailbox properties of the synced user Alfred O365 in MyDom.corp. The request will remove two users from the Send As list and add two different users to the Send On Behalf list. Note that these multi-valued properties must be enclosed in escaped quotation marks and separated by a comma between each value. For a list of Exchange Online mailbox properties that can be managed for a synced user, see Exchange Online Properties.

Example 31-57 2

PS C:\>Set-DRAUser -Domain MyDomain.corp -Identifier "USER123" -Properties @{Manager=CN=George,CN=Users, DC=MYDOMAIN,DC=corp";Description="updated description";TrustedForDelegation=$true;location="Houston"}

This example updates some properties on the user USER123 in MyDomain.corp. The Identifier specifies the name of the user. When the identifier format is the name, DRA resolves the name to the full distinguished name.

Example 31-58 3

PS C:\>Set-DRAUser  -Domain MyDomain.corp -Identifier "CN=USER123,OU=Accounting,DC=MyDomain,DC=corp" -Properties @{Manager="CN=George,CN=Users,DC=MYDOMAIN,DC=corp";TrustedForDelegation=$true;location="Houston"}

This example updates some of the properties of the user USER123 in MyDomain.corp. The identifier contains the distinguished name for the user. Three properties are updated: Manager, Location, and TrustedForDelegation. To see the complete list of available properties, perform a Get-Member command on the object returned from any DRAUser command.