RapidIdentity Product Guide

Office 365 Adapter Actions

The list of filterable attributes can be found here.

Add a member to an Office 365 DistributionGroup

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the DistributionGroup

memberIdentity*

text, expression, variable

the identity of the object to add to the DistributionGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

added = addOffice365DistributionGroupMember(session, "testgroup", 
    "johndoe@example.com")

Add a member to an Office 365 MsolGroup

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the MsolGroup

memberIdentity*

text, expression, variable

the identity of the object to add to the MsolGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

added = addOffice365MsolGroupMember(session, "testgroup@example.com", 
    "johndoe@example.com")

Add a member to an Office 365 MsolRole

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the MsolRole

memberIdentity*

text, expression, variable

the identity of the object to add to the MsolRole

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "RoleName" "User Account Administrator")
roles = getOffice365MsolRoles(session, filter, 1)
added = addOffice365MsolGroupMember(session, roles[0].ObjectId, 
    "johndoe@example.com")

Add a member to an Office 365 SharePoint Online Site Group

Property

Value

Description

connection*

expression, variable

the Office 365 connection

site*

text, expression, variable

the url of the SharePoint Online Site

groupIdentity*

text, expression, variable

the name of the SPOSiteGroup

memberIdentity*

text, expression, variable

the login name of the object to add to the SPOSiteGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

added = addOffice365SPOSiteGroupMember(session, 
    "https://example.sharepoint.com/", "MySiteGroup", 
    "JohnDoe@example.com")

Delete an Office 365 DistributionGroup record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 DistributionGroup to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365DistributionGroup(session, "testgroup")

Delete a member from an Office 365 DistributionGroup.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the DistributionGroup

memberIdentity*

text, expression, variable

the identity of the object to delete from the DistributionGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

removed = deleteOffice365DistributionGroupMember(session, 
    "testgroup@example.com", "jdoe@example.com")

Delete an Office 365 Mailbox record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 Mailbox to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365Mailbox(session, "jdoe@example.com")

Delete an Office 365 MailContact record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MailContact to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365MailContact(session, "testContact")

Delete an Office 365 MailUser record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MailUser to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365MailUser(session, "testMailUser@example.com")

Delete an Office 365 MsolGroup record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MsolGroup to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365MsolGroup(session, "testgroup@example.com")

Delete a member from an Office 365 MsolGroup.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the MsolGroup

memberIdentity*

text, expression, variable

the identity of the object to delete from the MsolGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365MsolGroupMember(session, 
    "testgroup@example.com", "jdoe@example.com")

Delete a member from an Office 365 MsolRole.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

groupIdentity*

text, expression, variable

the identity of the MsolRole

memberIdentity*

text, expression, variable

the identity of the object to delete from the MsolRole

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "RoleName" "User Account Administrator")
roles = getOffice365MsolRoles(session, filter, 1)
deleted = deleteOffice365MsolGroupMember(session, roles[0].ObjectId, 
    "jdoe@example.com")

Delete an Office 365 MsolUser record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MsolUser to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365MsolUser(session, "jdoe@example.com")

Delete an Office 365 SharePoint Online Site Group record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

site*

text, expression, variable

the url of the SharePoint Online Site

identity*

text, expression, variable

the name of the Office 365 SharePoint Online Site Group to delete

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365SPOSiteGroup(session, 
    "https://example.sharepoint.com/", "MySiteGroup")

Delete a member from an Office 365 SharePoint Online Site Group.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

site*

text, expression, variable

the url of the SharePoint Online Site

groupIdentity*

text, expression, variable

the name of the SPOSiteGroup

memberIdentity*

text, expression, variable

the login name of the object to delete from the SPOSiteGroup

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

deleted = deleteOffice365SPOSiteGroupMember(session, 
    "https://example.sharepoint.com/", "MySiteGroup", 
    "jdoe@example.com")

Get an Office 365 DistributionGroup record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 DistributionGroup to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

