Skip to content

Instantly share code, notes, and snippets.

@darrenjrobinson
Last active November 17, 2018 21:33
Show Gist options
  • Save darrenjrobinson/6f1fa3a656bbaa07d57c0e2f5bcdb834 to your computer and use it in GitHub Desktop.
Save darrenjrobinson/6f1fa3a656bbaa07d57c0e2f5bcdb834 to your computer and use it in GitHub Desktop.
FIM/MIM PowerShell Exchange Online Management Agent. Supporting blog post can be found here https://blog.darrenjrobinson.com/provisioning-hybrid-exchangeexchange-online-mailboxes-with-microsoft-identity-manager/
$obj = New-Object -Type PSCustomObject
$obj | Add-Member -Type NoteProperty -Name "Anchor-objectGuid|String" -Value "00000000-0000-0000-0000-000000000001"
$obj | Add-Member -Type NoteProperty -Name "objectClass|String" -Value "MailUser"
$obj | Add-Member -Type NoteProperty -Name "accountName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "LitHold|Boolean" -Value $False
$obj | Add-Member -Type NoteProperty -Name "IsDirSynced|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "Database|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxRegion|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "UseDatabaseRetentionDefaults|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "RetainDeletedItemsUntilBackup|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "RetentionHoldEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "EndDateForRetentionHold|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "StartDateForRetentionHold|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "LitigationHoldDate|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ComplianceTagHoldApplied|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "DelayHoldApplied|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "InactiveMailboxRetireTime|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "OrphanSoftDeleteTrackingTime|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "LitigationHoldDuration|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "LitigationHoldDays|Integer" -Value 2555
$obj | Add-Member -Type NoteProperty -Name "RetentionPolicy|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ExchangeGuid|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxLocations|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExchangeSecurityDescriptor|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ExchangeUserAccountControl|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ForwardingAddress|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ForwardingSmtpAddress|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "RetainDeletedItemsFor|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "IsMailboxEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "Languages|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "IsLinked|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "IsShared|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "ResourceType|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "SamAccountName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ServerLegacyDN|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ServerName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "UserPrincipalName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "UMEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "WindowsLiveID|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MicrosoftOnlineServicesID|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "RoleAssignmentPolicy|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxPlan|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ArchiveDatabase|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ArchiveGuid|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ArchiveName|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ArchiveStatus|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ArchiveState|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveTargetMDB|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveSourceMDB|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveFlags|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveRemoteHostName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveBatchName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxMoveStatus|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "MailboxRelease|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "WhenMailboxCreated|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "UsageLocation|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "IsSoftDeletedByRemove|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "IsSoftDeletedByDisable|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "IsInactiveMailbox|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "WhenSoftDeleted|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "InPlaceHolds|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "AccountDisabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "HasPicture|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "Alias|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "OrganizationalUnit|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute1|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute2|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute3|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute4|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute5|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute6|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute7|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute8|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute9|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute10|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute11|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute12|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute13|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute14|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "CustomAttribute15|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ExtensionCustomAttribute1|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExtensionCustomAttribute2|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExtensionCustomAttribute3|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExtensionCustomAttribute4|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExtensionCustomAttribute5|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "DisplayName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "EmailAddresses|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "ExternalDirectoryObjectId|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "HiddenFromAddressListsEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "LegacyExchangeDN|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "LastExchangeChangedTime|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ModerationEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "PoliciesIncluded|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "PoliciesExcluded|String[]" -Value ("","")
$obj | Add-Member -Type NoteProperty -Name "EmailAddressPolicyEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "PrimarySmtpAddress|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "RecipientType|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "RecipientTypeDetails|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "WindowsEmailAddress|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "Identity|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ExchangeVersion|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "Name|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "DistinguishedName|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "Guid|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "WhenChanged|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "WhenCreatedUTC|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "ObjectState|String" -Value ""
# AAD Attrs
$obj | Add-Member -Type NoteProperty -Name "AADAccountEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "AADDirSyncEnabled|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "AADDisplayName|String" -Value "Mary Jay Bligh"
$obj | Add-Member -Type NoteProperty -Name "AADGivenName|String" -Value "Mary"
$obj | Add-Member -Type NoteProperty -Name "AADImmutableId|String" -Value "dbJRmSjG3USE++q48Wk34g=="
$obj | Add-Member -Type NoteProperty -Name "AADLastDirSyncTime|String" -Value ""
$obj | Add-Member -Type NoteProperty -Name "AADMail|String" -Value "maryjb@customer.com.au"
$obj | Add-Member -Type NoteProperty -Name "AADMailNickname|String" -Value "maryjb"
$obj | Add-Member -Type NoteProperty -Name "AADonPremiseSID|Binary" -Value 0x10
$obj | Add-Member -Type NoteProperty -Name "AADProxyAddresses|String[]" -Value ("smtp:user1@customer.com.au", "smtp:user1a@customer.com.au")
$obj | Add-Member -Type NoteProperty -Name "AADSurname|String" -Value "Bligh"
$obj | Add-Member -Type NoteProperty -Name "AADUserPrincipalName|String" -Value "maryjb@customer.com.au"
$obj | Add-Member -Type NoteProperty -Name "AADTelephoneNumber|String" -Value "02 1234 5678"
$obj | Add-Member -Type NoteProperty -Name "AADPasswordPolicies|String" -Value "DisablePasswordExpiration"
$obj | Add-Member -Type NoteProperty -Name "AADShowInAddressList|Boolean" -Value $True
$obj | Add-Member -Type NoteProperty -Name "AADCompanyName|String" -Value "customer"
$obj | Add-Member -Type NoteProperty -Name "AADCountry|String" -Value "Australia"
$obj | Add-Member -Type NoteProperty -Name "AADPhysicalDeliveryOfficeName|String" -Value "Here"
$obj | Add-Member -Type NoteProperty -Name "AADUsageLocation|String" -Value "AU"
$obj | Add-Member -Type NoteProperty -Name "AADJobTitle|String" -Value "BOSS"
$obj | Add-Member -Type NoteProperty -Name "AADMobile|String" -Value "0400 123 456"
$obj | Add-Member -Type NoteProperty -Name "AADSipProxyAddress|String" -Value "sip:maryjb@customer.com.au"
$obj | Add-Member -Type NoteProperty -Name "AADOtherMails|String[]" -Value ("user@somewherelese.com","user@anothersomewhereelse.com")
$obj | Add-Member -Type NoteProperty -Name "AADCity|String" -Value "Sydney"
$obj | Add-Member -Type NoteProperty -Name "AADPhoto|Binary" -Value 0x20
$obj | Add-Member -Type NoteProperty -Name "AADPhotoChecksum|String" -Value "23973abc382373"
$obj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment