├── src ├── Documenter.snk ├── AzureADConnectSyncDocumenter │ ├── Scripts │ │ ├── PowerShellScriptSectionHeader.ps1 │ │ ├── PowerShellScriptFooterNoChanges.ps1 │ │ ├── PowerShellScriptFooter.ps1 │ │ ├── PowerShellScriptHeader.ps1 │ │ ├── Documenter.css │ │ └── Documenter.js │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── documenter.css │ └── DocumenterResources.Designer.cs ├── Settings.StyleCop ├── AzureADConnectSyncDocumenter-Contoso.cmd ├── SolutionOutput │ └── Data │ │ └── Contoso │ │ ├── Pilot │ │ └── SynchronizationRules │ │ │ ├── SynchronizationRule_{8b4947d0-b442-4de6-b58b-bbe547813364}.xml │ │ │ ├── SynchronizationRule_{33852a9c-5a00-4641-a1b5-1e697714b804}.xml │ │ │ ├── SynchronizationRule_{ed501e7e-451a-45fd-985e-e62709a48c06}.xml │ │ │ ├── SynchronizationRule_{16a77e26-bfee-4125-ad76-3291874eb639}.xml │ │ │ ├── SynchronizationRule_{3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2}.xml │ │ │ ├── SynchronizationRule_{250624f3-3876-45ed-9e8f-f7333a4fd263}.xml │ │ │ ├── SynchronizationRule_{212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8}.xml │ │ │ ├── SynchronizationRule_{40feed36-b6b7-4569-8100-6ba9d708d02b}.xml │ │ │ ├── SynchronizationRule_{0870f2a3-0a77-46a4-bda3-ced0c1afbde9}.xml │ │ │ ├── SynchronizationRule_{e8dfd42f-1ed5-4d08-a407-acb25e460b42}.xml │ │ │ ├── SynchronizationRule_{7b39914c-6938-437d-8957-b8eb8f8608ec}.xml │ │ │ ├── SynchronizationRule_{236ab8bc-be8b-419a-8909-e29d32e84852}.xml │ │ │ ├── SynchronizationRule_{7381a1b2-365d-449e-9a34-0ab1a5237246}.xml │ │ │ ├── SynchronizationRule_{2fe36c5f-5753-4837-bc9a-006623b9170c}.xml │ │ │ ├── SynchronizationRule_{7d833b2f-c66c-4e54-aedd-5e28d5bc3945}.xml │ │ │ ├── SynchronizationRule_{e5690e87-d3de-4bab-9db8-bc6fd9788ac2}.xml │ │ │ ├── SynchronizationRule_{b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee}.xml │ │ │ ├── SynchronizationRule_{71316c22-a94c-4e14-9e83-e27a4c0b9bd7}.xml │ │ │ ├── SynchronizationRule_{8ae664a6-d8a2-45db-ac67-27cfacdc2dc6}.xml │ │ │ ├── SynchronizationRule_{89549507-440b-4038-8e8d-e896c290fe91}.xml │ │ │ ├── SynchronizationRule_{921def5f-8727-4c3c-abc9-49b90a6dd616}.xml │ │ │ ├── SynchronizationRule_{27f44ceb-9ae6-4327-b5d9-f25cfb874211}.xml │ │ │ ├── SynchronizationRule_{951424f5-f470-4ed6-b567-e7e67afaeb72}.xml │ │ │ ├── SynchronizationRule_{1ca06e20-b16a-4488-8e5f-a1b5f0761cae}.xml │ │ │ ├── SynchronizationRule_{0ba9f56b-0501-4c4f-81c3-f437b0240c21}.xml │ │ │ ├── SynchronizationRule_{794ef0a3-0556-410e-96ff-b2ec8495ef39}.xml │ │ │ ├── SynchronizationRule_{10fd1aee-ad24-4de2-8c9f-31727286d8f2}.xml │ │ │ ├── SynchronizationRule_{a23fa925-816d-4c30-af2c-4fb42c42a83f}.xml │ │ │ ├── SynchronizationRule_{a72c40f1-8c05-43bc-91f2-ecbfeb57c05a}.xml │ │ │ ├── SynchronizationRule_{38f71936-9dc9-4316-b140-5f256db98c82}.xml │ │ │ ├── SynchronizationRule_{e7165896-0027-41d0-bd87-509b984a281e}.xml │ │ │ ├── SynchronizationRule_{9347e1d3-15f7-43b7-a35a-c9b04020f8dd}.xml │ │ │ ├── SynchronizationRule_{e29790d1-ccb0-4829-ad45-b96bc68a184c}.xml │ │ │ ├── SynchronizationRule_{96674fde-b656-4f80-b3fe-cf6035397da9}.xml │ │ │ ├── SynchronizationRule_{0b088913-b613-4d9d-9563-9988b7719ed6}.xml │ │ │ ├── SynchronizationRule_{742af925-f60c-47e0-bfae-c1c5166286d7}.xml │ │ │ └── SynchronizationRule_{a25d7313-790e-4430-88a5-0c478910e637}.xml │ │ └── Production │ │ └── SynchronizationRules │ │ ├── SynchronizationRule_{8b4947d0-b442-4de6-b58b-bbe547813364}.xml │ │ ├── SynchronizationRule_{33852a9c-5a00-4641-a1b5-1e697714b804}.xml │ │ ├── SynchronizationRule_{ed501e7e-451a-45fd-985e-e62709a48c06}.xml │ │ ├── SynchronizationRule_{16a77e26-bfee-4125-ad76-3291874eb639}.xml │ │ ├── SynchronizationRule_{3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2}.xml │ │ ├── SynchronizationRule_{250624f3-3876-45ed-9e8f-f7333a4fd263}.xml │ │ ├── SynchronizationRule_{212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8}.xml │ │ ├── SynchronizationRule_{40feed36-b6b7-4569-8100-6ba9d708d02b}.xml │ │ ├── SynchronizationRule_{0870f2a3-0a77-46a4-bda3-ced0c1afbde9}.xml │ │ ├── SynchronizationRule_{e8dfd42f-1ed5-4d08-a407-acb25e460b42}.xml │ │ ├── SynchronizationRule_{7b39914c-6938-437d-8957-b8eb8f8608ec}.xml │ │ ├── SynchronizationRule_{236ab8bc-be8b-419a-8909-e29d32e84852}.xml │ │ ├── SynchronizationRule_{7381a1b2-365d-449e-9a34-0ab1a5237246}.xml │ │ ├── SynchronizationRule_{2fe36c5f-5753-4837-bc9a-006623b9170c}.xml │ │ ├── SynchronizationRule_{7d833b2f-c66c-4e54-aedd-5e28d5bc3945}.xml │ │ ├── SynchronizationRule_{e5690e87-d3de-4bab-9db8-bc6fd9788ac2}.xml │ │ ├── SynchronizationRule_{b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee}.xml │ │ ├── SynchronizationRule_{71316c22-a94c-4e14-9e83-e27a4c0b9bd7}.xml │ │ ├── SynchronizationRule_{8ae664a6-d8a2-45db-ac67-27cfacdc2dc6}.xml │ │ ├── SynchronizationRule_{89549507-440b-4038-8e8d-e896c290fe91}.xml │ │ ├── SynchronizationRule_{921def5f-8727-4c3c-abc9-49b90a6dd616}.xml │ │ ├── SynchronizationRule_{27f44ceb-9ae6-4327-b5d9-f25cfb874211}.xml │ │ ├── SynchronizationRule_{951424f5-f470-4ed6-b567-e7e67afaeb72}.xml │ │ ├── SynchronizationRule_{1ca06e20-b16a-4488-8e5f-a1b5f0761cae}.xml │ │ ├── SynchronizationRule_{0ba9f56b-0501-4c4f-81c3-f437b0240c21}.xml │ │ ├── SynchronizationRule_{794ef0a3-0556-410e-96ff-b2ec8495ef39}.xml │ │ ├── SynchronizationRule_{10fd1aee-ad24-4de2-8c9f-31727286d8f2}.xml │ │ ├── SynchronizationRule_{a23fa925-816d-4c30-af2c-4fb42c42a83f}.xml │ │ ├── SynchronizationRule_{a72c40f1-8c05-43bc-91f2-ecbfeb57c05a}.xml │ │ ├── SynchronizationRule_{38f71936-9dc9-4316-b140-5f256db98c82}.xml │ │ ├── SynchronizationRule_{e7165896-0027-41d0-bd87-509b984a281e}.xml │ │ ├── SynchronizationRule_{9347e1d3-15f7-43b7-a35a-c9b04020f8dd}.xml │ │ ├── SynchronizationRule_{e29790d1-ccb0-4829-ad45-b96bc68a184c}.xml │ │ ├── SynchronizationRule_{96674fde-b656-4f80-b3fe-cf6035397da9}.xml │ │ ├── SynchronizationRule_{0b088913-b613-4d9d-9563-9988b7719ed6}.xml │ │ ├── SynchronizationRule_{742af925-f60c-47e0-bfae-c1c5166286d7}.xml │ │ └── SynchronizationRule_{a25d7313-790e-4430-88a5-0c478910e637}.xml ├── CodeAnalysisDictionary.xml ├── AzureADConnectSyncDocumenterCmd │ ├── App.config │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Program.cs ├── VersionInfo.cs └── AzureADConnectSyncDocumenter.sln ├── LICENSE.txt ├── .gitattributes └── SECURITY.md /src/Documenter.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/AADConnectConfigDocumenter/master/src/Documenter.snk -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/PowerShellScriptSectionHeader.ps1: -------------------------------------------------------------------------------- 1 | ############################################################################################################################################# 2 | #### '{0}' - '{1}' 3 | ############################################################################################################################################# 4 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/PowerShellScriptFooterNoChanges.ps1: -------------------------------------------------------------------------------- 1 | ############################################################################################################################################# 2 | ### Footer Script 3 | ############################################################################################################################################# 4 | 5 | Write-Host "There are no changes detected in the sync rule configuration of the servers." -ForegroundColor Green 6 | Write-Host "Please review the report manually to confim." -ForegroundColor Green 7 | -------------------------------------------------------------------------------- /src/Settings.StyleCop: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | diffgram 5 | metaverse 6 | indexable 7 | hashtable 8 | Sql 9 | Ldap 10 | 11 | 12 | 13 | 14 | 15 | 16 | cs 17 | mv 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/PowerShellScriptFooter.ps1: -------------------------------------------------------------------------------- 1 | ############################################################################################################################################# 2 | ### Footer Script 3 | ############################################################################################################################################# 4 | 5 | if ($Error.Count) { 6 | Write-Host "There were errors while executing the script." -ForegroundColor Red 7 | Write-Host "Please review the console output." -ForegroundColor Red 8 | } 9 | else { 10 | Write-Host "Script execution completed sucessfully." -ForegroundColor Green 11 | Write-Host "Please regenerate the report with the latest config exports to confirm." -ForegroundColor Green 12 | Write-Host "Once confirmed, it is recommended that you run Full Synchronization run profile all connectors." -ForegroundColor Green 13 | } 14 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter-Contoso.cmd: -------------------------------------------------------------------------------- 1 | AzureADConnectSyncDocumenterCmd.exe "Contoso\Pilot" "Contoso\Production" 2 | 3 | ECHO OFF 4 | 5 | IF %ERRORLEVEL% EQU 9009 ( 6 | ECHO **************************************************************************************************** 7 | ECHO It seems you may have downloaded the source code instead of a release package. Please download the latest release from https://github.com/Microsoft/AADConnectConfigDocumenter/releases... 8 | ECHO **************************************************************************************************** 9 | ) ELSE ( 10 | ECHO **************************************************************************************************** 11 | ECHO Execution complete. Please check any errors or warnings in the AADConnectSyncDocumenter-Error.log... 12 | ECHO **************************************************************************************************** 13 | ) 14 | 15 | @pause -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | AADConnectConfigDocumenter 2 | Copyright (c) Microsoft Corporation 3 | All rights reserved. 4 | MIT License 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{8b4947d0-b442-4de6-b58b-bbe547813364}.xml: -------------------------------------------------------------------------------- 1 | 2 | {8b4947d0-b442-4de6-b58b-bbe547813364} 3 | {8b4947d0-b442-4de6-b58b-bbe547813364} 4 | 1 5 | Out to AD - Contact Join 6 | 7 | Microsoft.OuttoADContactJoin.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | contact 13 | Join 14 | 151 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | mail 24 | mail 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{8b4947d0-b442-4de6-b58b-bbe547813364}.xml: -------------------------------------------------------------------------------- 1 | 2 | {8b4947d0-b442-4de6-b58b-bbe547813364} 3 | {8b4947d0-b442-4de6-b58b-bbe547813364} 4 | 1 5 | Out to AD - Contact Join 6 | 7 | Microsoft.OuttoADContactJoin.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | contact 13 | Join 14 | 151 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | mail 24 | mail 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/PowerShellScriptHeader.ps1: -------------------------------------------------------------------------------- 1 | ############################################################################################################################################# 2 | # This script is generated by the Azure AD Connect Configuration Documenter tool. 3 | # The latest version of the tool can be downloaded from https://aka.ms/AADConnectConfigDocumenter. 4 | # 5 | # NO WARRANTY OF ANY KIND IS PROVIDED. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS SCRIPT REMAINS WITH THE USER. 6 | # 7 | # When the script is executed, the sync rule configuration of the server is made same as what was provided as the "Pilot" configuration. 8 | # The "Pilot" configuration was the first argument passed when running the AAD Connect Config Documenter executable. 9 | # 10 | # Only supported changes to the sync rules are effected via this script. For any unsupported changes to the sync rules or any sync rule changes 11 | # that must be effected using the Azure AD Connect Wizard, a warning message is displayed when the script is run. 12 | ############################################################################################################################################# 13 | 14 | function Get-CurrentLine { 15 | $Myinvocation.ScriptlineNumber 16 | } 17 | 18 | $Error.Clear() 19 | Clear-Host 20 | 21 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{33852a9c-5a00-4641-a1b5-1e697714b804}.xml: -------------------------------------------------------------------------------- 1 | 2 | {33852a9c-5a00-4641-a1b5-1e697714b804} 3 | {33852a9c-5a00-4641-a1b5-1e697714b804} 4 | 1 5 | In from AD - ForeignSecurityPrincipal Join User 6 | 7 | Microsoft.InfromADForeignSecurityPrincipalJoinUser.001 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | foreignSecurityPrincipal 12 | * 13 | Join 14 | 118 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | cn 24 | objectSidString 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{33852a9c-5a00-4641-a1b5-1e697714b804}.xml: -------------------------------------------------------------------------------- 1 | 2 | {33852a9c-5a00-4641-a1b5-1e697714b804} 3 | {33852a9c-5a00-4641-a1b5-1e697714b804} 4 | 1 5 | In from AD - ForeignSecurityPrincipal Join User 6 | 7 | Microsoft.InfromADForeignSecurityPrincipalJoinUser.001 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | foreignSecurityPrincipal 12 | * 13 | Join 14 | 118 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | cn 24 | objectSidString 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/CodeAnalysisDictionary.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | XPath 14 | 15 | 16 | Metaverse 17 | Diffgram 18 | indexable 19 | Dsml 20 | Mms 21 | GlobalSettings 22 | SynchronizationRules 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Logon 32 | 33 | 34 | 35 | 36 | AAD 37 | TOC 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenterCmd/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{ed501e7e-451a-45fd-985e-e62709a48c06}.xml: -------------------------------------------------------------------------------- 1 | 2 | {ed501e7e-451a-45fd-985e-e62709a48c06} 3 | {ed501e7e-451a-45fd-985e-e62709a48c06} 4 | 1 5 | Out to AD - Contact Exchange Hybrid 6 | 7 | Microsoft.OuttoADContactExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | contact 13 | Join 14 | 155 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | proxyAddresses 22 | 23 | cloudLegacyExchangeDN 24 | 25 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 26 | MergeCaseInsensitive 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{ed501e7e-451a-45fd-985e-e62709a48c06}.xml: -------------------------------------------------------------------------------- 1 | 2 | {ed501e7e-451a-45fd-985e-e62709a48c06} 3 | {ed501e7e-451a-45fd-985e-e62709a48c06} 4 | 1 5 | Out to AD - Contact Exchange Hybrid 6 | 7 | Microsoft.OuttoADContactExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | contact 13 | Join 14 | 155 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | proxyAddresses 22 | 23 | cloudLegacyExchangeDN 24 | 25 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 26 | MergeCaseInsensitive 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{16a77e26-bfee-4125-ad76-3291874eb639}.xml: -------------------------------------------------------------------------------- 1 | 2 | {16a77e26-bfee-4125-ad76-3291874eb639} 3 | {16a77e26-bfee-4125-ad76-3291874eb639} 4 | 1 5 | In from AAD - Group Exchange Hybrid 6 | 7 | Microsoft.InfromAADGroupExchangeHybrid.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 149 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudLegacyExchangeDN 22 | 23 | cloudLegacyExchangeDN 24 | 25 | Update 26 | 27 | 28 | cloudPublicDelegates 29 | 30 | cloudPublicDelegates 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2} 3 | {3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2} 4 | 1 5 | Out to AD - Group Join 6 | 7 | Microsoft.OuttoADGroupJoin.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Join 14 | 152 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectGUID 24 | sourceAnchorBinary 25 | 26 | 27 | 28 | 29 | 30 | 31 | cloudMastered 32 | NOTEQUAL 33 | True 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{16a77e26-bfee-4125-ad76-3291874eb639}.xml: -------------------------------------------------------------------------------- 1 | 2 | {16a77e26-bfee-4125-ad76-3291874eb639} 3 | {16a77e26-bfee-4125-ad76-3291874eb639} 4 | 1 5 | In from AAD - Group Exchange Hybrid 6 | 7 | Microsoft.InfromAADGroupExchangeHybrid.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 149 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudLegacyExchangeDN 22 | 23 | cloudLegacyExchangeDN 24 | 25 | Update 26 | 27 | 28 | cloudPublicDelegates 29 | 30 | cloudPublicDelegates 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2} 3 | {3e8b91b0-e20c-408d-9ba9-3dc1dce10fa2} 4 | 1 5 | Out to AD - Group Join 6 | 7 | Microsoft.OuttoADGroupJoin.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Join 14 | 152 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectGUID 24 | sourceAnchorBinary 25 | 26 | 27 | 28 | 29 | 30 | 31 | cloudMastered 32 | NOTEQUAL 33 | True 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{250624f3-3876-45ed-9e8f-f7333a4fd263}.xml: -------------------------------------------------------------------------------- 1 | 2 | {250624f3-3876-45ed-9e8f-f7333a4fd263} 3 | {250624f3-3876-45ed-9e8f-f7333a4fd263} 4 | 1 5 | In from AAD - Contact Exchange Hybrid 6 | 7 | Microsoft.InfromAADContactExchangeHybrid.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | contact 12 | person 13 | Join 14 | 148 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudLegacyExchangeDN 22 | 23 | cloudLegacyExchangeDN 24 | 25 | Update 26 | 27 | 28 | cloudPublicDelegates 29 | 30 | cloudPublicDelegates 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{250624f3-3876-45ed-9e8f-f7333a4fd263}.xml: -------------------------------------------------------------------------------- 1 | 2 | {250624f3-3876-45ed-9e8f-f7333a4fd263} 3 | {250624f3-3876-45ed-9e8f-f7333a4fd263} 4 | 1 5 | In from AAD - Contact Exchange Hybrid 6 | 7 | Microsoft.InfromAADContactExchangeHybrid.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | contact 12 | person 13 | Join 14 | 148 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudLegacyExchangeDN 22 | 23 | cloudLegacyExchangeDN 24 | 25 | Update 26 | 27 | 28 | cloudPublicDelegates 29 | 30 | cloudPublicDelegates 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) Microsoft. All Rights Reserved. 4 | // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. 5 | // 6 | // 7 | // Common helper class to define Version Information for all Documenter assemblies 8 | // 9 | //----------------------------------------------------------------------------------------------------------------------- 10 | 11 | namespace AzureADConnectConfigDocumenter 12 | { 13 | /// 14 | /// Common helper class to define Version Information for all Azure AD Connect sync Documenter assemblies 15 | /// 16 | internal static class VersionInfo 17 | { 18 | /// 19 | /// Version information for the assembly consists of the following four values: 20 | /// Major Version (1) 21 | /// Minor Version (YY) 22 | /// Build Number (MMDD) 23 | /// Revision (if any on the same day) 24 | /// 25 | internal const string Version = "1.20.0917.0"; 26 | 27 | /// 28 | /// File Version information for the assembly consists of the following four values: 29 | /// Major Version (1) 30 | /// Minor Version (YY) 31 | /// Build Number (MMDD) 32 | /// Revision (if any on the same day) 33 | /// 34 | internal const string FileVersion = "1.20.0917.0"; 35 | } 36 | } -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8}.xml: -------------------------------------------------------------------------------- 1 | 2 | {212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8} 3 | {212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8} 4 | 1 5 | Out to AD - Group Exchange Hybrid 6 | 7 | Microsoft.OuttoADGroupExchangeHybrid.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Join 14 | 156 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | proxyAddresses 22 | 23 | cloudLegacyExchangeDN 24 | 25 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 26 | MergeCaseInsensitive 27 | 28 | 29 | 30 | 31 | 32 | 33 | cloudMastered 34 | NOTEQUAL 35 | True 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8}.xml: -------------------------------------------------------------------------------- 1 | 2 | {212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8} 3 | {212ff12d-a3e7-455b-b4d1-ac8a45d4eeb8} 4 | 1 5 | Out to AD - Group Exchange Hybrid 6 | 7 | Microsoft.OuttoADGroupExchangeHybrid.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Join 14 | 156 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | proxyAddresses 22 | 23 | cloudLegacyExchangeDN 24 | 25 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 26 | MergeCaseInsensitive 27 | 28 | 29 | 30 | 31 | 32 | 33 | cloudMastered 34 | NOTEQUAL 35 | True 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{40feed36-b6b7-4569-8100-6ba9d708d02b}.xml: -------------------------------------------------------------------------------- 1 | 2 | {40feed36-b6b7-4569-8100-6ba9d708d02b} 3 | {40feed36-b6b7-4569-8100-6ba9d708d02b} 4 | 1 5 | Out to AAD - Contact AzureRMS 6 | Minimal set of attributes required for Azure RMS. 7 | Microsoft.OuttoAADContactAzureRMS.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 138 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | mail 22 | 23 | mail 24 | 25 | Update 26 | 27 | 28 | proxyAddresses 29 | 30 | proxyAddresses 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | 38 | 39 | sourceObjectType 40 | EQUAL 41 | Contact 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{40feed36-b6b7-4569-8100-6ba9d708d02b}.xml: -------------------------------------------------------------------------------- 1 | 2 | {40feed36-b6b7-4569-8100-6ba9d708d02b} 3 | {40feed36-b6b7-4569-8100-6ba9d708d02b} 4 | 1 5 | Out to AAD - Contact AzureRMS 6 | Minimal set of attributes required for Azure RMS. 7 | Microsoft.OuttoAADContactAzureRMS.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 138 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | mail 22 | 23 | mail 24 | 25 | Update 26 | 27 | 28 | proxyAddresses 29 | 30 | proxyAddresses 31 | 32 | Update 33 | 34 | 35 | 36 | 37 | 38 | 39 | sourceObjectType 40 | EQUAL 41 | Contact 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{0870f2a3-0a77-46a4-bda3-ced0c1afbde9}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0870f2a3-0a77-46a4-bda3-ced0c1afbde9} 3 | {0870f2a3-0a77-46a4-bda3-ced0c1afbde9} 4 | 1 5 | In from AAD - User NGCKey 6 | 7 | Microsoft.InfromAADUserNGCKey.001 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | user 12 | person 13 | Join 14 | 122 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | deviceKey 22 | 23 | searchableDeviceKey 24 | 25 | IIF(IsNull([searchableDeviceKey]), NULL, IIF(CNum(Mid([searchableDeviceKey],1,1))=0, Mid([searchableDeviceKey],1,7+CNum(Mid([searchableDeviceKey],5,2))) & CBin(Len(Thumbprint(Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey])))),2) & CBin(2,1) & Thumbprint(Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey]))) & Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey])), NULL)) 26 | Update 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{e8dfd42f-1ed5-4d08-a407-acb25e460b42}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e8dfd42f-1ed5-4d08-a407-acb25e460b42} 3 | {e8dfd42f-1ed5-4d08-a407-acb25e460b42} 4 | 1 5 | In from AAD - Contact Join 6 | 7 | Microsoft.InfromAADContactJoin.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | contact 12 | person 13 | Join 14 | 120 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudAnchor 22 | 23 | cloudAnchor 24 | 25 | Update 26 | 27 | 28 | cloudSourceAnchor 29 | 30 | sourceAnchor 31 | 32 | ImportedValue("sourceAnchor") 33 | Update 34 | 35 | 36 | 37 | 38 | 39 | True 40 | sourceAnchor 41 | sourceAnchor 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{0870f2a3-0a77-46a4-bda3-ced0c1afbde9}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0870f2a3-0a77-46a4-bda3-ced0c1afbde9} 3 | {0870f2a3-0a77-46a4-bda3-ced0c1afbde9} 4 | 1 5 | In from AAD - User NGCKey 6 | 7 | Microsoft.InfromAADUserNGCKey.001 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | user 12 | person 13 | Join 14 | 122 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | deviceKey 22 | 23 | searchableDeviceKey 24 | 25 | IIF(IsNull([searchableDeviceKey]), NULL, IIF(CNum(Mid([searchableDeviceKey],1,1))=0, Mid([searchableDeviceKey],1,7+CNum(Mid([searchableDeviceKey],5,2))) & CBin(Len(Thumbprint(Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey])))),2) & CBin(2,1) & Thumbprint(Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey]))) & Mid([searchableDeviceKey],8+CNum(Mid([searchableDeviceKey],5,2)),Len([searchableDeviceKey])), NULL)) 26 | Update 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{e8dfd42f-1ed5-4d08-a407-acb25e460b42}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e8dfd42f-1ed5-4d08-a407-acb25e460b42} 3 | {e8dfd42f-1ed5-4d08-a407-acb25e460b42} 4 | 1 5 | In from AAD - Contact Join 6 | 7 | Microsoft.InfromAADContactJoin.003 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | contact 12 | person 13 | Join 14 | 120 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudAnchor 22 | 23 | cloudAnchor 24 | 25 | Update 26 | 27 | 28 | cloudSourceAnchor 29 | 30 | sourceAnchor 31 | 32 | ImportedValue("sourceAnchor") 33 | Update 34 | 35 | 36 | 37 | 38 | 39 | True 40 | sourceAnchor 41 | sourceAnchor 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{7b39914c-6938-437d-8957-b8eb8f8608ec}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7b39914c-6938-437d-8957-b8eb8f8608ec} 3 | {7b39914c-6938-437d-8957-b8eb8f8608ec} 4 | 1 5 | In from AD - Device Common 6 | 7 | Microsoft.InfromADDeviceCommon.001 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | msDS-Device 12 | device 13 | Join 14 | 161 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | isProvisionedInAD 22 | True 23 | Update 24 | 25 | 26 | 27 | 28 | 29 | msDS-DeviceID 30 | deviceId 31 | 32 | 33 | 34 | 35 | 36 | 37 | objectGUID 38 | ISNOTNULL 39 | 40 | 41 | 42 | msDS-CloudAnchor 43 | ISNOTNULL 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{7b39914c-6938-437d-8957-b8eb8f8608ec}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7b39914c-6938-437d-8957-b8eb8f8608ec} 3 | {7b39914c-6938-437d-8957-b8eb8f8608ec} 4 | 1 5 | In from AD - Device Common 6 | 7 | Microsoft.InfromADDeviceCommon.001 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | msDS-Device 12 | device 13 | Join 14 | 161 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | isProvisionedInAD 22 | True 23 | Update 24 | 25 | 26 | 27 | 28 | 29 | msDS-DeviceID 30 | deviceId 31 | 32 | 33 | 34 | 35 | 36 | 37 | objectGUID 38 | ISNOTNULL 39 | 40 | 41 | 42 | msDS-CloudAnchor 43 | ISNOTNULL 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{236ab8bc-be8b-419a-8909-e29d32e84852}.xml: -------------------------------------------------------------------------------- 1 | 2 | {236ab8bc-be8b-419a-8909-e29d32e84852} 3 | {236ab8bc-be8b-419a-8909-e29d32e84852} 4 | 1 5 | In from AAD - Group Join 6 | 7 | Microsoft.InfromAADGroupJoin.004 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 121 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudAnchor 22 | 23 | cloudAnchor 24 | 25 | Update 26 | 27 | 28 | cloudSourceAnchor 29 | 30 | sourceAnchor 31 | 32 | ImportedValue("sourceAnchor") 33 | Update 34 | 35 | 36 | 37 | 38 | 39 | True 40 | sourceAnchor 41 | sourceAnchor 42 | 43 | 44 | 45 | 46 | 47 | 48 | cloudMastered 49 | NOTEQUAL 50 | True 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{236ab8bc-be8b-419a-8909-e29d32e84852}.xml: -------------------------------------------------------------------------------- 1 | 2 | {236ab8bc-be8b-419a-8909-e29d32e84852} 3 | {236ab8bc-be8b-419a-8909-e29d32e84852} 4 | 1 5 | In from AAD - Group Join 6 | 7 | Microsoft.InfromAADGroupJoin.004 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 121 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudAnchor 22 | 23 | cloudAnchor 24 | 25 | Update 26 | 27 | 28 | cloudSourceAnchor 29 | 30 | sourceAnchor 31 | 32 | ImportedValue("sourceAnchor") 33 | Update 34 | 35 | 36 | 37 | 38 | 39 | True 40 | sourceAnchor 41 | sourceAnchor 42 | 43 | 44 | 45 | 46 | 47 | 48 | cloudMastered 49 | NOTEQUAL 50 | True 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{7381a1b2-365d-449e-9a34-0ab1a5237246}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7381a1b2-365d-449e-9a34-0ab1a5237246} 3 | {7381a1b2-365d-449e-9a34-0ab1a5237246} 4 | 1 5 | Out to AAD - Group AzureRMS 6 | 7 | Microsoft.OuttoAADGroupAzureRMS.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 146 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | mail 29 | 30 | mail 31 | 32 | Update 33 | 34 | 35 | member 36 | 37 | member 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | 50 | 51 | 52 | 53 | cloudMastered 54 | NOTEQUAL 55 | True 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{2fe36c5f-5753-4837-bc9a-006623b9170c}.xml: -------------------------------------------------------------------------------- 1 | 2 | {2fe36c5f-5753-4837-bc9a-006623b9170c} 3 | {2fe36c5f-5753-4837-bc9a-006623b9170c} 4 | 1 5 | Out to AD - InetOrgPerson Join 6 | 7 | Microsoft.OuttoADInetOrgPersonJoin.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | inetOrgPerson 13 | Join 14 | 153 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectSid 24 | objectSid 25 | 26 | 27 | 28 | 29 | msExchMasterAccountSid 30 | objectSid 31 | 32 | 33 | 34 | 35 | objectSid 36 | msExchMasterAccountSid 37 | 38 | 39 | 40 | 41 | msRTCSIP-OriginatorSid 42 | objectSid 43 | 44 | 45 | 46 | 47 | objectSid 48 | msRTCSIP-OriginatorSid 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{7381a1b2-365d-449e-9a34-0ab1a5237246}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7381a1b2-365d-449e-9a34-0ab1a5237246} 3 | {7381a1b2-365d-449e-9a34-0ab1a5237246} 4 | 1 5 | Out to AAD - Group AzureRMS 6 | 7 | Microsoft.OuttoAADGroupAzureRMS.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 146 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | mail 29 | 30 | mail 31 | 32 | Update 33 | 34 | 35 | member 36 | 37 | member 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | 50 | 51 | 52 | 53 | cloudMastered 54 | NOTEQUAL 55 | True 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{2fe36c5f-5753-4837-bc9a-006623b9170c}.xml: -------------------------------------------------------------------------------- 1 | 2 | {2fe36c5f-5753-4837-bc9a-006623b9170c} 3 | {2fe36c5f-5753-4837-bc9a-006623b9170c} 4 | 1 5 | Out to AD - InetOrgPerson Join 6 | 7 | Microsoft.OuttoADInetOrgPersonJoin.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | inetOrgPerson 13 | Join 14 | 153 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectSid 24 | objectSid 25 | 26 | 27 | 28 | 29 | msExchMasterAccountSid 30 | objectSid 31 | 32 | 33 | 34 | 35 | objectSid 36 | msExchMasterAccountSid 37 | 38 | 39 | 40 | 41 | msRTCSIP-OriginatorSid 42 | objectSid 43 | 44 | 45 | 46 | 47 | objectSid 48 | msRTCSIP-OriginatorSid 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{7d833b2f-c66c-4e54-aedd-5e28d5bc3945}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7d833b2f-c66c-4e54-aedd-5e28d5bc3945} 3 | {7d833b2f-c66c-4e54-aedd-5e28d5bc3945} 4 | 1 5 | Out to AAD - User OfficeProPlus 6 | 7 | Microsoft.OuttoAADUserOfficeProPlus.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 147 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | onPremisesUserPrincipalName 29 | 30 | onPremisesUserPrincipalName 31 | 32 | Update 33 | 34 | 35 | userPrincipalName 36 | 37 | userPrincipalName 38 | 39 | Update 40 | 41 | 42 | 43 | 44 | 45 | 46 | sourceObjectType 47 | EQUAL 48 | User 49 | 50 | 51 | cloudMastered 52 | NOTEQUAL 53 | True 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{7d833b2f-c66c-4e54-aedd-5e28d5bc3945}.xml: -------------------------------------------------------------------------------- 1 | 2 | {7d833b2f-c66c-4e54-aedd-5e28d5bc3945} 3 | {7d833b2f-c66c-4e54-aedd-5e28d5bc3945} 4 | 1 5 | Out to AAD - User OfficeProPlus 6 | 7 | Microsoft.OuttoAADUserOfficeProPlus.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 147 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | onPremisesUserPrincipalName 29 | 30 | onPremisesUserPrincipalName 31 | 32 | Update 33 | 34 | 35 | userPrincipalName 36 | 37 | userPrincipalName 38 | 39 | Update 40 | 41 | 42 | 43 | 44 | 45 | 46 | sourceObjectType 47 | EQUAL 48 | User 49 | 50 | 51 | cloudMastered 52 | NOTEQUAL 53 | True 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{e5690e87-d3de-4bab-9db8-bc6fd9788ac2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e5690e87-d3de-4bab-9db8-bc6fd9788ac2} 3 | {e5690e87-d3de-4bab-9db8-bc6fd9788ac2} 4 | 1 5 | In from AD - Contact Lync 6 | Lync attributes for a Contact object. 7 | Microsoft.InfromADContactLync.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | contact 12 | person 13 | Join 14 | 117 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-DeploymentLocator 22 | 23 | msRTCSIP-DeploymentLocator 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-Line 29 | 30 | msRTCSIP-Line 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-PrimaryUserAddress 36 | 37 | msRTCSIP-PrimaryUserAddress 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-UserEnabled 43 | 44 | msRTCSIP-UserEnabled 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-OptionFlags 50 | 51 | msRTCSIP-OptionFlags 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{e5690e87-d3de-4bab-9db8-bc6fd9788ac2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e5690e87-d3de-4bab-9db8-bc6fd9788ac2} 3 | {e5690e87-d3de-4bab-9db8-bc6fd9788ac2} 4 | 1 5 | In from AD - Contact Lync 6 | Lync attributes for a Contact object. 7 | Microsoft.InfromADContactLync.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | contact 12 | person 13 | Join 14 | 117 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-DeploymentLocator 22 | 23 | msRTCSIP-DeploymentLocator 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-Line 29 | 30 | msRTCSIP-Line 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-PrimaryUserAddress 36 | 37 | msRTCSIP-PrimaryUserAddress 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-UserEnabled 43 | 44 | msRTCSIP-UserEnabled 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-OptionFlags 50 | 51 | msRTCSIP-OptionFlags 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee}.xml: -------------------------------------------------------------------------------- 1 | 2 | {b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee} 3 | {b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee} 4 | 1 5 | Out to AAD - Contact Intune 6 | 7 | Microsoft.OuttoAADContactIntune.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 135 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | countryLetterCode 29 | 30 | c 31 | 32 | Update 33 | 34 | 35 | description 36 | 37 | description 38 | 39 | Update 40 | 41 | 42 | displayName 43 | 44 | displayName 45 | 46 | Update 47 | 48 | 49 | proxyAddresses 50 | 51 | proxyAddresses 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | Contact 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee}.xml: -------------------------------------------------------------------------------- 1 | 2 | {b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee} 3 | {b0acf5b7-4ba9-47f1-99e7-ce38b9fed0ee} 4 | 1 5 | Out to AAD - Contact Intune 6 | 7 | Microsoft.OuttoAADContactIntune.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 135 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | countryLetterCode 29 | 30 | c 31 | 32 | Update 33 | 34 | 35 | description 36 | 37 | description 38 | 39 | Update 40 | 41 | 42 | displayName 43 | 44 | displayName 45 | 46 | Update 47 | 48 | 49 | proxyAddresses 50 | 51 | proxyAddresses 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | Contact 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{71316c22-a94c-4e14-9e83-e27a4c0b9bd7}.xml: -------------------------------------------------------------------------------- 1 | 2 | {71316c22-a94c-4e14-9e83-e27a4c0b9bd7} 3 | {71316c22-a94c-4e14-9e83-e27a4c0b9bd7} 4 | 1 5 | Out to AD - User Join SOAInAD 6 | 7 | Microsoft.OuttoADUserJoinSOAInAD.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | user 13 | Join 14 | 154 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectSid 24 | objectSid 25 | 26 | 27 | 28 | 29 | msExchMasterAccountSid 30 | objectSid 31 | 32 | 33 | 34 | 35 | objectSid 36 | msExchMasterAccountSid 37 | 38 | 39 | 40 | 41 | msRTCSIP-OriginatorSid 42 | objectSid 43 | 44 | 45 | 46 | 47 | objectSid 48 | msRTCSIP-OriginatorSid 49 | 50 | 51 | 52 | 53 | 54 | 55 | cloudMastered 56 | EQUAL 57 | False 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{71316c22-a94c-4e14-9e83-e27a4c0b9bd7}.xml: -------------------------------------------------------------------------------- 1 | 2 | {71316c22-a94c-4e14-9e83-e27a4c0b9bd7} 3 | {71316c22-a94c-4e14-9e83-e27a4c0b9bd7} 4 | 1 5 | Out to AD - User Join SOAInAD 6 | 7 | Microsoft.OuttoADUserJoinSOAInAD.004 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | user 13 | Join 14 | 154 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | 22 | 23 | objectSid 24 | objectSid 25 | 26 | 27 | 28 | 29 | msExchMasterAccountSid 30 | objectSid 31 | 32 | 33 | 34 | 35 | objectSid 36 | msExchMasterAccountSid 37 | 38 | 39 | 40 | 41 | msRTCSIP-OriginatorSid 42 | objectSid 43 | 44 | 45 | 46 | 47 | objectSid 48 | msRTCSIP-OriginatorSid 49 | 50 | 51 | 52 | 53 | 54 | 55 | cloudMastered 56 | EQUAL 57 | False 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------------------------------------------------------------------ 2 | // 3 | // Copyright (c) Microsoft. All Rights Reserved. 4 | // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. 5 | // 6 | // 7 | // Azure AD Connect Sync Configuration Documenter Assembly Info 8 | // 9 | //------------------------------------------------------------------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | using System.Resources; 14 | using System.Runtime.InteropServices; 15 | using AzureADConnectConfigDocumenter; 16 | 17 | // General Information about an assembly is controlled through the following 18 | // set of attributes. Change these attribute values to modify the information 19 | // associated with an assembly. 20 | [assembly: AssemblyTitle("Azure ADSync Documenter Library")] 21 | [assembly: AssemblyDescription("")] 22 | [assembly: AssemblyConfiguration("")] 23 | [assembly: AssemblyCompany("")] 24 | [assembly: AssemblyProduct("Azure ADSync Documenter")] 25 | [assembly: AssemblyCopyright("Copyright © 2015")] 26 | [assembly: AssemblyTrademark("")] 27 | [assembly: AssemblyCulture("")] 28 | [assembly: NeutralResourcesLanguage("en")] 29 | [assembly: CLSCompliant(false)] 30 | 31 | // Setting ComVisible to false makes the types in this assembly not visible 32 | // to COM components. If you need to access a type in this assembly from 33 | // COM, set the ComVisible attribute to true on that type. 34 | [assembly: ComVisible(false)] 35 | 36 | // The following GUID is for the ID of the typelib if this project is exposed to COM 37 | [assembly: Guid("28140f0d-5467-4196-997e-03b8cf7dcc6d")] 38 | 39 | // Version information for an assembly consists of the following four values: 40 | // 41 | // Major Version 42 | // Minor Version 43 | // Build Number 44 | // Revision 45 | // 46 | // You can specify all the values or you can default the Build and Revision Numbers 47 | // by using the '*' as shown below: 48 | // [assembly: AssemblyVersion("1.0.*")] 49 | [assembly: AssemblyVersion(VersionInfo.Version)] 50 | [assembly: AssemblyFileVersion(VersionInfo.FileVersion)] 51 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{8ae664a6-d8a2-45db-ac67-27cfacdc2dc6}.xml: -------------------------------------------------------------------------------- 1 | 2 | {8ae664a6-d8a2-45db-ac67-27cfacdc2dc6} 3 | {8ae664a6-d8a2-45db-ac67-27cfacdc2dc6} 4 | 1 5 | Out to AAD - Contact Identity 6 | Minimal attributes required for the Contact object 7 | Microsoft.OuttoAADContactIdentity.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 132 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | givenName 36 | 37 | givenName 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | surname 50 | 51 | sn 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | Contact 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{8ae664a6-d8a2-45db-ac67-27cfacdc2dc6}.xml: -------------------------------------------------------------------------------- 1 | 2 | {8ae664a6-d8a2-45db-ac67-27cfacdc2dc6} 3 | {8ae664a6-d8a2-45db-ac67-27cfacdc2dc6} 4 | 1 5 | Out to AAD - Contact Identity 6 | Minimal attributes required for the Contact object 7 | Microsoft.OuttoAADContactIdentity.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Join 14 | 132 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | givenName 36 | 37 | givenName 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | surname 50 | 51 | sn 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | Contact 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenterCmd/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------------------------------------------------------------------ 2 | // 3 | // Copyright (c) Microsoft. All Rights Reserved. 4 | // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. 5 | // 6 | // 7 | // Azure AD Connect Sync Configuration Documenter Assembly Info 8 | // 9 | //------------------------------------------------------------------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | using System.Resources; 14 | using System.Runtime.CompilerServices; 15 | using System.Runtime.InteropServices; 16 | using AzureADConnectConfigDocumenter; 17 | 18 | // General Information about an assembly is controlled through the following 19 | // set of attributes. Change these attribute values to modify the information 20 | // associated with an assembly. 21 | [assembly: AssemblyTitle("Azure ADSync Documenter")] 22 | [assembly: AssemblyDescription("")] 23 | [assembly: AssemblyConfiguration("")] 24 | [assembly: AssemblyCompany("")] 25 | [assembly: AssemblyProduct("Azure ADSync Documenter")] 26 | [assembly: AssemblyCopyright("Copyright © 2015")] 27 | [assembly: AssemblyTrademark("")] 28 | [assembly: AssemblyCulture("")] 29 | 30 | [assembly: NeutralResourcesLanguage("en")] 31 | [assembly: CLSCompliant(false)] 32 | 33 | // Setting ComVisible to false makes the types in this assembly not visible 34 | // to COM components. If you need to access a type in this assembly from 35 | // COM, set the ComVisible attribute to true on that type. 36 | [assembly: ComVisible(false)] 37 | 38 | // The following GUID is for the ID of the typelib if this project is exposed to COM 39 | [assembly: Guid("c6098a15-5bac-4fd1-bd5a-9e44315d6c09")] 40 | 41 | // Version information for an assembly consists of the following four values: 42 | // 43 | // Major Version 44 | // Minor Version 45 | // Build Number 46 | // Revision 47 | // 48 | // You can specify all the values or you can default the Build and Revision Numbers 49 | // by using the '*' as shown below: 50 | // [assembly: AssemblyVersion("1.0.*")] 51 | [assembly: AssemblyVersion(VersionInfo.Version)] 52 | [assembly: AssemblyFileVersion(VersionInfo.FileVersion)] 53 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{89549507-440b-4038-8e8d-e896c290fe91}.xml: -------------------------------------------------------------------------------- 1 | 2 | {89549507-440b-4038-8e8d-e896c290fe91} 3 | {89549507-440b-4038-8e8d-e896c290fe91} 4 | 1 5 | In from AD - Contact Join 6 | Contact object with default Active Directory schema. 7 | Microsoft.InfromADContactJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | contact 12 | person 13 | Provision 14 | 115 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | isCriticalSystemObject 24 | 25 | IIF(IsPresent([isCriticalSystemObject]) || ( (InStr([displayName], "(MSOL)") > 0) && (CBool([msExchHideFromAddressLists]))) || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 26 | Update 27 | 28 | 29 | mailEnabled 30 | 31 | proxyAddresses 32 | mail 33 | 34 | IIF(( (IsPresent([proxyAddresses]) = True) && (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0)) || (IsPresent([mail]) = True && (InStr([mail], "@") > 0)), True, False) 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | mail 42 | mail 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{89549507-440b-4038-8e8d-e896c290fe91}.xml: -------------------------------------------------------------------------------- 1 | 2 | {89549507-440b-4038-8e8d-e896c290fe91} 3 | {89549507-440b-4038-8e8d-e896c290fe91} 4 | 1 5 | In from AD - Contact Join 6 | Contact object with default Active Directory schema. 7 | Microsoft.InfromADContactJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | contact 12 | person 13 | Provision 14 | 115 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | isCriticalSystemObject 24 | 25 | IIF(IsPresent([isCriticalSystemObject]) || ( (InStr([displayName], "(MSOL)") > 0) && (CBool([msExchHideFromAddressLists]))) || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 26 | Update 27 | 28 | 29 | mailEnabled 30 | 31 | proxyAddresses 32 | mail 33 | 34 | IIF(( (IsPresent([proxyAddresses]) = True) && (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0)) || (IsPresent([mail]) = True && (InStr([mail], "@") > 0)), True, False) 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | mail 42 | mail 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenterCmd/Program.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------------------------------------------------------------------ 2 | // 3 | // Copyright (c) Microsoft. All Rights Reserved. 4 | // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. 5 | // 6 | // 7 | // Azure AD Connect Sync Configuration Documenter Main Program 8 | // 9 | //------------------------------------------------------------------------------------------------------------------------------------------ 10 | 11 | namespace AzureADConnectConfigDocumenter 12 | { 13 | using System; 14 | using System.Globalization; 15 | using System.Reflection; 16 | 17 | /// 18 | /// Azure AD Connect Sync Configuration Documenter Entry Point 19 | /// 20 | public class Program 21 | { 22 | /// 23 | /// Azure AD Connect Sync Configuration Documenter Entry Point. 24 | /// 25 | /// The command-line arguments. 26 | public static void Main(string[] args) 27 | { 28 | try 29 | { 30 | if (args == null || args.Length < 2) 31 | { 32 | var errorMsg = string.Format(CultureInfo.CurrentUICulture, "Missing commnad-line arguments. Usage: {0} {1} {2}.", new object[] { Assembly.GetExecutingAssembly().GetName().Name, "{Pilot / Target Config Folder}", "{Production / Reference / Baseline Config Folder}" }); 33 | Console.Error.WriteLine(errorMsg); 34 | 35 | errorMsg = string.Format(CultureInfo.CurrentUICulture, "Example: \t{0} {1} {2} {3}", new object[] { Environment.NewLine, Assembly.GetExecutingAssembly().GetName().Name, "\"Contoso\\Pilot\"", "\"Contoso\\Production\"" }); 36 | Console.Error.WriteLine(errorMsg); 37 | 38 | Console.ReadKey(); 39 | return; 40 | } 41 | 42 | var documenter = new AzureADConnectSyncDocumenter(args[0], args[1]); 43 | documenter.GenerateReport(); 44 | } 45 | catch (Exception e) 46 | { 47 | Console.Error.WriteLine(e.ToString()); 48 | Console.WriteLine("Press any key to exit..."); 49 | Console.ReadKey(); 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{921def5f-8727-4c3c-abc9-49b90a6dd616}.xml: -------------------------------------------------------------------------------- 1 | 2 | {921def5f-8727-4c3c-abc9-49b90a6dd616} 3 | {921def5f-8727-4c3c-abc9-49b90a6dd616} 4 | 1 5 | Out to AAD - Group DynamicsCRM 6 | 7 | Microsoft.OuttoAADGroupDynamicsCRM.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 142 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | description 22 | 23 | description 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | managedBy 36 | 37 | managedBy 38 | 39 | Update 40 | 41 | 42 | member 43 | 44 | member 45 | 46 | Update 47 | 48 | 49 | 50 | 51 | 52 | sourceAnchor 53 | sourceAnchor 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceAnchor 61 | ISNOTNULL 62 | 63 | 64 | 65 | cloudMastered 66 | NOTEQUAL 67 | True 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{921def5f-8727-4c3c-abc9-49b90a6dd616}.xml: -------------------------------------------------------------------------------- 1 | 2 | {921def5f-8727-4c3c-abc9-49b90a6dd616} 3 | {921def5f-8727-4c3c-abc9-49b90a6dd616} 4 | 1 5 | Out to AAD - Group DynamicsCRM 6 | 7 | Microsoft.OuttoAADGroupDynamicsCRM.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 142 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | description 22 | 23 | description 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | managedBy 36 | 37 | managedBy 38 | 39 | Update 40 | 41 | 42 | member 43 | 44 | member 45 | 46 | Update 47 | 48 | 49 | 50 | 51 | 52 | sourceAnchor 53 | sourceAnchor 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceAnchor 61 | ISNOTNULL 62 | 63 | 64 | 65 | cloudMastered 66 | NOTEQUAL 67 | True 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{27f44ceb-9ae6-4327-b5d9-f25cfb874211}.xml: -------------------------------------------------------------------------------- 1 | 2 | {27f44ceb-9ae6-4327-b5d9-f25cfb874211} 3 | {27f44ceb-9ae6-4327-b5d9-f25cfb874211} 4 | 1 5 | Out to AAD - User AzureRMS 6 | Minimal set of attributes required for Azure RMS. 7 | Microsoft.OuttoAADUserAzureRMS.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 130 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | mail 29 | 30 | mail 31 | 32 | Update 33 | 34 | 35 | onPremisesUserPrincipalName 36 | 37 | onPremisesUserPrincipalName 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | userPrincipalName 50 | 51 | userPrincipalName 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | User 63 | 64 | 65 | cloudMastered 66 | NOTEQUAL 67 | True 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{27f44ceb-9ae6-4327-b5d9-f25cfb874211}.xml: -------------------------------------------------------------------------------- 1 | 2 | {27f44ceb-9ae6-4327-b5d9-f25cfb874211} 3 | {27f44ceb-9ae6-4327-b5d9-f25cfb874211} 4 | 1 5 | Out to AAD - User AzureRMS 6 | Minimal set of attributes required for Azure RMS. 7 | Microsoft.OuttoAADUserAzureRMS.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 130 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | mail 29 | 30 | mail 31 | 32 | Update 33 | 34 | 35 | onPremisesUserPrincipalName 36 | 37 | onPremisesUserPrincipalName 38 | 39 | Update 40 | 41 | 42 | proxyAddresses 43 | 44 | proxyAddresses 45 | 46 | Update 47 | 48 | 49 | userPrincipalName 50 | 51 | userPrincipalName 52 | 53 | Update 54 | 55 | 56 | 57 | 58 | 59 | 60 | sourceObjectType 61 | EQUAL 62 | User 63 | 64 | 65 | cloudMastered 66 | NOTEQUAL 67 | True 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{951424f5-f470-4ed6-b567-e7e67afaeb72}.xml: -------------------------------------------------------------------------------- 1 | 2 | {951424f5-f470-4ed6-b567-e7e67afaeb72} 3 | {951424f5-f470-4ed6-b567-e7e67afaeb72} 4 | 1 5 | In from AAD - User Join 6 | 7 | Microsoft.InfromAADUserJoin.004 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | user 12 | person 13 | Join 14 | 119 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | cloudAnchor 29 | 30 | cloudAnchor 31 | 32 | Update 33 | 34 | 35 | cloudSourceAnchor 36 | 37 | sourceAnchor 38 | 39 | ImportedValue("sourceAnchor") 40 | Update 41 | 42 | 43 | countryCode 44 | 45 | countryCode 46 | 47 | Update 48 | 49 | 50 | usageLocation 51 | 52 | usageLocation 53 | 54 | Update 55 | 56 | 57 | 58 | 59 | 60 | True 61 | sourceAnchor 62 | sourceAnchor 63 | 64 | 65 | 66 | 67 | 68 | 69 | cloudMastered 70 | EQUAL 71 | False 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{951424f5-f470-4ed6-b567-e7e67afaeb72}.xml: -------------------------------------------------------------------------------- 1 | 2 | {951424f5-f470-4ed6-b567-e7e67afaeb72} 3 | {951424f5-f470-4ed6-b567-e7e67afaeb72} 4 | 1 5 | In from AAD - User Join 6 | 7 | Microsoft.InfromAADUserJoin.004 8 | Inbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | user 12 | person 13 | Join 14 | 119 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | cloudAnchor 29 | 30 | cloudAnchor 31 | 32 | Update 33 | 34 | 35 | cloudSourceAnchor 36 | 37 | sourceAnchor 38 | 39 | ImportedValue("sourceAnchor") 40 | Update 41 | 42 | 43 | countryCode 44 | 45 | countryCode 46 | 47 | Update 48 | 49 | 50 | usageLocation 51 | 52 | usageLocation 53 | 54 | Update 55 | 56 | 57 | 58 | 59 | 60 | True 61 | sourceAnchor 62 | sourceAnchor 63 | 64 | 65 | 66 | 67 | 68 | 69 | cloudMastered 70 | EQUAL 71 | False 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{1ca06e20-b16a-4488-8e5f-a1b5f0761cae}.xml: -------------------------------------------------------------------------------- 1 | 2 | {1ca06e20-b16a-4488-8e5f-a1b5f0761cae} 3 | {1ca06e20-b16a-4488-8e5f-a1b5f0761cae} 4 | 1 5 | In from AD - InetOrgPerson Lync 6 | Lync attribute for a InetOrgPerson object. 7 | Microsoft.InfromADInetOrgPersonLync.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | inetOrgPerson 12 | person 13 | Join 14 | 111 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-ApplicationOptions 22 | 23 | msRTCSIP-ApplicationOptions 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-DeploymentLocator 29 | 30 | msRTCSIP-DeploymentLocator 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-Line 36 | 37 | msRTCSIP-Line 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-OwnerUrn 43 | 44 | msRTCSIP-OwnerUrn 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-PrimaryUserAddress 50 | 51 | msRTCSIP-PrimaryUserAddress 52 | 53 | Update 54 | 55 | 56 | msRTCSIP-UserEnabled 57 | 58 | msRTCSIP-UserEnabled 59 | 60 | Update 61 | 62 | 63 | msRTCSIP-OptionFlags 64 | 65 | msRTCSIP-OptionFlags 66 | 67 | Update 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureADConnectSyncDocumenterCmd", "AzureADConnectSyncDocumenterCmd\AzureADConnectSyncDocumenterCmd.csproj", "{C6098A15-5BAC-4FD1-BD5A-9E44315D6C09}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BE2A6C7E-C38D-4210-8966-66CF07CB5C03}" 9 | ProjectSection(SolutionItems) = preProject 10 | AzureADConnectSyncDocumenter-Contoso.cmd = AzureADConnectSyncDocumenter-Contoso.cmd 11 | CodeAnalysisDictionary.xml = CodeAnalysisDictionary.xml 12 | Documenter.snk = Documenter.snk 13 | Settings.StyleCop = Settings.StyleCop 14 | VersionInfo.cs = VersionInfo.cs 15 | EndProjectSection 16 | EndProject 17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureADConnectSyncDocumenter", "AzureADConnectSyncDocumenter\AzureADConnectSyncDocumenter.csproj", "{D05015A0-3968-4A57-B4C7-384EE3878AD8}" 18 | EndProject 19 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SrcDocs", "SrcDocs", "{921855D6-EF83-43F1-8354-24B31463CB1A}" 20 | ProjectSection(SolutionItems) = preProject 21 | ..\.gitattributes = ..\.gitattributes 22 | ..\.gitignore = ..\.gitignore 23 | ..\ChangeLog.md = ..\ChangeLog.md 24 | ..\LICENSE.txt = ..\LICENSE.txt 25 | ..\README.md = ..\README.md 26 | EndProjectSection 27 | EndProject 28 | Global 29 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 30 | Debug|Any CPU = Debug|Any CPU 31 | Release|Any CPU = Release|Any CPU 32 | EndGlobalSection 33 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 34 | {C6098A15-5BAC-4FD1-BD5A-9E44315D6C09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 35 | {C6098A15-5BAC-4FD1-BD5A-9E44315D6C09}.Debug|Any CPU.Build.0 = Debug|Any CPU 36 | {C6098A15-5BAC-4FD1-BD5A-9E44315D6C09}.Release|Any CPU.ActiveCfg = Release|Any CPU 37 | {C6098A15-5BAC-4FD1-BD5A-9E44315D6C09}.Release|Any CPU.Build.0 = Release|Any CPU 38 | {D05015A0-3968-4A57-B4C7-384EE3878AD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 39 | {D05015A0-3968-4A57-B4C7-384EE3878AD8}.Debug|Any CPU.Build.0 = Debug|Any CPU 40 | {D05015A0-3968-4A57-B4C7-384EE3878AD8}.Release|Any CPU.ActiveCfg = Release|Any CPU 41 | {D05015A0-3968-4A57-B4C7-384EE3878AD8}.Release|Any CPU.Build.0 = Release|Any CPU 42 | EndGlobalSection 43 | GlobalSection(SolutionProperties) = preSolution 44 | HideSolutionNode = FALSE 45 | EndGlobalSection 46 | GlobalSection(NestedProjects) = preSolution 47 | {921855D6-EF83-43F1-8354-24B31463CB1A} = {BE2A6C7E-C38D-4210-8966-66CF07CB5C03} 48 | EndGlobalSection 49 | EndGlobal 50 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{1ca06e20-b16a-4488-8e5f-a1b5f0761cae}.xml: -------------------------------------------------------------------------------- 1 | 2 | {1ca06e20-b16a-4488-8e5f-a1b5f0761cae} 3 | {1ca06e20-b16a-4488-8e5f-a1b5f0761cae} 4 | 1 5 | In from AD - InetOrgPerson Lync 6 | Lync attribute for a InetOrgPerson object. 7 | Microsoft.InfromADInetOrgPersonLync.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | inetOrgPerson 12 | person 13 | Join 14 | 111 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-ApplicationOptions 22 | 23 | msRTCSIP-ApplicationOptions 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-DeploymentLocator 29 | 30 | msRTCSIP-DeploymentLocator 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-Line 36 | 37 | msRTCSIP-Line 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-OwnerUrn 43 | 44 | msRTCSIP-OwnerUrn 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-PrimaryUserAddress 50 | 51 | msRTCSIP-PrimaryUserAddress 52 | 53 | Update 54 | 55 | 56 | msRTCSIP-UserEnabled 57 | 58 | msRTCSIP-UserEnabled 59 | 60 | Update 61 | 62 | 63 | msRTCSIP-OptionFlags 64 | 65 | msRTCSIP-OptionFlags 66 | 67 | Update 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{0ba9f56b-0501-4c4f-81c3-f437b0240c21}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0ba9f56b-0501-4c4f-81c3-f437b0240c21} 3 | {0ba9f56b-0501-4c4f-81c3-f437b0240c21} 4 | 1 5 | Out to AAD - Contact Join 6 | 7 | Microsoft.OuttoAADContactJoin.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Provision 14 | 131 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | sourceAnchor 22 | 23 | cloudSourceAnchor 24 | sourceAnchor 25 | 26 | IIF(IsPresent([cloudSourceAnchor]), IIF(Word([cloudAnchor],1,"_")=[sourceObjectType],IIF([cloudSourceAnchor] = [sourceAnchor],[sourceAnchor],Error("SourceAnchor attribute has changed.")),[sourceAnchor]),[sourceAnchor]) 27 | Update 28 | 29 | 30 | dn 31 | 32 | sourceAnchor 33 | 34 | "CN={" & ConvertToUTF8Hex([sourceAnchor]) & "}" 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | sourceAnchor 42 | sourceAnchor 43 | 44 | 45 | 46 | 47 | 48 | 49 | sourceObjectType 50 | EQUAL 51 | Contact 52 | 53 | 54 | cloudFiltered 55 | NOTEQUAL 56 | True 57 | 58 | 59 | mailEnabled 60 | EQUAL 61 | True 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{0ba9f56b-0501-4c4f-81c3-f437b0240c21}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0ba9f56b-0501-4c4f-81c3-f437b0240c21} 3 | {0ba9f56b-0501-4c4f-81c3-f437b0240c21} 4 | 1 5 | Out to AAD - Contact Join 6 | 7 | Microsoft.OuttoAADContactJoin.003 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | contact 13 | Provision 14 | 131 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | sourceAnchor 22 | 23 | cloudSourceAnchor 24 | sourceAnchor 25 | 26 | IIF(IsPresent([cloudSourceAnchor]), IIF(Word([cloudAnchor],1,"_")=[sourceObjectType],IIF([cloudSourceAnchor] = [sourceAnchor],[sourceAnchor],Error("SourceAnchor attribute has changed.")),[sourceAnchor]),[sourceAnchor]) 27 | Update 28 | 29 | 30 | dn 31 | 32 | sourceAnchor 33 | 34 | "CN={" & ConvertToUTF8Hex([sourceAnchor]) & "}" 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | sourceAnchor 42 | sourceAnchor 43 | 44 | 45 | 46 | 47 | 48 | 49 | sourceObjectType 50 | EQUAL 51 | Contact 52 | 53 | 54 | cloudFiltered 55 | NOTEQUAL 56 | True 57 | 58 | 59 | mailEnabled 60 | EQUAL 61 | True 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{794ef0a3-0556-410e-96ff-b2ec8495ef39}.xml: -------------------------------------------------------------------------------- 1 | 2 | {794ef0a3-0556-410e-96ff-b2ec8495ef39} 3 | {794ef0a3-0556-410e-96ff-b2ec8495ef39} 4 | 1 5 | In from AD - Group Join 6 | 7 | Microsoft.InfromADGroupJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Provision 14 | 112 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | isCriticalSystemObject 24 | 25 | IIF(IsPresent([isCriticalSystemObject]) || [sAMAccountName] = "MSOL_AD_Sync_RichCoexistence" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H40000000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 26 | Update 27 | 28 | 29 | mailEnabled 30 | 31 | proxyAddresses 32 | mail 33 | 34 | IIF(( (IsPresent([proxyAddresses]) = True) && (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0)) || (IsPresent([mail]) = True && (InStr([mail], "@") > 0)), True, False) 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | objectGUID 42 | sourceAnchorBinary 43 | 44 | 45 | 46 | 47 | 48 | 49 | isCriticalSystemObject 50 | NOTEQUAL 51 | True 52 | 53 | 54 | adminDescription 55 | NOTSTARTSWITH 56 | Group_ 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{794ef0a3-0556-410e-96ff-b2ec8495ef39}.xml: -------------------------------------------------------------------------------- 1 | 2 | {794ef0a3-0556-410e-96ff-b2ec8495ef39} 3 | {794ef0a3-0556-410e-96ff-b2ec8495ef39} 4 | 1 5 | In from AD - Group Join 6 | 7 | Microsoft.InfromADGroupJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | group 12 | group 13 | Provision 14 | 112 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | isCriticalSystemObject 24 | 25 | IIF(IsPresent([isCriticalSystemObject]) || [sAMAccountName] = "MSOL_AD_Sync_RichCoexistence" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H40000000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 26 | Update 27 | 28 | 29 | mailEnabled 30 | 31 | proxyAddresses 32 | mail 33 | 34 | IIF(( (IsPresent([proxyAddresses]) = True) && (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0)) || (IsPresent([mail]) = True && (InStr([mail], "@") > 0)), True, False) 35 | Update 36 | 37 | 38 | 39 | 40 | 41 | objectGUID 42 | sourceAnchorBinary 43 | 44 | 45 | 46 | 47 | 48 | 49 | isCriticalSystemObject 50 | NOTEQUAL 51 | True 52 | 53 | 54 | adminDescription 55 | NOTSTARTSWITH 56 | Group_ 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{10fd1aee-ad24-4de2-8c9f-31727286d8f2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {10fd1aee-ad24-4de2-8c9f-31727286d8f2} 3 | {10fd1aee-ad24-4de2-8c9f-31727286d8f2} 4 | 1 5 | In from AD - User Lync 6 | Lync attribute for a User object. 7 | Microsoft.InfromADUserLync.004 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | user 12 | person 13 | Join 14 | 110 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-ApplicationOptions 22 | 23 | msRTCSIP-ApplicationOptions 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-DeploymentLocator 29 | 30 | msRTCSIP-DeploymentLocator 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-Line 36 | 37 | msRTCSIP-Line 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-OriginatorSid 43 | 44 | msRTCSIP-OriginatorSid 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-OwnerUrn 50 | 51 | msRTCSIP-OwnerUrn 52 | 53 | Update 54 | 55 | 56 | msRTCSIP-PrimaryUserAddress 57 | 58 | msRTCSIP-PrimaryUserAddress 59 | 60 | Update 61 | 62 | 63 | msRTCSIP-UserEnabled 64 | 65 | msRTCSIP-UserEnabled 66 | 67 | Update 68 | 69 | 70 | msRTCSIP-OptionFlags 71 | 72 | msRTCSIP-OptionFlags 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{10fd1aee-ad24-4de2-8c9f-31727286d8f2}.xml: -------------------------------------------------------------------------------- 1 | 2 | {10fd1aee-ad24-4de2-8c9f-31727286d8f2} 3 | {10fd1aee-ad24-4de2-8c9f-31727286d8f2} 4 | 1 5 | In from AD - User Lync 6 | Lync attribute for a User object. 7 | Microsoft.InfromADUserLync.004 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | user 12 | person 13 | Join 14 | 110 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msRTCSIP-ApplicationOptions 22 | 23 | msRTCSIP-ApplicationOptions 24 | 25 | Update 26 | 27 | 28 | msRTCSIP-DeploymentLocator 29 | 30 | msRTCSIP-DeploymentLocator 31 | 32 | Update 33 | 34 | 35 | msRTCSIP-Line 36 | 37 | msRTCSIP-Line 38 | 39 | Update 40 | 41 | 42 | msRTCSIP-OriginatorSid 43 | 44 | msRTCSIP-OriginatorSid 45 | 46 | Update 47 | 48 | 49 | msRTCSIP-OwnerUrn 50 | 51 | msRTCSIP-OwnerUrn 52 | 53 | Update 54 | 55 | 56 | msRTCSIP-PrimaryUserAddress 57 | 58 | msRTCSIP-PrimaryUserAddress 59 | 60 | Update 61 | 62 | 63 | msRTCSIP-UserEnabled 64 | 65 | msRTCSIP-UserEnabled 66 | 67 | Update 68 | 69 | 70 | msRTCSIP-OptionFlags 71 | 72 | msRTCSIP-OptionFlags 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{a23fa925-816d-4c30-af2c-4fb42c42a83f}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a23fa925-816d-4c30-af2c-4fb42c42a83f} 3 | {a23fa925-816d-4c30-af2c-4fb42c42a83f} 4 | 1 5 | Out to AAD - Group Intune 6 | 7 | Microsoft.OuttoAADGroupIntune.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 143 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | description 29 | 30 | description 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | mail 43 | 44 | mail 45 | 46 | Update 47 | 48 | 49 | member 50 | 51 | member 52 | 53 | Update 54 | 55 | 56 | proxyAddresses 57 | 58 | proxyAddresses 59 | 60 | Update 61 | 62 | 63 | 64 | 65 | 66 | sourceAnchor 67 | sourceAnchor 68 | 69 | 70 | 71 | 72 | 73 | 74 | sourceAnchor 75 | ISNOTNULL 76 | 77 | 78 | 79 | cloudMastered 80 | NOTEQUAL 81 | True 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{a72c40f1-8c05-43bc-91f2-ecbfeb57c05a}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a72c40f1-8c05-43bc-91f2-ecbfeb57c05a} 3 | {a72c40f1-8c05-43bc-91f2-ecbfeb57c05a} 4 | 1 5 | Out to AAD - Group Identity 6 | 7 | Microsoft.OuttoAADGroupIdentity.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 140 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | mail 36 | 37 | mail 38 | 39 | Update 40 | 41 | 42 | managedBy 43 | 44 | managedBy 45 | 46 | Update 47 | 48 | 49 | member 50 | 51 | member 52 | 53 | Update 54 | 55 | 56 | proxyAddresses 57 | 58 | proxyAddresses 59 | 60 | Update 61 | 62 | 63 | 64 | 65 | 66 | sourceAnchor 67 | sourceAnchor 68 | 69 | 70 | 71 | 72 | 73 | 74 | sourceAnchor 75 | ISNOTNULL 76 | 77 | 78 | 79 | cloudMastered 80 | NOTEQUAL 81 | True 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{a23fa925-816d-4c30-af2c-4fb42c42a83f}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a23fa925-816d-4c30-af2c-4fb42c42a83f} 3 | {a23fa925-816d-4c30-af2c-4fb42c42a83f} 4 | 1 5 | Out to AAD - Group Intune 6 | 7 | Microsoft.OuttoAADGroupIntune.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 143 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | description 29 | 30 | description 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | mail 43 | 44 | mail 45 | 46 | Update 47 | 48 | 49 | member 50 | 51 | member 52 | 53 | Update 54 | 55 | 56 | proxyAddresses 57 | 58 | proxyAddresses 59 | 60 | Update 61 | 62 | 63 | 64 | 65 | 66 | sourceAnchor 67 | sourceAnchor 68 | 69 | 70 | 71 | 72 | 73 | 74 | sourceAnchor 75 | ISNOTNULL 76 | 77 | 78 | 79 | cloudMastered 80 | NOTEQUAL 81 | True 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{a72c40f1-8c05-43bc-91f2-ecbfeb57c05a}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a72c40f1-8c05-43bc-91f2-ecbfeb57c05a} 3 | {a72c40f1-8c05-43bc-91f2-ecbfeb57c05a} 4 | 1 5 | Out to AAD - Group Identity 6 | 7 | Microsoft.OuttoAADGroupIdentity.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 140 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | displayName 29 | 30 | displayName 31 | 32 | Update 33 | 34 | 35 | mail 36 | 37 | mail 38 | 39 | Update 40 | 41 | 42 | managedBy 43 | 44 | managedBy 45 | 46 | Update 47 | 48 | 49 | member 50 | 51 | member 52 | 53 | Update 54 | 55 | 56 | proxyAddresses 57 | 58 | proxyAddresses 59 | 60 | Update 61 | 62 | 63 | 64 | 65 | 66 | sourceAnchor 67 | sourceAnchor 68 | 69 | 70 | 71 | 72 | 73 | 74 | sourceAnchor 75 | ISNOTNULL 76 | 77 | 78 | 79 | cloudMastered 80 | NOTEQUAL 81 | True 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{38f71936-9dc9-4316-b140-5f256db98c82}.xml: -------------------------------------------------------------------------------- 1 | 2 | {38f71936-9dc9-4316-b140-5f256db98c82} 3 | {38f71936-9dc9-4316-b140-5f256db98c82} 4 | 1 5 | Out to AAD - User Intune 6 | 7 | Microsoft.OuttoAADUserIntune.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 127 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | alias 29 | 30 | mailNickname 31 | 32 | Update 33 | 34 | 35 | description 36 | 37 | description 38 | 39 | Update 40 | 41 | 42 | displayName 43 | 44 | displayName 45 | 46 | Update 47 | 48 | 49 | mail 50 | 51 | mail 52 | 53 | Update 54 | 55 | 56 | onPremisesUserPrincipalName 57 | 58 | onPremisesUserPrincipalName 59 | 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | proxyAddresses 66 | 67 | Update 68 | 69 | 70 | userPrincipalName 71 | 72 | userPrincipalName 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | 80 | 81 | sourceObjectType 82 | EQUAL 83 | User 84 | 85 | 86 | cloudMastered 87 | NOTEQUAL 88 | True 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/documenter.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin-top: 10px; 3 | margin-left: 10px; 4 | margin-right: 10px; 5 | margin-bottom: 10px; 6 | font-family: Calibri,Tahoma; 7 | } 8 | 9 | table { 10 | font-family: Calibri,Tahoma; 11 | font-size: 10pt; 12 | padding: 0; 13 | border-collapse: collapse; 14 | width: 100%; 15 | white-space: pre-wrap; 16 | } 17 | 18 | table.outer-table { 19 | width: 600pt; 20 | } 21 | 22 | th { 23 | text-align: left; 24 | padding-left: 10px; 25 | padding-right: 10px; 26 | } 27 | 28 | th.column-th { 29 | font-weight: bold; 30 | font-size: 11pt; 31 | background: #9CC2E5; 32 | border: none; 33 | border-top: 2px solid #999999; 34 | border-bottom: 2px solid #999999; 35 | } 36 | 37 | th.column-th2 { 38 | font-weight: bold; 39 | background: #C6D9F1; 40 | border: none; 41 | border-bottom: 1px solid #999999; 42 | } 43 | 44 | th.column-th3 { 45 | font-weight: bold; 46 | background: #C6D9F1; 47 | border: none; 48 | border-bottom: 1px solid #999999; 49 | } 50 | 51 | tr.Unchanged { 52 | } 53 | 54 | tr.Added { 55 | color: green; 56 | } 57 | 58 | tr.Deleted { 59 | color: red; 60 | text-decoration: line-through; 61 | } 62 | 63 | tr.Modified { 64 | color: blue; 65 | } 66 | 67 | 68 | td { 69 | text-align: left; 70 | padding-left: 10px; 71 | padding-right: 10px; 72 | border-bottom: 1px solid #999999; 73 | } 74 | 75 | td.Unchanged { 76 | } 77 | 78 | td.Added { 79 | color: green; 80 | } 81 | 82 | td.Deleted { 83 | color: red; 84 | text-decoration: line-through; 85 | } 86 | 87 | td.Modified { 88 | color: blue; 89 | } 90 | 91 | 92 | span.Unchanged { 93 | } 94 | 95 | span.Added { 96 | color: green; 97 | } 98 | 99 | span.Modified { 100 | color: blue; 101 | } 102 | 103 | span.Deleted { 104 | color: red; 105 | text-decoration: line-through; 106 | } 107 | 108 | span.toc1 { 109 | margin-left: 0; 110 | font-size: 16pt; 111 | } 112 | 113 | span.toc2 { 114 | margin-left: 16pt; 115 | font-size: 14pt; 116 | } 117 | 118 | span.toc3 { 119 | margin-left: 32pt; 120 | font-size: 12pt; 121 | } 122 | 123 | span.toc4 { 124 | margin-left: 48pt; 125 | font-size: 10pt; 126 | } 127 | 128 | span.toc5 { 129 | margin-left: 64pt; 130 | font-size: 9pt; 131 | } 132 | 133 | a { 134 | text-decoration: none; 135 | font-weight: normal; 136 | } 137 | 138 | a.Added { 139 | color: green; 140 | } 141 | 142 | a.Modified { 143 | color: blue; 144 | } 145 | 146 | a.Deleted { 147 | color: red; 148 | text-decoration: line-through; 149 | } 150 | 151 | a.Unchanged { 152 | color: black; 153 | } 154 | 155 | a.TOC { 156 | color: #5B9BD5; 157 | font-weight: bold; 158 | } 159 | 160 | h1, h2, h3, h4, h5, h6 { 161 | color: #5B9BD5; 162 | } -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{38f71936-9dc9-4316-b140-5f256db98c82}.xml: -------------------------------------------------------------------------------- 1 | 2 | {38f71936-9dc9-4316-b140-5f256db98c82} 3 | {38f71936-9dc9-4316-b140-5f256db98c82} 4 | 1 5 | Out to AAD - User Intune 6 | 7 | Microsoft.OuttoAADUserIntune.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 127 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | alias 29 | 30 | mailNickname 31 | 32 | Update 33 | 34 | 35 | description 36 | 37 | description 38 | 39 | Update 40 | 41 | 42 | displayName 43 | 44 | displayName 45 | 46 | Update 47 | 48 | 49 | mail 50 | 51 | mail 52 | 53 | Update 54 | 55 | 56 | onPremisesUserPrincipalName 57 | 58 | onPremisesUserPrincipalName 59 | 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | proxyAddresses 66 | 67 | Update 68 | 69 | 70 | userPrincipalName 71 | 72 | userPrincipalName 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | 80 | 81 | sourceObjectType 82 | EQUAL 83 | User 84 | 85 | 86 | cloudMastered 87 | NOTEQUAL 88 | True 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{e7165896-0027-41d0-bd87-509b984a281e}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e7165896-0027-41d0-bd87-509b984a281e} 3 | {e7165896-0027-41d0-bd87-509b984a281e} 4 | 1 5 | Out to AD - User Exchange Hybrid 6 | 7 | Microsoft.OuttoADUserExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | user 13 | Join 14 | 158 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msExchBlockedSendersHash 22 | 23 | cloudSOAExchMailbox 24 | cloudMSExchBlockedSendersHash 25 | 26 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchBlockedSendersHash],IgnoreThisFlow) 27 | Update 28 | 29 | 30 | msExchSafeRecipientsHash 31 | 32 | cloudSOAExchMailbox 33 | cloudMSExchSafeRecipientsHash 34 | 35 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeRecipientsHash],IgnoreThisFlow) 36 | Update 37 | 38 | 39 | msExchSafeSendersHash 40 | 41 | cloudSOAExchMailbox 42 | cloudMSExchSafeSendersHash 43 | 44 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow) 45 | Update 46 | 47 | 48 | msExchUCVoiceMailSettings 49 | 50 | cloudMSExchUCVoiceMailSettings 51 | 52 | Update 53 | 54 | 55 | msExchUserHoldPolicies 56 | 57 | cloudMSExchUserHoldPolicies 58 | 59 | IIF(IsNullOrEmpty([cloudMSExchUserHoldPolicies]),IgnoreThisFlow,[cloudMSExchUserHoldPolicies]) 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | cloudLegacyExchangeDN 66 | 67 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 68 | MergeCaseInsensitive 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{e7165896-0027-41d0-bd87-509b984a281e}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e7165896-0027-41d0-bd87-509b984a281e} 3 | {e7165896-0027-41d0-bd87-509b984a281e} 4 | 1 5 | Out to AD - User Exchange Hybrid 6 | 7 | Microsoft.OuttoADUserExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | user 13 | Join 14 | 158 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msExchBlockedSendersHash 22 | 23 | cloudSOAExchMailbox 24 | cloudMSExchBlockedSendersHash 25 | 26 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchBlockedSendersHash],IgnoreThisFlow) 27 | Update 28 | 29 | 30 | msExchSafeRecipientsHash 31 | 32 | cloudSOAExchMailbox 33 | cloudMSExchSafeRecipientsHash 34 | 35 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeRecipientsHash],IgnoreThisFlow) 36 | Update 37 | 38 | 39 | msExchSafeSendersHash 40 | 41 | cloudSOAExchMailbox 42 | cloudMSExchSafeSendersHash 43 | 44 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow) 45 | Update 46 | 47 | 48 | msExchUCVoiceMailSettings 49 | 50 | cloudMSExchUCVoiceMailSettings 51 | 52 | Update 53 | 54 | 55 | msExchUserHoldPolicies 56 | 57 | cloudMSExchUserHoldPolicies 58 | 59 | IIF(IsNullOrEmpty([cloudMSExchUserHoldPolicies]),IgnoreThisFlow,[cloudMSExchUserHoldPolicies]) 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | cloudLegacyExchangeDN 66 | 67 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 68 | MergeCaseInsensitive 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{9347e1d3-15f7-43b7-a35a-c9b04020f8dd}.xml: -------------------------------------------------------------------------------- 1 | 2 | {9347e1d3-15f7-43b7-a35a-c9b04020f8dd} 3 | {9347e1d3-15f7-43b7-a35a-c9b04020f8dd} 4 | 1 5 | In from AD - InetOrgPerson Join 6 | 7 | Microsoft.InfromADInetOrgPersonJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | inetOrgPerson 12 | person 13 | Provision 14 | 101 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | mailNickname 24 | sAMAccountName 25 | 26 | IIF(IsPresent([isCriticalSystemObject]) || IsPresent([sAMAccountName]) = False || [sAMAccountName] = "SUPPORT_388945a0" || Left([mailNickname], 14) = "SystemMailbox{" || Left([sAMAccountName], 4) = "AAD_" || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}") > 0)) || Left([sAMAccountName], 5) = "MSOL_" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 27 | Update 28 | 29 | 30 | 31 | 32 | 33 | objectSid 34 | objectSid 35 | 36 | 37 | 38 | 39 | msExchMasterAccountSid 40 | objectSid 41 | 42 | 43 | 44 | 45 | objectSid 46 | msExchMasterAccountSid 47 | 48 | 49 | 50 | 51 | msRTCSIP-OriginatorSid 52 | objectSid 53 | 54 | 55 | 56 | 57 | objectSid 58 | msRTCSIP-OriginatorSid 59 | 60 | 61 | 62 | 63 | 64 | 65 | isCriticalSystemObject 66 | NOTEQUAL 67 | TRUE 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{9347e1d3-15f7-43b7-a35a-c9b04020f8dd}.xml: -------------------------------------------------------------------------------- 1 | 2 | {9347e1d3-15f7-43b7-a35a-c9b04020f8dd} 3 | {9347e1d3-15f7-43b7-a35a-c9b04020f8dd} 4 | 1 5 | In from AD - InetOrgPerson Join 6 | 7 | Microsoft.InfromADInetOrgPersonJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | inetOrgPerson 12 | person 13 | Provision 14 | 101 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | mailNickname 24 | sAMAccountName 25 | 26 | IIF(IsPresent([isCriticalSystemObject]) || IsPresent([sAMAccountName]) = False || [sAMAccountName] = "SUPPORT_388945a0" || Left([mailNickname], 14) = "SystemMailbox{" || Left([sAMAccountName], 4) = "AAD_" || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}") > 0)) || Left([sAMAccountName], 5) = "MSOL_" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 27 | Update 28 | 29 | 30 | 31 | 32 | 33 | objectSid 34 | objectSid 35 | 36 | 37 | 38 | 39 | msExchMasterAccountSid 40 | objectSid 41 | 42 | 43 | 44 | 45 | objectSid 46 | msExchMasterAccountSid 47 | 48 | 49 | 50 | 51 | msRTCSIP-OriginatorSid 52 | objectSid 53 | 54 | 55 | 56 | 57 | objectSid 58 | msRTCSIP-OriginatorSid 59 | 60 | 61 | 62 | 63 | 64 | 65 | isCriticalSystemObject 66 | NOTEQUAL 67 | TRUE 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{e29790d1-ccb0-4829-ad45-b96bc68a184c}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e29790d1-ccb0-4829-ad45-b96bc68a184c} 3 | {e29790d1-ccb0-4829-ad45-b96bc68a184c} 4 | 1 5 | Out to AAD - User Identity 6 | 7 | Microsoft.OuttoAADUserIdentity.005 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 124 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | alias 29 | 30 | mailNickname 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | givenName 43 | 44 | givenName 45 | 46 | Update 47 | 48 | 49 | mail 50 | 51 | mail 52 | 53 | Update 54 | 55 | 56 | onPremisesUserPrincipalName 57 | 58 | onPremisesUserPrincipalName 59 | 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | proxyAddresses 66 | 67 | Update 68 | 69 | 70 | surname 71 | 72 | sn 73 | 74 | Update 75 | 76 | 77 | userPrincipalName 78 | 79 | userPrincipalName 80 | 81 | Update 82 | 83 | 84 | 85 | 86 | 87 | 88 | sourceObjectType 89 | EQUAL 90 | User 91 | 92 | 93 | cloudMastered 94 | NOTEQUAL 95 | True 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{e29790d1-ccb0-4829-ad45-b96bc68a184c}.xml: -------------------------------------------------------------------------------- 1 | 2 | {e29790d1-ccb0-4829-ad45-b96bc68a184c} 3 | {e29790d1-ccb0-4829-ad45-b96bc68a184c} 4 | 1 5 | Out to AAD - User Identity 6 | 7 | Microsoft.OuttoAADUserIdentity.005 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | person 12 | user 13 | Join 14 | 124 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | accountEnabled 22 | 23 | accountEnabled 24 | 25 | Update 26 | 27 | 28 | alias 29 | 30 | mailNickname 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | givenName 43 | 44 | givenName 45 | 46 | Update 47 | 48 | 49 | mail 50 | 51 | mail 52 | 53 | Update 54 | 55 | 56 | onPremisesUserPrincipalName 57 | 58 | onPremisesUserPrincipalName 59 | 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | proxyAddresses 66 | 67 | Update 68 | 69 | 70 | surname 71 | 72 | sn 73 | 74 | Update 75 | 76 | 77 | userPrincipalName 78 | 79 | userPrincipalName 80 | 81 | Update 82 | 83 | 84 | 85 | 86 | 87 | 88 | sourceObjectType 89 | EQUAL 90 | User 91 | 92 | 93 | cloudMastered 94 | NOTEQUAL 95 | True 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{96674fde-b656-4f80-b3fe-cf6035397da9}.xml: -------------------------------------------------------------------------------- 1 | 2 | {96674fde-b656-4f80-b3fe-cf6035397da9} 3 | {96674fde-b656-4f80-b3fe-cf6035397da9} 4 | 1 5 | Out to AAD - Group LyncOnline 6 | 7 | Microsoft.OuttoAADGroupLyncOnline.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 144 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | description 29 | 30 | description 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | mail 43 | 44 | mail 45 | 46 | Update 47 | 48 | 49 | managedBy 50 | 51 | managedBy 52 | 53 | Update 54 | 55 | 56 | member 57 | 58 | member 59 | 60 | Update 61 | 62 | 63 | msExchHideFromAddressLists 64 | 65 | msExchHideFromAddressLists 66 | 67 | Update 68 | 69 | 70 | proxyAddresses 71 | 72 | proxyAddresses 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | 80 | sourceAnchor 81 | sourceAnchor 82 | 83 | 84 | 85 | 86 | 87 | 88 | sourceAnchor 89 | ISNOTNULL 90 | 91 | 92 | 93 | cloudMastered 94 | NOTEQUAL 95 | True 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{96674fde-b656-4f80-b3fe-cf6035397da9}.xml: -------------------------------------------------------------------------------- 1 | 2 | {96674fde-b656-4f80-b3fe-cf6035397da9} 3 | {96674fde-b656-4f80-b3fe-cf6035397da9} 4 | 1 5 | Out to AAD - Group LyncOnline 6 | 7 | Microsoft.OuttoAADGroupLyncOnline.004 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | group 12 | group 13 | Join 14 | 144 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | alias 22 | 23 | mailNickname 24 | 25 | Update 26 | 27 | 28 | description 29 | 30 | description 31 | 32 | Update 33 | 34 | 35 | displayName 36 | 37 | displayName 38 | 39 | Update 40 | 41 | 42 | mail 43 | 44 | mail 45 | 46 | Update 47 | 48 | 49 | managedBy 50 | 51 | managedBy 52 | 53 | Update 54 | 55 | 56 | member 57 | 58 | member 59 | 60 | Update 61 | 62 | 63 | msExchHideFromAddressLists 64 | 65 | msExchHideFromAddressLists 66 | 67 | Update 68 | 69 | 70 | proxyAddresses 71 | 72 | proxyAddresses 73 | 74 | Update 75 | 76 | 77 | 78 | 79 | 80 | sourceAnchor 81 | sourceAnchor 82 | 83 | 84 | 85 | 86 | 87 | 88 | sourceAnchor 89 | ISNOTNULL 90 | 91 | 92 | 93 | cloudMastered 94 | NOTEQUAL 95 | True 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{0b088913-b613-4d9d-9563-9988b7719ed6}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0b088913-b613-4d9d-9563-9988b7719ed6} 3 | {0b088913-b613-4d9d-9563-9988b7719ed6} 4 | 1 5 | In from AD - User Join 6 | 7 | Microsoft.InfromADUserJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | user 12 | person 13 | Provision 14 | 100 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | mailNickname 24 | sAMAccountName 25 | 26 | IIF(IsPresent([isCriticalSystemObject]) || IsPresent([sAMAccountName]) = False || [sAMAccountName] = "SUPPORT_388945a0" || Left([mailNickname], 14) = "SystemMailbox{" || Left([sAMAccountName], 4) = "AAD_" || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}") > 0)) || Left([sAMAccountName], 5) = "MSOL_" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 27 | Update 28 | 29 | 30 | 31 | 32 | 33 | objectSid 34 | objectSid 35 | 36 | 37 | 38 | 39 | msExchMasterAccountSid 40 | objectSid 41 | 42 | 43 | 44 | 45 | objectSid 46 | msExchMasterAccountSid 47 | 48 | 49 | 50 | 51 | msRTCSIP-OriginatorSid 52 | objectSid 53 | 54 | 55 | 56 | 57 | objectSid 58 | msRTCSIP-OriginatorSid 59 | 60 | 61 | 62 | 63 | 64 | 65 | isCriticalSystemObject 66 | NOTEQUAL 67 | TRUE 68 | 69 | 70 | adminDescription 71 | NOTSTARTSWITH 72 | User_ 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{0b088913-b613-4d9d-9563-9988b7719ed6}.xml: -------------------------------------------------------------------------------- 1 | 2 | {0b088913-b613-4d9d-9563-9988b7719ed6} 3 | {0b088913-b613-4d9d-9563-9988b7719ed6} 4 | 1 5 | In from AD - User Join 6 | 7 | Microsoft.InfromADUserJoin.003 8 | Inbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | user 12 | person 13 | Provision 14 | 100 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | cloudFiltered 22 | 23 | mailNickname 24 | sAMAccountName 25 | 26 | IIF(IsPresent([isCriticalSystemObject]) || IsPresent([sAMAccountName]) = False || [sAMAccountName] = "SUPPORT_388945a0" || Left([mailNickname], 14) = "SystemMailbox{" || Left([sAMAccountName], 4) = "AAD_" || (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)) || (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}") > 0)) || Left([sAMAccountName], 5) = "MSOL_" || CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL)) || CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0), True, NULL) 27 | Update 28 | 29 | 30 | 31 | 32 | 33 | objectSid 34 | objectSid 35 | 36 | 37 | 38 | 39 | msExchMasterAccountSid 40 | objectSid 41 | 42 | 43 | 44 | 45 | objectSid 46 | msExchMasterAccountSid 47 | 48 | 49 | 50 | 51 | msRTCSIP-OriginatorSid 52 | objectSid 53 | 54 | 55 | 56 | 57 | objectSid 58 | msRTCSIP-OriginatorSid 59 | 60 | 61 | 62 | 63 | 64 | 65 | isCriticalSystemObject 66 | NOTEQUAL 67 | TRUE 68 | 69 | 70 | adminDescription 71 | NOTSTARTSWITH 72 | User_ 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{742af925-f60c-47e0-bfae-c1c5166286d7}.xml: -------------------------------------------------------------------------------- 1 | 2 | {742af925-f60c-47e0-bfae-c1c5166286d7} 3 | {742af925-f60c-47e0-bfae-c1c5166286d7} 4 | 1 5 | Out to AD - InetOrgPerson Exchange Hybrid 6 | 7 | Microsoft.OuttoADInetOrgPersonExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | inetOrgPerson 13 | Join 14 | 157 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msExchBlockedSendersHash 22 | 23 | cloudSOAExchMailbox 24 | cloudMSExchBlockedSendersHash 25 | 26 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchBlockedSendersHash],IgnoreThisFlow) 27 | Update 28 | 29 | 30 | msExchSafeRecipientsHash 31 | 32 | cloudSOAExchMailbox 33 | cloudMSExchSafeRecipientsHash 34 | 35 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeRecipientsHash],IgnoreThisFlow) 36 | Update 37 | 38 | 39 | msExchSafeSendersHash 40 | 41 | cloudSOAExchMailbox 42 | cloudMSExchSafeSendersHash 43 | 44 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow) 45 | Update 46 | 47 | 48 | msExchUCVoiceMailSettings 49 | 50 | cloudMSExchUCVoiceMailSettings 51 | 52 | Update 53 | 54 | 55 | msExchUserHoldPolicies 56 | 57 | cloudMSExchUserHoldPolicies 58 | 59 | IIF(IsNullOrEmpty([cloudMSExchUserHoldPolicies]),IgnoreThisFlow,[cloudMSExchUserHoldPolicies]) 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | cloudLegacyExchangeDN 66 | 67 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 68 | MergeCaseInsensitive 69 | 70 | 71 | 72 | 73 | 74 | 75 | contributingConnectorExchange 76 | EQUAL 77 | %Connector.ID% 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{742af925-f60c-47e0-bfae-c1c5166286d7}.xml: -------------------------------------------------------------------------------- 1 | 2 | {742af925-f60c-47e0-bfae-c1c5166286d7} 3 | {742af925-f60c-47e0-bfae-c1c5166286d7} 4 | 1 5 | Out to AD - InetOrgPerson Exchange Hybrid 6 | 7 | Microsoft.OuttoADInetOrgPersonExchangeHybrid.003 8 | Outbound 9 | False 10 | {ae4db4cc-b16b-4eb2-acf5-837ca84e4d7d} 11 | person 12 | inetOrgPerson 13 | Join 14 | 157 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | msExchBlockedSendersHash 22 | 23 | cloudSOAExchMailbox 24 | cloudMSExchBlockedSendersHash 25 | 26 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchBlockedSendersHash],IgnoreThisFlow) 27 | Update 28 | 29 | 30 | msExchSafeRecipientsHash 31 | 32 | cloudSOAExchMailbox 33 | cloudMSExchSafeRecipientsHash 34 | 35 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeRecipientsHash],IgnoreThisFlow) 36 | Update 37 | 38 | 39 | msExchSafeSendersHash 40 | 41 | cloudSOAExchMailbox 42 | cloudMSExchSafeSendersHash 43 | 44 | IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow) 45 | Update 46 | 47 | 48 | msExchUCVoiceMailSettings 49 | 50 | cloudMSExchUCVoiceMailSettings 51 | 52 | Update 53 | 54 | 55 | msExchUserHoldPolicies 56 | 57 | cloudMSExchUserHoldPolicies 58 | 59 | IIF(IsNullOrEmpty([cloudMSExchUserHoldPolicies]),IgnoreThisFlow,[cloudMSExchUserHoldPolicies]) 60 | Update 61 | 62 | 63 | proxyAddresses 64 | 65 | cloudLegacyExchangeDN 66 | 67 | IIF(IsNullOrEmpty([cloudLegacyExchangeDN]),NULL,"x500:" & [cloudLegacyExchangeDN]) 68 | MergeCaseInsensitive 69 | 70 | 71 | 72 | 73 | 74 | 75 | contributingConnectorExchange 76 | EQUAL 77 | %Connector.ID% 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/Documenter.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin-top: 10px; 3 | margin-left: 10px; 4 | margin-right: 10px; 5 | margin-bottom: 10px; 6 | font-family: Calibri,Tahoma; 7 | } 8 | 9 | table { 10 | font-family: Calibri,Tahoma; 11 | font-size: 10pt; 12 | padding: 0; 13 | border-collapse: collapse; 14 | white-space: pre-wrap; 15 | table-layout: fixed; 16 | } 17 | 18 | table.standard { 19 | width: 60%; 20 | } 21 | 22 | table.large { 23 | width: 75%; 24 | } 25 | 26 | table.huge { 27 | width: 95%; 28 | } 29 | 30 | th { 31 | text-align: left; 32 | padding-left: 10px; 33 | padding-right: 10px; 34 | } 35 | 36 | th.column-th { 37 | font-weight: bold; 38 | font-size: 11pt; 39 | background: #9CC2E5; 40 | border: none; 41 | border-top: 2px solid #999999; 42 | border-bottom: 2px solid #999999; 43 | } 44 | 45 | th.column-th2 { 46 | font-weight: bold; 47 | background: #C6D9F1; 48 | border: none; 49 | border-bottom: 1px solid #999999; 50 | } 51 | 52 | th.column-th3 { 53 | font-weight: bold; 54 | background: #C6D9F1; 55 | border: none; 56 | border-bottom: 1px solid #999999; 57 | } 58 | 59 | tr.Unchanged { 60 | } 61 | 62 | tr.Added { 63 | color: green; 64 | } 65 | 66 | tr.Deleted { 67 | color: red; 68 | text-decoration: line-through; 69 | } 70 | 71 | tr.Modified { 72 | color: blue; 73 | } 74 | 75 | 76 | td { 77 | text-align: left; 78 | padding-left: 10px; 79 | padding-right: 10px; 80 | border-bottom: 1px solid #999999; 81 | word-wrap: break-word; 82 | } 83 | 84 | td.Unchanged { 85 | } 86 | 87 | td.Added { 88 | color: green; 89 | } 90 | 91 | td.Deleted { 92 | color: red; 93 | text-decoration: line-through; 94 | } 95 | 96 | td.Modified { 97 | color: blue; 98 | } 99 | 100 | td.Highlight { 101 | background-color: yellow; 102 | font-weight: bold; 103 | } 104 | 105 | p.Highlight { 106 | background-color: yellow; 107 | font-weight: bold; 108 | } 109 | 110 | span.Unchanged { 111 | } 112 | 113 | span.Added { 114 | color: green; 115 | } 116 | 117 | span.Modified { 118 | color: blue; 119 | } 120 | 121 | span.Deleted { 122 | color: red; 123 | text-decoration: line-through; 124 | } 125 | 126 | span.toc1 { 127 | margin-left: 0; 128 | font-size: 16pt; 129 | } 130 | 131 | span.toc2 { 132 | margin-left: 16pt; 133 | font-size: 14pt; 134 | } 135 | 136 | span.toc3 { 137 | margin-left: 32pt; 138 | font-size: 12pt; 139 | } 140 | 141 | span.toc4 { 142 | margin-left: 48pt; 143 | font-size: 10pt; 144 | } 145 | 146 | span.toc5 { 147 | margin-left: 64pt; 148 | font-size: 9pt; 149 | } 150 | 151 | a { 152 | text-decoration: none; 153 | font-weight: normal; 154 | } 155 | 156 | a.Added { 157 | color: green; 158 | } 159 | 160 | a.Modified { 161 | color: blue; 162 | } 163 | 164 | a.Deleted { 165 | color: red; 166 | text-decoration: line-through; 167 | } 168 | 169 | a.Unchanged { 170 | color: black; 171 | } 172 | 173 | a.toc { 174 | color: #5B9BD5; 175 | font-weight: bold; 176 | } 177 | 178 | a.toc-Added { 179 | color: green; 180 | font-weight: bold; 181 | } 182 | 183 | a.toc-Deleted { 184 | color: red; 185 | font-weight: bold; 186 | text-decoration: line-through; 187 | } 188 | 189 | h1, h2, h3, h4, h5, h6 { 190 | color: #5B9BD5; 191 | } 192 | 193 | div.PowerShellScript { 194 | display: none; 195 | white-space: pre; 196 | } 197 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/DocumenterResources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AzureADConnectConfigDocumenter { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class DocumenterResources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal DocumenterResources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AzureADConnectConfigDocumenter.DocumenterResources", typeof(DocumenterResources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized string similar to The pilot / target configuration directory '{0}' does not exist.. 65 | /// 66 | internal static string PilotConfigurationDirectoryNotFound { 67 | get { 68 | return ResourceManager.GetString("PilotConfigurationDirectoryNotFound", resourceCulture); 69 | } 70 | } 71 | 72 | /// 73 | /// Looks up a localized string similar to The production / baseline / reference configuration directory '{0}' does not exist.. 74 | /// 75 | internal static string ProductionConfigurationDirectoryNotFound { 76 | get { 77 | return ResourceManager.GetString("ProductionConfigurationDirectoryNotFound", resourceCulture); 78 | } 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Pilot/SynchronizationRules/SynchronizationRule_{a25d7313-790e-4430-88a5-0c478910e637}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a25d7313-790e-4430-88a5-0c478910e637} 3 | {a25d7313-790e-4430-88a5-0c478910e637} 4 | 1 5 | Out to AAD - Device Join SOAInAD 6 | 7 | Microsoft.OuttoAADJoinSOAInAD.002 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | device 12 | device 13 | Provision 14 | 160 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | dn 29 | 30 | sourceAnchor 31 | 32 | "CN={" & ConvertToUTF8Hex([sourceAnchor]) & "}" 33 | Update 34 | 35 | 36 | deviceId 37 | 38 | deviceId 39 | 40 | Update 41 | 42 | 43 | accountEnabled 44 | 45 | accountEnabled 46 | 47 | Update 48 | 49 | 50 | deviceOSVersion 51 | 52 | deviceOSVersion 53 | 54 | Update 55 | 56 | 57 | deviceOSType 58 | 59 | deviceOSType 60 | 61 | Update 62 | 63 | 64 | registeredOwnerReference 65 | 66 | registeredOwnerReference 67 | 68 | Update 69 | 70 | 71 | deviceTrustType 72 | 73 | deviceTrustType 74 | 75 | Update 76 | 77 | 78 | onPremiseSecurityIdentifier 79 | 80 | objectSid 81 | 82 | Update 83 | 84 | 85 | userCertificate 86 | 87 | userCertificate 88 | 89 | MergeCaseInsensitive 90 | 91 | 92 | 93 | 94 | 95 | deviceId 96 | deviceId 97 | 98 | 99 | 100 | 101 | 102 | 103 | cloudCreated 104 | EQUAL 105 | false 106 | 107 | 108 | userCertificate 109 | ISNOTNULL 110 | 111 | 112 | 113 | cloudFiltered 114 | NOTEQUAL 115 | true 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /src/SolutionOutput/Data/Contoso/Production/SynchronizationRules/SynchronizationRule_{a25d7313-790e-4430-88a5-0c478910e637}.xml: -------------------------------------------------------------------------------- 1 | 2 | {a25d7313-790e-4430-88a5-0c478910e637} 3 | {a25d7313-790e-4430-88a5-0c478910e637} 4 | 1 5 | Out to AAD - Device Join SOAInAD 6 | 7 | Microsoft.OuttoAADJoinSOAInAD.002 8 | Outbound 9 | False 10 | {b891884f-051e-4a83-95af-2544101c9083} 11 | device 12 | device 13 | Provision 14 | 160 15 | {00000000-0000-0000-0000-000000000000} 16 | {00000000-0000-0000-0000-000000000000} 17 | 00:00:00 18 | false 19 | 20 | 21 | displayName 22 | 23 | displayName 24 | 25 | Update 26 | 27 | 28 | dn 29 | 30 | sourceAnchor 31 | 32 | "CN={" & ConvertToUTF8Hex([sourceAnchor]) & "}" 33 | Update 34 | 35 | 36 | deviceId 37 | 38 | deviceId 39 | 40 | Update 41 | 42 | 43 | accountEnabled 44 | 45 | accountEnabled 46 | 47 | Update 48 | 49 | 50 | deviceOSVersion 51 | 52 | deviceOSVersion 53 | 54 | Update 55 | 56 | 57 | deviceOSType 58 | 59 | deviceOSType 60 | 61 | Update 62 | 63 | 64 | registeredOwnerReference 65 | 66 | registeredOwnerReference 67 | 68 | Update 69 | 70 | 71 | deviceTrustType 72 | 73 | deviceTrustType 74 | 75 | Update 76 | 77 | 78 | onPremiseSecurityIdentifier 79 | 80 | objectSid 81 | 82 | Update 83 | 84 | 85 | userCertificate 86 | 87 | userCertificate 88 | 89 | MergeCaseInsensitive 90 | 91 | 92 | 93 | 94 | 95 | deviceId 96 | deviceId 97 | 98 | 99 | 100 | 101 | 102 | 103 | cloudCreated 104 | EQUAL 105 | false 106 | 107 | 108 | userCertificate 109 | ISNOTNULL 110 | 111 | 112 | 113 | cloudFiltered 114 | NOTEQUAL 115 | true 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /src/AzureADConnectSyncDocumenter/Scripts/Documenter.js: -------------------------------------------------------------------------------- 1 | window.onload = function (e) { 2 | document.getElementById("OnlyShowChanges").disabled = false; 3 | document.getElementById("HideDefaultSyncRules").disabled = false; 4 | document.getElementById("HideEndToEndFlowsSummary").disabled = false; 5 | } 6 | 7 | function ToggleVisibility() { 8 | var x = document.getElementById("OnlyShowChanges"); 9 | var elements = document.getElementsByClassName("CanHide"); 10 | for (var i = 0; i < elements.length; ++i) { 11 | if (x.checked == true) { 12 | elements[i].style.display = "none"; 13 | } 14 | else { 15 | elements[i].style.display = ""; 16 | } 17 | } 18 | 19 | var downloadLink = document.getElementById("DownloadLink"); 20 | if (x.checked == true) { 21 | downloadLink.style.display = ""; 22 | DownloadScript(downloadLink); 23 | } 24 | else { 25 | downloadLink.style.display = "none"; 26 | } 27 | } 28 | 29 | function ToggleDefaultRuleVisibility() { 30 | var x = document.getElementById("HideDefaultSyncRules"); 31 | var elements = document.getElementsByClassName("DefaultRuleCanHide"); 32 | for (var i = 0; i < elements.length; ++i) { 33 | if (x.checked == true) { 34 | elements[i].style.display = "none"; 35 | } 36 | else { 37 | elements[i].style.display = ""; 38 | } 39 | } 40 | } 41 | 42 | function ToggleEndToEndFlowsSummaryVisibility() { 43 | var x = document.getElementById("HideEndToEndFlowsSummary"); 44 | var elements = document.getElementsByClassName("EndToEndFlowsSummary"); 45 | for (var i = 0; i < elements.length; ++i) { 46 | if (x.checked == true) { 47 | elements[i].style.display = "none"; 48 | } 49 | else { 50 | elements[i].style.display = ""; 51 | } 52 | } 53 | } 54 | 55 | function DownloadScript(downloadLink) { 56 | var scripts = document.getElementsByClassName("PowerShellScript"); 57 | var data = ""; 58 | 59 | for (var i = 0; i < scripts.length; ++i) { 60 | data += scripts[i].innerText + "\r\n"; 61 | } 62 | 63 | data += "\r\n#############################################################################################################################################" 64 | data += "\r\n### Footer Script" 65 | data += "\r\n#############################################################################################################################################" 66 | data += "\r\n" 67 | 68 | if (scripts.length == 1) { 69 | data += "\r\nWrite-Host \"There are no changes detected in the sync rule configuration of the servers.\" -ForegroundColor Green" 70 | data += "\r\nWrite-Host \"Please review the report manually to confim.\" -ForegroundColor Green\r\n" 71 | } 72 | else { 73 | data += "\r\nif ($Error.Count) {" 74 | data += "\r\n Write-Host \"There were errors while executing the script.\" -ForegroundColor Red" 75 | data += "\r\n Write-Host \"Please review the console output.\" -ForegroundColor Red" 76 | data += "\r\n}" 77 | data += "\r\nelse {" 78 | data += "\r\n Write-Host \"Script execution completed sucessfully.\" -ForegroundColor Green" 79 | data += "\r\n Write-Host \"Please regenerate the report with the latest config exports to confirm.\" -ForegroundColor Green" 80 | data += "\r\n Write-Host \"Once confirmed, it is recommended that you run Full Synchronization run profile all connectors.\" -ForegroundColor Green" 81 | data += "\r\n}" 82 | data += "\r\n" 83 | } 84 | 85 | data = data.replace(/([^\r])\n/g, "$1\r\n"); 86 | var file = new Blob([data], { type: "text/plain; charset=utf-8" }); 87 | if (downloadLink == null && navigator.msSaveOrOpenBlob != null) { 88 | navigator.msSaveOrOpenBlob(file, "SyncRuleChanges.ps1.txt"); 89 | } 90 | else { 91 | var downloadLink = document.getElementById("DownloadLink"); 92 | var href = URL.createObjectURL(file); 93 | downloadLink.href = href; 94 | downloadLink.download = "SyncRuleChanges.ps1.txt" 95 | URL.revokeObjectURL(url); 96 | } 97 | 98 | return false; 99 | } --------------------------------------------------------------------------------