distGroup = getOffice365DistributionGroup(session, "testgroup")

Get Office 365 DistributionGroup records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an OPath filter or an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "GroupType", "SecurityEnabled")
mailboxes = getOffice365DistributionGroups(session, filter, 50)

Get an Office 365 Mailbox record by Identity.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 Mailbox to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

mailbox = getOffice365Mailbox(session, "jdoe@example.com")

Get Office 365 Mailbox records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an OPath filter or an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "LastName", "Doe")
setRecordFieldValue(filter, "FirstName", "John")
mailboxes = getOffice365Mailboxes(session, filter, 2)

Get an Office 365 MailContact record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MailContact to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

contact = getOffice365MailContact(session, "testContact")

Get Office 365 MailContact records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an OPath filter or an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "LastName", "Doe")
setRecordFieldValue(filter, "FirstName", "John")
mailboxes = getOffice365MailContacts(session, filter, 2)

Get an Office 365 MailUser record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MailUser to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

mailUser = getOffice365MailUser(session, "testMailUser")

Get Office 365 MailUser records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an OPath filter or an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "LastName", "Doe")
setRecordFieldValue(filter, "FirstName", "John")
mailboxes = getOffice365MailUsers(session, filter, 2)

Get an Office 365 MsolGroup record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MsolGroup to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Note

filter = createRecord() setRecordFieldValue(filter, "GroupType", 
    "Security") mailboxes = getOffice365MsolGroups(session, 
    filter, 50)

Get Office 365 MsolGroup records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "GroupType", "Security")
mailboxes = getOffice365MsolGroups(session, filter, 50)

Get an Office 365 MsolRole record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MsolRole to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

role = getOffice365MsolRole(session, "fe930be7-5e62-47db-91af-98c3a49a38b1")

Get Office 365 MsolRole records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an example Record

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "RoleName" "User Account Administrator")
roles = getOffice365MsolRoles(session, filter, 1)

Get an Office 365 MsolUser record by Identity.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

identity*

text, expression, variable

the identity of the Office 365 MsolUser to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

user = getOffice365MsolUser(session, "jdoe@example.com")

Get Office 365 MsolUser records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

filter

text, expression, variable

an example Record

maxResults

expression, variable

maximum number of Records to return (default: 1000)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

filter = createRecord()
setRecordFieldValue(filter, "Department", "Sales")
setRecordFieldValue(filter, "State", "CA")
users = getOffice365MsolUsers(session, filter, 200)

Get an Office 365 SharePoint Online Site Group record by Id.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

site*

text, expression, variable

the url of the SharePoint Online Site

identity*

text, expression, variable

the name of the Office 365 SharePoint Online Site Group to get

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

siteGroup = getOffice365SPOSiteGroup(session, 
    "https://example.sharepoint.com/", "MySiteGroup")

Get Office 365 SharePoint Online Site Group records.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

site*

text, expression, variable

the url of the SharePoint Online Site

maxResults

expression, variable

maximum number of Records to return (default: 200)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

siteGroups = getOffice365SPOSiteGroups(session, 
    "https://example.sharepoint.com/", 50)

Open a connection to Office 365.

Property

Value

Description

office365AgentURL*

text, expression, variable

