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 | 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 | 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 | 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 | 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 | 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 | 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.