the URL of the Exchange Administrative Web Service agent (e.g. https://hostname:port/idautoExchangeAdminWS)

noExchange

boolean, expression, variable

set to true for domains that don't support Exchange Online (default: false)

spoAdminURL

text, expression, variable

the URL of the SharePoint Online Administration Center (e.g. https://mycompany-admin.sharepoint.com)

username*

text, expression, variable

username for authentication to Office 365

password*

password, string, expression, variable

password for authentication to Office 365

options

expression, variable

A record or JavaScript object with a field for each additional option. Currently defined fields are connectTimeout and socketTime which require a numeric value from 1 to 2147483647 (0x7FFFFFFF) that represents the number of milliseconds for the timeout, and 0 representing no timeout.

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

Global.office365URL = "https://10.10.10.10/idautoExchangeAdminWS"
Global.office365User = "office365admin@example.net"\nGlobal.office365Pwd 
    = <Password>
session = openOffice365Connection(Global.office365URL,Global.office365User,
    Global.office365Pwd)

Purge deleted users from Office 365 Recycle Bin.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

purgeOffice365UserRecycleBin(session)

Create/Update an Office 365 DistributionGroup record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

groupTemplate = createRecord(, )
setRecordFieldValue(groupTemplate, "Name", "testgroup")
saveOffice365DistributionGroup(session, groupTemplate)

Create/Update an Office 365 Mailbox record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

mailboxTemplate = createRecord()
setRecordFieldValue(mailboxTemplate, "Name", "JDoe")
setRecordFieldValue(mailboxTemplate, "Password",Password>)
setRecordFieldValue(mailboxTemplate, "MicrosoftOnlineServicesID", 
    johndoe@example.com")
mailbox = saveOffice365Mailbox(session, mailboxTemplate)

Create/Update an Office 365 MailContact record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

contactTemplate = createRecord()
setRecordFieldValue(contactTemplate, "Name", "testContact")
setRecordFieldValue(contactTemplate, "ExternalEmailAddress", 
    "testContact@example.com")
contact = saveOffice365MailContact(session, contactTemplate)

Create/Update an Office 365 MailUser record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

mailUserTemplate = createRecord()
setRecordFieldValue(
setRecordFieldValue(mailUserTemplate, "EmailAddresses", 
    "testMailUser@example.org")
mailUser = saveOffice365MailUser(session, mailUserTemplate)

Create/Update an Office 365 MsolGroup record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

groupTemplate = createRecord()
setRecordFieldValue(groupTemplate, "DisplayName", "testGroup")
group = saveOffice365MsolGroup(session, groupTemplate)

Create/Update an Office 365 MsolUser record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

userTemplate = createRecord()
setRecordFieldValue(userTemplate, "DisplayName", testId)
setRecordFieldValue(userTemplate, "Password",<//Password//>)
setRecordFieldValue(userTemplate, "UserPrincipleName", testId + 
    "@" + testDomain)
setRecordFieldValue(userTemplate, "UsageLocation", "US")
setRecordFieldValue(userTemplate, "LicenseAssignment", 
    "mydomain:ENTERPRISEPACK")
msolUser = saveOffice365MsolUser(session, userTemplate)

Create/Update an Office 365 SharePoint Online Site Group record.

Property

Value

Description

connection*

expression, variable

the Office 365 connection

record*

expression, variable

the record to save

returnVariable

expression, variable

name of the variable to be assigned to the return value

Fields supported for creating/updating on Office 365 objects are documented as parameters to the New-* and Set-* , Exchange Cmdlets, Azure AD Cmdlets, and SharePoint Online Cmdlets. Because many objects are polymorphic, there are different cmdlets that can be applied to the same object and the set of supported attributes is based on all the applicable cmdlets, e.g. a Mailbox is also a User, a Recipient, a CASMailbox, and a MailboxRegionalConfiguration, so the set of supported attributes is the union of the Cmdlets for those 5 object types. Note that some of the fields documented for Exchange are not available in Office 365, though the specifics of which fields is not documented.

For all Record types, the Identity field serves as the identifier for the corresponding Office 365 object. On save, a Record that has the Identity field will be treated as an update, whereas any Record without the Identity field will be treated as a create. Records returned from the Office 365 will always have the Identity field populated, though for purposes of getting or updating the object, any of the following can be used interchangeably as the Identity: ADObjectID, ,Alias, Distinguished name (DN), Domain\Account, GUID, LegacyExchangeDN, SmtpAddress, User principal name (UPN), Windows Live ID.

For search filters, only one Office 365 object type is supported for each Record type, which means that searches cannot be performed across all the attributes that are supported for create/update on each Record type. The list of attributes supported in search filters can be found here: http://technet.microsoft.com/en-us/library/bb738155.aspx.The syntax for searching is called OPath and is documented here: http://technet.microsoft.com/en-us/library/bb124268.aspx#OPATH. Filters should NOT be enclosed in braces { } because the adapter automatically takes care of that. Note that the filter could also be an example record.

For Msol* object types, OPath filters are not supported, and an example record filter will be used as additional parameters on the Get-Msol* cmdlet, many of which can be used to filter the result set.

Record type

New Cmdlet

Set Cmdlet(s)

Supported Attributes

Search Filter Object Type

MsolUser

New-MsolUser

Set-MsolUser

Set-MsolUserPassword

Set-MsolUserLicense

Set-MsolUserPrincipalName

AlternateEmailAddresses, BlockCredential, City, Country, Department, DisplayName, Fax, FirstName, ImmutableId, LastName, LicenseAssignment, LicenseOptions, MobilePhone, Office, Password, PasswordNeverExpires, PhoneNumber, PostalCode, PreferredLanguage, State, StreetAddress, StrongPasswordRequired, TenantId, Title, UsageLocation, UserPrincipalName, NewPassword, AddLicenses, RemoveLicenses, NewUserPrincipalName, ForceChangePassword

MsolUser

MsolGroup

New-MsolGroup

Set-MsolGroup

Description, DisplayName, ManagedBy, TenantId

MsolGroup

Mailbox

New-Mailbox

Set-Mailbox

Set-User

Set-CASUser

Set-MailboxRegionalConfiguration

Set-UserPhoto

AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, AcceptMessagesOnlyFromSendersOrMembers, ActiveSyncAllowedDeviceIDs, ActiveSyncBlockedDeviceIDs, ActiveSyncDebugLogging, ActiveSyncEnabled, ActiveSyncMailboxPolicy, Alias, ApplyMandatoryProperties, AssistantName, BypassModerationFromSendersOrMembers, CalendarRepairDisabled, CalendarVersionStoreDisabled, City, Company, CountryOrRegion, CustomAttribute1, CustomAttribute2, CustomAttribute3, CustomAttribute4, CustomAttribute5, CustomAttribute6, CustomAttribute7, CustomAttribute8, CustomAttribute9, CustomAttribute10, CustomAttribute11, CustomAttribute12, CustomAttribute13, CustomAttribute14, CustomAttribute15, DeliverToMailboxAndForward, Department, Discovery, DisplayName, EmailAddresses, EvictLiveId, ExternalOofOptions, Fax, FederatedIdentity, FirstName, Force, ForwardingAddress, GrantSendOnBehalfTo, HiddenFromAddressListsEnabled, HomePhone, Identity, ImapEnabled, ImapMessagesRetrievalMimeFormat, ImapUseProtocolDefaults, ImmutableId, ImportLiveId, Initials, Languages, LastName, MAPIEnabled, MailTip, MailTipTranslations, MailboxPlan, Manager, MessageTrackingReadStatusEnabled, MobilePhone, ModeratedBy, ModerationEnabled, Name, Notes, OWAEnabled, Office, OrganizationalUnit, OtherFax, OtherHomePhone, OtherTelephone, Pager, Password, Phone, PopEnabled, PopMessagesRetrievalMimeFormat, PopUseProtocolDefaults, PostOfficeBox, PostalCode, RejectMessagesFrom, RejectMessagesFromDLMembers, RejectMessagesFromSendersOrMembers, RemotePowerShellEnabled, RemovedMailbox, RequireSenderAuthenticationEnabled, ResetPasswordOnNextLogon, ResourceCapacity, ResourceCustom, SecondaryAddress, SendModerationNotifications, SimpleDisplayName, StateOrProvince, StreetAddress, Title, Type, UseExistingLiveId, UserCertificate, UserSMimeCertificate, WebPage, WindowsEmailAddress, MicrosoftOnlineServicesID, DateFormat, Language, LocalizeDefaultFolderName, TimeFormat, TimeZone, PictureData

Recipient

DistributionGroup

New-DistributionGroup

Set-DistributionGroup

Set-Group

AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, AcceptMessagesOnlyFromSendersOrMembers, Alias, BypassModerationFromSendersOrMembers, BypassNestedModerationEnabled, CopyOwnerToMember, CreateDTMFMap, CustomAttribute1, CustomAttribute2, CustomAttribute3, CustomAttribute4, CustomAttribute5, CustomAttribute6, CustomAttribute7, CustomAttribute8, CustomAttribute9, CustomAttribute10, CustomAttribute11, CustomAttribute12, CustomAttribute13, CustomAttribute14, CustomAttribute15, DisplayName, EmailAddresses, GrantSendOnBehalfTo, HiddenFromAddressListsEnabled, Identity, MailTip, MailTipTranslations, ManagedBy, MemberDepartRestriction, MemberJoinRestriction, Members, ModeratedBy, ModerationEnabled, Name, Notes, OrganizationalUnit, PhoneticDisplayName, PrimarySmtpAddress, RejectMessagesFrom, RejectMessagesFromDLMembers, RejectMessagesFromSendersOrMembers, ReportToManagerEnabled, ReportToOriginatorEnabled, RequireSenderAuthenticationEnabled, RoomList, SendModerationNotifications, SendOofMessageToOriginatorEnabled, SimpleDisplayName, Type, Universal, WindowsEmailAddress

Recipient

MailContact

New-MailContact

Set-MailContact

Set-Contact

AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, AcceptMessagesOnlyFromSendersOrMembers, Alias, AllowUMCallsFromNonUsers, AssistantName, BypassModerationFromSendersOrMembers, City, Company, CountryOrRegion, CreateDTMFMap, CustomAttribute1, CustomAttribute2, CustomAttribute3, CustomAttribute4, CustomAttribute5, CustomAttribute6, CustomAttribute7, CustomAttribute8, CustomAttribute9, CustomAttribute10, CustomAttribute11, CustomAttribute12, CustomAttribute13, CustomAttribute14, CustomAttribute15, Department, DisplayName, EmailAddresses, ExternalEmailAddress, Fax, FirstName, GrantSendOnBehalfTo, HiddenFromAddressListsEnabled, HomePhone, Identity, Initials, LastName, MacAttachmentFormat, MailTip, MailTipTranslations, Manager, MessageBodyFormat, MessageFormat, MobilePhone, ModeratedBy, ModerationEnabled, Name, Notes, Office, OrganizationalUnit, OtherFax, OtherHomePhone, OtherTelephone, Pager, Phone, PhoneticDisplayName, PostOfficeBox, PostalCode, RejectMessagesFrom, RejectMessagesFromDLMembers, RejectMessagesFromSendersOrMembers, RequireSenderAuthenticationEnabled, SecondaryAddress, SecondaryDialPlan, SendModerationNotifications, SimpleDisplayName, StateOrProvince, StreetAddress, TelephoneAssistant, Title, UMCallingLineIds, UMDialPlan, UseMapiRichTextFormat, UsePreferMessageFormat, WebPage, WindowsEmailAddress

Recipient

MailUser

New-MailUser

Set-MailUser

Set-User

Set-CASUser

AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, AcceptMessagesOnlyFromSendersOrMembers, Alias, AllowUMCallsFromNonUsers, AssistantName, BypassModerationFromSendersOrMembers, City, Company, CountryOrRegion, CreateDTMFMap, CustomAttribute1, CustomAttribute2, CustomAttribute3, CustomAttribute4, CustomAttribute5, CustomAttribute6, CustomAttribute7, CustomAttribute8, CustomAttribute9, CustomAttribute10, CustomAttribute11, CustomAttribute12, CustomAttribute13, CustomAttribute14, CustomAttribute15, Department, DisplayName, EmailAddresses, ExternalEmailAddress, Fax, FirstName, GrantSendOnBehalfTo, HiddenFromAddressListsEnabled, HomePhone, Identity, Initials, LastName, MacAttachmentFormat, MailTip, MailTipTranslations, Manager, MessageBodyFormat, MessageFormat, MobilePhone, ModeratedBy, ModerationEnabled, Name, Notes, Office, OrganizationalUnit, OtherFax, OtherHomePhone, OtherTelephone, Pager, Phone, PhoneticDisplayName, PostOfficeBox, PostalCode, RejectMessagesFrom, RejectMessagesFromDLMembers, RejectMessagesFromSendersOrMembers, RequireSenderAuthenticationEnabled, SecondaryAddress, SecondaryDialPlan, SendModerationNotifications, SimpleDisplayName, StateOrProvince, StreetAddress, TelephoneAssistant, Title, UMCallingLineIds, UMDialPlan, UseMapiRichTextFormat, UsePreferMessageFormat, WebPage, WindowsEmailAddress

Recipient

SPOSiteGroup

New-SPOSiteGroup

Set-SPOSiteGroup

Name, Owner, OwnerTitle, PermissionLevels, PermissionLevelsToAdd, PermissionLevelsToRemove, Site, Title, Users

N/A

Important Notes
  • Office 365 supports a new higher level management object, MsolUser, that should be preferred to managing users via the Mailbox object.

  • While a Mailbox can still be created directly, the corresponding MsolUser must be assigned a license or the Mailbox will be disabled after a grace period.

    • The corresponding MsolUser is not available immediately (probably due to AD replication latency) so immediately trying to add a license after creating a Mailbox directly will usually fail.

    • Creating a Mailbox directly requires the field MicrosoftOnlineServicesID as opposed to WindowsLiveID (Live@EDU) or UserPrincipalName (Exchange).

  • After an MsolUser is created and assigned an appropriate license, a Mailbox will be automatically created after some delay.

  • While initial password can still be set when creating a Mailbox, subsequent password changes can only be made to the MsolUser.

  • Setting the initial password on an MsolUser uses the Password field, but subsequent password changes can use either the Password or NewPassword field.

  • Licenses can be added on the initial creation of MsolUser using the LicenseAssignment field. Subsequent addition or removal of licenses use the AddLicenses or RemoveLicense field. In either case the assigning a license will fail of the UsageLocation field has not been set.

  • The licenses available for assignment for a particular domain can be determined by going to the server hosting the Exchange agent and opening the “Microsoft Online Services Module for Windows PowerShell” from the desktop. Then running the following commands:

    Connect-MsolService -Credential ( Get-Credential )
    (Get-MsolAccountSku).AccountSkuid
  • You can disable specific applications that would normally be enabled by a license usin the LicenseOptions field. The LicenseOptions field is a record that has two fields: AccountSkuID, which is the name of the license; and DisabledPlans, which is an array of the names of specific modules to be disabled for the user. The names of the modules that are available within a given license can be determined by going to the server hosting the Exchange agent and opening the “Microsoft Online Services Module for Windows PowerShell” from the desktop. Then running the following commands:

    Connect-MsolService -Credential ( Get-Credential )
    forEach ( $sku in Get-MsolAccountSku) { 
        echo $sku; 
    forEach ( $service in $sku.ServiceStatus) { 
        echo $service.ServicePlan.ServiceName} 
    }
    
  • Creating an MsolGroup will create a security group (as opposed to a distribution group), after initial creation, MsolGroup can be used for listing or adding/removing members from both security and distribution groups.

  • There is a timing issue with user creation on the Office 365 backend. We are recommending that you not set Location, Time Zone or Language at user creation time. If you wish to set these attributes you should update them in a later action.