Skip to content

Exchange extension doesn't work #440

@B14CK-SPID3R

Description

@B14CK-SPID3R

Hi,
I tried to install the Exchange extension on the GOAD instance in VMware Workstation, but I encountered a problem. After the installation, I attempted to open OWA, but it failed.

A portion of the installation log is shown below:

[*] Running command : ssh -t -o StrictHostKeyChecking=no -i
D:\VMs\GOAD\workspace\3ceb6a-goad-vmware\provider\.vagrant\machines\PROVISIONING\vmware_desktop\private_key vagrant@192.168.56.3
"cd /home/vagrant/GOAD/extensions/exchange/ansible && /home/vagrant/.local/bin/ansible-playbook -i
/home/vagrant/GOAD/ad/GOAD/data/inventory -i /home/vagrant/GOAD/workspace/3ceb6a-goad-vmware/inventory -i
/home/vagrant/GOAD/workspace/3ceb6a-goad-vmware/exchange_inventory -i /home/vagrant/GOAD/globalsettings.ini install.yml"
[WARNING]: Collection community.general does not support Ansible version 2.12.6

PLAY [Read data files] ***********************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]
 [started TASK: Gathering Facts on srv02]
 [started TASK: Gathering Facts on srv03]
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv03]
ok: [dc03]
ok: [srv02]
ok: [dc02]
ok: [dc01]
ok: [srv01]
 [started TASK: save the Json data to a Variable as a Fact on dc01]

TASK [save the Json data to a Variable as a Fact] ********************************************************************************
ok: [dc01]
 [started TASK: find domain_adapter on dc01]

TASK [find domain_adapter] *******************************************************************************************************
ok: [dc01] => (item={'dns_domain': None, 'connection_name': 'Ethernet1', 'default_gateway': None, 'mtu': 1500, 'interface_name': 'Intel(R) 82574L Gigabit Network Connection #2', 'ipv6': {'address': 'fe80::216e:e110:8360:9bcd%6', 'prefix': '64'}, 'macaddress': '00:0C:29:4E:D3:2D', 'speed': 1000, 'interface_index': 6, 'ipv4': {'address': '192.168.56.10', 'prefix': '24'}})
 [started TASK: find nat_adapter on dc01]

TASK [find nat_adapter] **********************************************************************************************************
ok: [dc01] => (item={'dns_domain': 'localdomain', 'connection_name': 'Ethernet0', 'default_gateway': '192.168.220.2', 'mtu': 1500, 'interface_name': 'Intel(R) 82574L Gigabit Network Connection', 'ipv6': {'address': 'fe80::9555:5c13:e2a2:2c19%4', 'prefix': '64'}, 'macaddress': '00:0C:29:4E:D3:23', 'speed': 1000, 'interface_index': 4, 'ipv4': {'address': '192.168.220.137', 'prefix': '24'}})
 [started TASK: find number of interfaces on dc01]

TASK [find number of interfaces] *************************************************************************************************
ok: [dc01]
 [started TASK: find if two adapters on dc01]

TASK [find if two adapters] ******************************************************************************************************
ok: [dc01]
 [started TASK: confirm nat_adapter on dc01]

PLAY [Read local config file] ****************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]
 [started TASK: Gathering Facts on srv02]
 [started TASK: Gathering Facts on srv03]
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv03]
ok: [dc03]
ok: [srv02]
ok: [dc01]
ok: [dc02]
ok: [srv01]
 [started TASK: merge lab variable with local config on dc01]
 [started TASK: merge lab variable with local config on dc02]
 [started TASK: merge lab variable with local config on dc03]

TASK [merge lab variable with local config] **************************************************************************************
ok: [dc01]
 [started TASK: merge lab variable with local config on srv02]
ok: [dc02]
 [started TASK: merge lab variable with local config on srv03]
ok: [dc03]
 [started TASK: merge lab variable with local config on srv01]
ok: [srv02]
ok: [srv03]
ok: [srv01]

PLAY [Update AD data] ************************************************************************************************************
 [started TASK: Gathering Facts on dc01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [dc01]
 [started TASK: ad : Ensure Administrator is part of Domain Admins on dc01]

TASK [ad : Ensure Administrator is part of Domain Admins] ************************************************************************
ok: [dc01]
 [started TASK: ad : Create OU on dc01]

TASK [ad : Create OU] ************************************************************************************************************
ok: [dc01] => (item={'key': 'Vale', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'IronIslands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Riverlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Crownlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Stormlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Westerlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Reach', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Dorne', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Create Groups Universal on dc01]
 [started TASK: ad : Create Groups Global on dc01]

TASK [ad : Create Groups Global] *************************************************************************************************
ok: [dc01] => (item={'key': 'Lannister', 'value': {'managed_by': 'tywin.lannister', 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Baratheon', 'value': {'managed_by': 'robert.baratheon', 'path': 'OU=Stormlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Small Council', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'DragonStone', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'KingsGuard', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'DragonRider', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Arryn', 'value': {'managed_by': 'lysa.arryn', 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Create Groups domainlocal on dc01]

TASK [ad : Create Groups domainlocal] ********************************************************************************************
ok: [dc01] => (item={'key': 'AcrossTheNarrowSea', 'value': {'path': 'CN=Users,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Sync the contents of one directory to another - hack to get Requires -Module Ansible.ModuleUtils.Legacy loaded on dc01]

TASK [ad : Sync the contents of one directory to another - hack to get Requires -Module Ansible.ModuleUtils.Legacy loaded] *******
ok: [dc01]
 [started TASK: ad : Create users on dc01]

TASK [ad : Create users] *********************************************************************************************************
changed: [dc01] => (item={'key': 'tywin.lannister', 'value': {'firstname': 'Tywin', 'surname': 'Lanister', 'password': 'powerkingftw135', 'city': 'Casterly Rock', 'description': 'Tywin Lanister', 'groups': ['Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'jaime.lannister', 'value': {'firstname': 'Jaime', 'surname': 'Lanister', 'password': 'cersei', 'city': "King's Landing", 'description': 'Jaime Lanister', 'groups': ['Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'cersei.lannister', 'value': {'firstname': 'Cersei', 'surname': 'Lanister', 'password': 'il0vejaime', 'city': "King's Landing", 'description': 'Cersei Lanister', 'groups': ['Lannister', 'Baratheon', 'Domain Admins', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'tyron.lannister', 'value': {'firstname': 'Tyron', 'surname': 'Lanister', 'password': 'Alc00L&S3x', 'city': "King's Landing", 'description': 'Tyron Lanister', 'groups': ['Lannister'], 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'robert.baratheon', 'value': {'firstname': 'Robert', 'surname': 'Baratheon', 'password': 'iamthekingoftheworld', 'city': "King's Landing", 'description': 'Robert Lanister', 'groups': ['Baratheon', 'Domain Admins', 'Small Council', 'Protected Users'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'joffrey.baratheon', 'value': {'firstname': 'Joffrey', 'surname': 'Baratheon', 'password': '1killerlion', 'city': "King's Landing", 'description': 'Joffrey Baratheon', 'groups': ['Baratheon', 'Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'renly.baratheon', 'value': {'firstname': 'Renly', 'surname': 'Baratheon', 'password': 'lorastyrell', 'city': "King's Landing", 'description': 'Renly Baratheon', 'groups': ['Baratheon', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'stannis.baratheon', 'value': {'firstname': 'Stannis', 'surname': 'Baratheon', 'password': 'Drag0nst0ne', 'city': "King's Landing", 'description': 'Stannis Baratheon', 'groups': ['Baratheon', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'petyer.baelish', 'value': {'firstname': 'Petyer', 'surname': 'Baelish', 'password': '@littlefinger@', 'city': "King's Landing", 'description': 'Petyer Baelish', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'lord.varys', 'value': {'firstname': 'Lord', 'surname': 'Varys', 'password': '_W1sper_$', 'city': "King's Landing", 'description': 'Lord Varys', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'maester.pycelle', 'value': {'firstname': 'Maester', 'surname': 'Pycelle', 'password': 'MaesterOfMaesters', 'city': "King's Landing", 'description': 'Maester Pycelle', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'lysa.arryn', 'value': {'firstname': 'Lysa', 'surname': 'Arryn', 'password': 'rob1nIsMyHeart', 'city': 'The Eyries', 'description': 'Lysa Arryn', 'groups': ['Arryn'], 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'robin.arryn', 'value': {'firstname': 'Robin', 'surname': 'Arryn', 'password': 'mommy', 'city': 'The Eyries', 'description': 'Robin Arryn', 'groups': ['Arryn'], 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Set users SPN lists on dc01]
 [started TASK: ad : Assign managed_by domainlocal groups on dc01]
 [started TASK: ad : Assign managed_by universal groups on dc01]
 [started TASK: ad : Assign managed_by global groups on dc01]

TASK [ad : Assign managed_by global groups] **************************************************************************************
ok: [dc01] => (item={'key': 'Lannister', 'value': {'managed_by': 'tywin.lannister', 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Baratheon', 'value': {'managed_by': 'robert.baratheon', 'path': 'OU=Stormlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Arryn', 'value': {'managed_by': 'lysa.arryn', 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Add members to the Universal group, preserving existing membership on dc01]
 [started TASK: ad : Add members to the Global group, preserving existing membership on dc01]
 [started TASK: ad : Add members to the Domainlocal group, preserving existing membership on dc01]

PLAY [Install new server] ********************************************************************************************************
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv01]
 [started TASK: common : Force a DNS on the adapter {{nat_adapter}} on srv01]
 [started TASK: common : Set a proxy for specific protocols on srv01]
 [started TASK: common : Configure IE to use a specific proxy per protocol on srv01]
 [started TASK: common : Upgrade module PowerShellGet to fix accept license issue on last windows ansible version on srv01]

TASK [common : Upgrade module PowerShellGet to fix accept license issue on last windows ansible version] *************************
changed: [srv01]
 [started TASK: common : Windows | Check for ComputerManagementDsc Powershell module on srv01]

TASK [common : Windows | Check for ComputerManagementDsc Powershell module] ******************************************************
ok: [srv01]
 [started TASK: common : Windows | Enable Remote Desktop on srv01]

TASK [common : Windows | Enable Remote Desktop] **********************************************************************************
ok: [srv01]
 [started TASK: common : Windows | Check for xNetworking Powershell module on srv01]

TASK [common : Windows | Check for xNetworking Powershell module] ****************************************************************
ok: [srv01]
 [started TASK: common : Firewall | Allow RDP through Firewall on srv01]

TASK [common : Firewall | Allow RDP through Firewall] ****************************************************************************
ok: [srv01]
 [started TASK: common : Add a network static route on srv01]
 [started TASK: settings/keyboard : Add Keyboard Layouts registry key on srv01]

TASK [settings/keyboard : Add Keyboard Layouts registry key] *********************************************************************
ok: [srv01] => (item=0000040C)
ok: [srv01] => (item=00000409)
 [started TASK: settings/keyboard : Add Keyboard Layouts registry key for default users on srv01]

TASK [settings/keyboard : Add Keyboard Layouts registry key for default users] ***************************************************
ok: [srv01] => (item=0000040C)
ok: [srv01] => (item=00000409)
 [started TASK: settings/no_updates : Disable windows update on srv01]

TASK [settings/no_updates : Disable windows update] ******************************************************************************
changed: [srv01]
 [started TASK: settings/admin_password : Ensure that Admin is present with a valid password on srv01]

TASK [settings/admin_password : Ensure that Admin is present with a valid password] **********************************************
ok: [srv01]
 [started TASK: settings/hostname : Change the hostname on srv01]

TASK [settings/hostname : Change the hostname] ***********************************************************************************
ok: [srv01]
 [started TASK: settings/hostname : Reboot if needed on srv01]
 [started TASK: member_server : prioritize the {{domain_adapter}} interface (local) as the default for routing on srv01]

TASK [member_server : prioritize the Ethernet1 interface (local) as the default for routing] *************************************
changed: [srv01]
 [started TASK: member_server : Set configure dns to {{dns_domain}} on srv01]

TASK [member_server : Set configure dns to dc01] *********************************************************************************
ok: [srv01]
 [started TASK: member_server : Verify File Server Role is installed. on srv01]

TASK [member_server : Verify File Server Role is installed.] *********************************************************************
ok: [srv01]
 [started TASK: member_server : Add member server on srv01]

TASK [member_server : Add member server] *****************************************************************************************
ok: [srv01]
 [started TASK: member_server : Reboot if needed on srv01]
 [started TASK: settings/adjust_rights : Add domain users to local groups on srv01]

TASK [settings/adjust_rights : Add domain users to local groups] *****************************************************************
ok: [srv01] => (item={'key': 'Administrators', 'value': ['sevenkingdoms\\lysa.arryn']})
ok: [srv01] => (item={'key': 'Remote Desktop Users', 'value': ['sevenkingdoms\\Arryn']})
 [started TASK: settings/user_rights : Add remote desktop and administrators group to rdp on srv01]

TASK [settings/user_rights : Add remote desktop and administrators group to rdp] *************************************************
ok: [srv01]

PLAY [Synchronize all domains] ***************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [dc03]
ok: [dc02]
ok: [dc01]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc01]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc02]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc03]

TASK [sync_domains : synchronizes all domains before change schema] **************************************************************
changed: [dc03]
changed: [dc01]
changed: [dc02]

PLAY [Install exchange] **********************************************************************************************************
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Check if Exchange is installed on srv01]

TASK [ludus_exchange : Check if Exchange is installed] ***************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Download Exchange ISO for Windows Server 2016 on srv01]
 [started TASK: ludus_exchange : Download Exchange ISO for Windows Server 2019 on srv01]

TASK [ludus_exchange : Download Exchange ISO for Windows Server 2019] ************************************************************
included: /home/vagrant/GOAD/extensions/exchange/ansible/roles/ludus_exchange/tasks/ludus-download-exchange-2019.yml for srv01
 [started TASK: ludus_exchange : Create {{ ludus_install_directory }}/resources/iso directory if it doesn't exist on srv01]

TASK [ludus_exchange : Create ./iso/resources/iso directory if it doesn't exist] *************************************************
ok: [srv01 -> localhost]
 [started TASK: ludus_exchange : Check if Exchange ISO exists on srv01]

TASK [ludus_exchange : Check if Exchange ISO exists] *****************************************************************************
ok: [srv01 -> localhost]
 [started TASK: ludus_exchange : Downloading EXCHANGE ISO - This will take a while on srv01]
 [started TASK: ludus_exchange : create EXCHANGE folder on srv01]

TASK [ludus_exchange : create EXCHANGE folder] ***********************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Check if EXCHANGE ISO exists on host on srv01]

TASK [ludus_exchange : Check if EXCHANGE ISO exists on host] *********************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Copy Exchange ISO to windows host on srv01]
 [started TASK: ludus_exchange : Ludus Exchange Server features to be installed on srv01]

TASK [ludus_exchange : Ludus Exchange Server features to be installed] ***********************************************************
included: /home/vagrant/GOAD/extensions/exchange/ansible/roles/ludus_exchange/tasks/ludus-exchange-pre.yml for srv01
 [started TASK: ludus_exchange : Check if pre-req installation is completed on srv01]

TASK [ludus_exchange : Check if pre-req installation is completed] ***************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Install IIS 6 Compatibility Features on srv01]

TASK [ludus_exchange : Install IIS 6 Compatibility Features] *********************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Enable Windows optional features on srv01]

TASK [ludus_exchange : Enable Windows optional features] *************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Install .NET Framework on srv01]

TASK [ludus_exchange : Install .NET Framework] ***********************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Reboot after installing .NET Framework 4.8 on srv01]
 [started TASK: ludus_exchange : Wait for the machine to be up after reboot on srv01]

TASK [ludus_exchange : Wait for the machine to be up after reboot] ***************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Install Visual C++ Redistributable for Visual Studio 2013 on srv01]

TASK [ludus_exchange : Install Visual C++ Redistributable for Visual Studio 2013] ************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Reboot after installing Visual C++ Redistributable for Visual Studio 2013 on srv01]

TASK [ludus_exchange : Reboot after installing Visual C++ Redistributable for Visual Studio 2013] ********************************
changed: [srv01]
 [started TASK: ludus_exchange : The IIS URL Rewrite Module is required with Exchange Server 2016 CU22 and Exchange Server 2019 CU11 or later on srv01]

TASK [ludus_exchange : The IIS URL Rewrite Module is required with Exchange Server 2016 CU22 and Exchange Server 2019 CU11 or later] ***
changed: [srv01]
 [started TASK: ludus_exchange : Install Unified Communications Managed API 4.0 Runtime. on srv01]

TASK [ludus_exchange : Install Unified Communications Managed API 4.0 Runtime.] **************************************************
changed: [srv01]
 [started TASK: ludus_exchange : reboot after installing Unified Communications Managed API 4.0 Runtime on srv01]
 [started TASK: ludus_exchange : Wait for the machine to be up after reboot on srv01]

TASK [ludus_exchange : Wait for the machine to be up after reboot] ***************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Install Windows features ADLDS Exchange Transport Hub on srv01]

TASK [ludus_exchange : Install Windows features ADLDS Exchange Transport Hub] ****************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Create file marker for pre-req installation completion on srv01]

TASK [ludus_exchange : Create file marker for pre-req installation completion] ***************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Reboot the system on srv01]

TASK [ludus_exchange : Reboot the system] ****************************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Wait for the machine to be up after reboot on srv01]

TASK [ludus_exchange : Wait for the machine to be up after reboot] ***************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Check if pre-req installation is already completed on srv01]
 [started TASK: ludus_exchange : Install Exchange Server for Windows Server 2016 on srv01]
 [started TASK: ludus_exchange : Install Exchange Server for Windows Server 2019 on srv01]

TASK [ludus_exchange : Install Exchange Server for Windows Server 2019] **********************************************************
included: /home/vagrant/GOAD/extensions/exchange/ansible/roles/ludus_exchange/tasks/ludus-exchange-2019-install.yml for srv01
 [started TASK: ludus_exchange : Mount Exchange ISO on srv01]

TASK [ludus_exchange : Mount Exchange ISO] ***************************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Prepare Schema on srv01]

TASK [ludus_exchange : Prepare Schema] *******************************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Prepare Active Directory on srv01]

TASK [ludus_exchange : Prepare Active Directory] *********************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Install Exchange on srv01]

TASK [ludus_exchange : Install Exchange] *****************************************************************************************
fatal: [srv01]: FAILED! => {"changed": true, "cmd": "& E:\\Setup.exe /IAcceptExchangeServerLicenseTerms /Mode:Install /Role:Mailbox", "delta": "0:22:35.361014", "end": "2025-07-12 04:15:40.158888", "msg": "non-zero return code", "rc": 1, "start": "2025-07-12 03:53:04.797874", "stderr": "The following error was generated when \"$error.Clear(); \n          $dependentAssemblyGeneratorExePath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\", \"DependentAssemblyGenerator.exe\");\n          $exchangeBinPath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\");\n          $frontEndPath = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\");\n          $clientAccessPath = [System.IO.Path]::Combine($RoleInstallPath, \"ClientAccess\");\n          $sharedWebConfig = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\", \"HttpProxy\", \"SharedWebConfig.config\");\n\n          $a = &\"$dependentAssemblyGeneratorExePath\" -exchangePath \"$exchangeBinPath\" -exchangePath \"$frontEndPath\" -exchangePath \"$clientAccessPath\" -configFile \"$sharedWebConfig\";\n          $a | % { $line = \"DependentAssemblyGenerator: \" +  $_; Write-ExchangeSetupLog -Info $line }\n          Stop-SetupService -ServiceName WAS;\n          Start-SetupService -ServiceName W3SVC;\n        \" was run: \"System.Management.Automation.RemoteException\".\r\nThe following error was generated when \"$error.Clear(); \n          $dependentAssemblyGeneratorExePath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\", \"DependentAssemblyGenerator.exe\");\n          $exchangeBinPath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\");\n          $frontEndPath = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\");\n          $clientAccessPath = [System.IO.Path]::Combine($RoleInstallPath, \"ClientAccess\");\n          $sharedWebConfig = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\", \"HttpProxy\", \"SharedWebConfig.config\");\n\n          $a = &\"$dependentAssemblyGeneratorExePath\" -exchangePath \"$exchangeBinPath\" -exchangePath \"$frontEndPath\" -exchangePath \"$clientAccessPath\" -configFile \"$sharedWebConfig\";\n          $a | % { $line = \"DependentAssemblyGenerator: \" +  $_; Write-ExchangeSetupLog -Info $line }\n          Stop-SetupService -ServiceName WAS;\n          Start-SetupService -ServiceName W3SVC;\n        \" was run: \"System.Management.Automation.RemoteException: Process is terminated due to StackOverflowException.\".", "stderr_lines": ["The following error was generated when \"$error.Clear(); ", "          $dependentAssemblyGeneratorExePath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\", \"DependentAssemblyGenerator.exe\");", "          $exchangeBinPath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\");", "          $frontEndPath = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\");", "          $clientAccessPath = [System.IO.Path]::Combine($RoleInstallPath, \"ClientAccess\");", "          $sharedWebConfig = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\", \"HttpProxy\", \"SharedWebConfig.config\");", "", "          $a = &\"$dependentAssemblyGeneratorExePath\" -exchangePath \"$exchangeBinPath\" -exchangePath \"$frontEndPath\" -exchangePath \"$clientAccessPath\" -configFile \"$sharedWebConfig\";", "          $a | % { $line = \"DependentAssemblyGenerator: \" +  $_; Write-ExchangeSetupLog -Info $line }", "          Stop-SetupService -ServiceName WAS;", "          Start-SetupService -ServiceName W3SVC;", "        \" was run: \"System.Management.Automation.RemoteException\".", "The following error was generated when \"$error.Clear(); ", "          $dependentAssemblyGeneratorExePath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\", \"DependentAssemblyGenerator.exe\");", "          $exchangeBinPath = [System.IO.Path]::Combine($RoleInstallPath, \"bin\");", "          $frontEndPath = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\");", "          $clientAccessPath = [System.IO.Path]::Combine($RoleInstallPath, \"ClientAccess\");", "          $sharedWebConfig = [System.IO.Path]::Combine($RoleInstallPath, \"FrontEnd\", \"HttpProxy\", \"SharedWebConfig.config\");", "", "          $a = &\"$dependentAssemblyGeneratorExePath\" -exchangePath \"$exchangeBinPath\" -exchangePath \"$frontEndPath\" -exchangePath \"$clientAccessPath\" -configFile \"$sharedWebConfig\";", "          $a | % { $line = \"DependentAssemblyGenerator: \" +  $_; Write-ExchangeSetupLog -Info $line }", "          Stop-SetupService -ServiceName WAS;", "          Start-SetupService -ServiceName W3SVC;", "        \" was run: \"System.Management.Automation.RemoteException: Process is terminated due to StackOverflowException.\"."], "stdout": "\r\nMicrosoft Exchange Server 2019 Cumulative Update 9 Unattended Setup\r\n\r\nCopying Files...\r\nFile copy complete.  Setup will now collect additional information needed for installation.\r\n\r\n     Languages\r\n     Management tools\r\n     Mailbox role: Transport service\r\n     Mailbox role: Client Access service\r\n     Mailbox role: Mailbox service\r\n     Mailbox role: Front End Transport service\r\n     Mailbox role: Client Access Front End service\r\n\r\nPerforming Microsoft Exchange Server Prerequisite Check\r\n\r\n Configuring Prerequisites ... COMPLETED\r\n Prerequisite Analysis ... COMPLETED\r\n\r\nConfiguring Microsoft Exchange Server\r\n\r\n Preparing Setup ... COMPLETED\r\n Stopping Services ... COMPLETED\r\n Copying Exchange Files ... COMPLETED\r\n Language Files ... COMPLETED\r\n Restoring Services ... COMPLETED\r\n Language Configuration ... COMPLETED\r\n Exchange Management Tools ... COMPLETED\r\n Mailbox role: Transport service ... COMPLETED\r\n Mailbox role: Client Access service ... COMPLETED\r\n Mailbox role: Mailbox service ... COMPLETED\r\n Mailbox role: Front End Transport service ... COMPLETED\r\n Mailbox role: Client Access Front End service ... COMPLETED\r\n Finalizing Setup\r\n\r\nThe Exchange Server setup operation didn't complete.  More details can be found in ExchangeSetup.log located in the <SystemDrive>:\\ExchangeSetupLogs folder.\r\n", "stdout_lines": ["", "Microsoft Exchange Server 2019 Cumulative Update 9 Unattended Setup", "", "Copying Files...", "File copy complete.  Setup will now collect additional information needed for installation.", "", "     Languages", "     Management tools", "     Mailbox role: Transport service", "     Mailbox role: Client Access service", "     Mailbox role: Mailbox service", "     Mailbox role: Front End Transport service", "     Mailbox role: Client Access Front End service", "", "Performing Microsoft Exchange Server Prerequisite Check", "", " Configuring Prerequisites ... COMPLETED", " Prerequisite Analysis ... COMPLETED", "", "Configuring Microsoft Exchange Server", "", " Preparing Setup ... COMPLETED", " Stopping Services ... COMPLETED", " Copying Exchange Files ... COMPLETED", " Language Files ... COMPLETED", " Restoring Services ... COMPLETED", " Language Configuration ... COMPLETED", " Exchange Management Tools ... COMPLETED", " Mailbox role: Transport service ... COMPLETED", " Mailbox role: Client Access service ... COMPLETED", " Mailbox role: Mailbox service ... COMPLETED", " Mailbox role: Front End Transport service ... COMPLETED", " Mailbox role: Client Access Front End service ... COMPLETED", " Finalizing Setup", "", "The Exchange Server setup operation didn't complete.  More details can be found in ExchangeSetup.log located in the <SystemDrive>:\\ExchangeSetupLogs folder."]}

PLAY RECAP ***********************************************************************************************************************
dc01                       : ok=18   changed=2    unreachable=0    failed=0    skipped=8    rescued=0    ignored=0
dc02                       : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
dc03                       : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
srv01                      : ok=46   changed=13   unreachable=0    failed=1    skipped=13   rescued=0    ignored=0
srv02                      : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
srv03                      : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Connection to 192.168.56.3 closed.
[*] CWD:
[*] Running command : ssh -t -o StrictHostKeyChecking=no -i
D:\VMs\GOAD\workspace\3ceb6a-goad-vmware\provider\.vagrant\machines\PROVISIONING\vmware_desktop\private_key vagrant@192.168.56.3
"cd /home/vagrant/GOAD/extensions/exchange/ansible && /home/vagrant/.local/bin/ansible-playbook -i
/home/vagrant/GOAD/ad/GOAD/data/inventory -i /home/vagrant/GOAD/workspace/3ceb6a-goad-vmware/inventory -i
/home/vagrant/GOAD/workspace/3ceb6a-goad-vmware/exchange_inventory -i /home/vagrant/GOAD/globalsettings.ini install.yml"
[WARNING]: Collection community.general does not support Ansible version 2.12.6

PLAY [Read data files] ***********************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]
 [started TASK: Gathering Facts on srv02]
 [started TASK: Gathering Facts on srv03]
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv03]
ok: [dc03]
ok: [srv02]
ok: [dc01]
ok: [dc02]
ok: [srv01]
 [started TASK: save the Json data to a Variable as a Fact on dc01]

TASK [save the Json data to a Variable as a Fact] ********************************************************************************
ok: [dc01]
 [started TASK: find domain_adapter on dc01]

TASK [find domain_adapter] *******************************************************************************************************
ok: [dc01] => (item={'dns_domain': None, 'connection_name': 'Ethernet1', 'default_gateway': None, 'mtu': 1500, 'interface_name': 'Intel(R) 82574L Gigabit Network Connection #2', 'ipv6': {'address': 'fe80::216e:e110:8360:9bcd%6', 'prefix': '64'}, 'macaddress': '00:0C:29:4E:D3:2D', 'speed': 1000, 'interface_index': 6, 'ipv4': {'address': '192.168.56.10', 'prefix': '24'}})
 [started TASK: find nat_adapter on dc01]

TASK [find nat_adapter] **********************************************************************************************************
ok: [dc01] => (item={'dns_domain': 'localdomain', 'connection_name': 'Ethernet0', 'default_gateway': '192.168.220.2', 'mtu': 1500, 'interface_name': 'Intel(R) 82574L Gigabit Network Connection', 'ipv6': {'address': 'fe80::9555:5c13:e2a2:2c19%4', 'prefix': '64'}, 'macaddress': '00:0C:29:4E:D3:23', 'speed': 1000, 'interface_index': 4, 'ipv4': {'address': '192.168.220.137', 'prefix': '24'}})
 [started TASK: find number of interfaces on dc01]

TASK [find number of interfaces] *************************************************************************************************
ok: [dc01]
 [started TASK: find if two adapters on dc01]

TASK [find if two adapters] ******************************************************************************************************
ok: [dc01]
 [started TASK: confirm nat_adapter on dc01]

PLAY [Read local config file] ****************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]
 [started TASK: Gathering Facts on srv02]
 [started TASK: Gathering Facts on srv03]
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv03]
ok: [dc03]
ok: [srv02]
ok: [dc01]
ok: [dc02]
ok: [srv01]
 [started TASK: merge lab variable with local config on dc01]
 [started TASK: merge lab variable with local config on dc02]
 [started TASK: merge lab variable with local config on dc03]

TASK [merge lab variable with local config] **************************************************************************************
ok: [dc01]
 [started TASK: merge lab variable with local config on srv02]
ok: [dc02]
 [started TASK: merge lab variable with local config on srv03]
ok: [dc03]
 [started TASK: merge lab variable with local config on srv01]
ok: [srv02]
ok: [srv03]
ok: [srv01]

PLAY [Update AD data] ************************************************************************************************************
 [started TASK: Gathering Facts on dc01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [dc01]
 [started TASK: ad : Ensure Administrator is part of Domain Admins on dc01]

TASK [ad : Ensure Administrator is part of Domain Admins] ************************************************************************
ok: [dc01]
 [started TASK: ad : Create OU on dc01]

TASK [ad : Create OU] ************************************************************************************************************
ok: [dc01] => (item={'key': 'Vale', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'IronIslands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Riverlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Crownlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Stormlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Westerlands', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Reach', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Dorne', 'value': {'path': 'DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Create Groups Universal on dc01]
 [started TASK: ad : Create Groups Global on dc01]

TASK [ad : Create Groups Global] *************************************************************************************************
ok: [dc01] => (item={'key': 'Lannister', 'value': {'managed_by': 'tywin.lannister', 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Baratheon', 'value': {'managed_by': 'robert.baratheon', 'path': 'OU=Stormlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Small Council', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'DragonStone', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'KingsGuard', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'DragonRider', 'value': {'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Arryn', 'value': {'managed_by': 'lysa.arryn', 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Create Groups domainlocal on dc01]

TASK [ad : Create Groups domainlocal] ********************************************************************************************
ok: [dc01] => (item={'key': 'AcrossTheNarrowSea', 'value': {'path': 'CN=Users,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Sync the contents of one directory to another - hack to get Requires -Module Ansible.ModuleUtils.Legacy loaded on dc01]

TASK [ad : Sync the contents of one directory to another - hack to get Requires -Module Ansible.ModuleUtils.Legacy loaded] *******
ok: [dc01]
 [started TASK: ad : Create users on dc01]

TASK [ad : Create users] *********************************************************************************************************
changed: [dc01] => (item={'key': 'tywin.lannister', 'value': {'firstname': 'Tywin', 'surname': 'Lanister', 'password': 'powerkingftw135', 'city': 'Casterly Rock', 'description': 'Tywin Lanister', 'groups': ['Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'jaime.lannister', 'value': {'firstname': 'Jaime', 'surname': 'Lanister', 'password': 'cersei', 'city': "King's Landing", 'description': 'Jaime Lanister', 'groups': ['Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'cersei.lannister', 'value': {'firstname': 'Cersei', 'surname': 'Lanister', 'password': 'il0vejaime', 'city': "King's Landing", 'description': 'Cersei Lanister', 'groups': ['Lannister', 'Baratheon', 'Domain Admins', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'tyron.lannister', 'value': {'firstname': 'Tyron', 'surname': 'Lanister', 'password': 'Alc00L&S3x', 'city': "King's Landing", 'description': 'Tyron Lanister', 'groups': ['Lannister'], 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'robert.baratheon', 'value': {'firstname': 'Robert', 'surname': 'Baratheon', 'password': 'iamthekingoftheworld', 'city': "King's Landing", 'description': 'Robert Lanister', 'groups': ['Baratheon', 'Domain Admins', 'Small Council', 'Protected Users'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'joffrey.baratheon', 'value': {'firstname': 'Joffrey', 'surname': 'Baratheon', 'password': '1killerlion', 'city': "King's Landing", 'description': 'Joffrey Baratheon', 'groups': ['Baratheon', 'Lannister'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'renly.baratheon', 'value': {'firstname': 'Renly', 'surname': 'Baratheon', 'password': 'lorastyrell', 'city': "King's Landing", 'description': 'Renly Baratheon', 'groups': ['Baratheon', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'stannis.baratheon', 'value': {'firstname': 'Stannis', 'surname': 'Baratheon', 'password': 'Drag0nst0ne', 'city': "King's Landing", 'description': 'Stannis Baratheon', 'groups': ['Baratheon', 'Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'petyer.baelish', 'value': {'firstname': 'Petyer', 'surname': 'Baelish', 'password': '@littlefinger@', 'city': "King's Landing", 'description': 'Petyer Baelish', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'lord.varys', 'value': {'firstname': 'Lord', 'surname': 'Varys', 'password': '_W1sper_$', 'city': "King's Landing", 'description': 'Lord Varys', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'maester.pycelle', 'value': {'firstname': 'Maester', 'surname': 'Pycelle', 'password': 'MaesterOfMaesters', 'city': "King's Landing", 'description': 'Maester Pycelle', 'groups': ['Small Council'], 'path': 'OU=Crownlands,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'lysa.arryn', 'value': {'firstname': 'Lysa', 'surname': 'Arryn', 'password': 'rob1nIsMyHeart', 'city': 'The Eyries', 'description': 'Lysa Arryn', 'groups': ['Arryn'], 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
changed: [dc01] => (item={'key': 'robin.arryn', 'value': {'firstname': 'Robin', 'surname': 'Arryn', 'password': 'mommy', 'city': 'The Eyries', 'description': 'Robin Arryn', 'groups': ['Arryn'], 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Set users SPN lists on dc01]
 [started TASK: ad : Assign managed_by domainlocal groups on dc01]
 [started TASK: ad : Assign managed_by universal groups on dc01]
 [started TASK: ad : Assign managed_by global groups on dc01]

TASK [ad : Assign managed_by global groups] **************************************************************************************
ok: [dc01] => (item={'key': 'Lannister', 'value': {'managed_by': 'tywin.lannister', 'path': 'OU=Westerlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Baratheon', 'value': {'managed_by': 'robert.baratheon', 'path': 'OU=Stormlands,DC=sevenkingdoms,DC=local'}})
ok: [dc01] => (item={'key': 'Arryn', 'value': {'managed_by': 'lysa.arryn', 'path': 'OU=Vale,DC=sevenkingdoms,DC=local'}})
 [started TASK: ad : Add members to the Universal group, preserving existing membership on dc01]
 [started TASK: ad : Add members to the Global group, preserving existing membership on dc01]
 [started TASK: ad : Add members to the Domainlocal group, preserving existing membership on dc01]

PLAY [Install new server] ********************************************************************************************************
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv01]
 [started TASK: common : Force a DNS on the adapter {{nat_adapter}} on srv01]
 [started TASK: common : Set a proxy for specific protocols on srv01]
 [started TASK: common : Configure IE to use a specific proxy per protocol on srv01]
 [started TASK: common : Upgrade module PowerShellGet to fix accept license issue on last windows ansible version on srv01]

TASK [common : Upgrade module PowerShellGet to fix accept license issue on last windows ansible version] *************************
changed: [srv01]
 [started TASK: common : Windows | Check for ComputerManagementDsc Powershell module on srv01]

TASK [common : Windows | Check for ComputerManagementDsc Powershell module] ******************************************************
ok: [srv01]
 [started TASK: common : Windows | Enable Remote Desktop on srv01]

TASK [common : Windows | Enable Remote Desktop] **********************************************************************************
ok: [srv01]
 [started TASK: common : Windows | Check for xNetworking Powershell module on srv01]

TASK [common : Windows | Check for xNetworking Powershell module] ****************************************************************
ok: [srv01]
 [started TASK: common : Firewall | Allow RDP through Firewall on srv01]

TASK [common : Firewall | Allow RDP through Firewall] ****************************************************************************
ok: [srv01]
 [started TASK: common : Add a network static route on srv01]
 [started TASK: settings/keyboard : Add Keyboard Layouts registry key on srv01]

TASK [settings/keyboard : Add Keyboard Layouts registry key] *********************************************************************
ok: [srv01] => (item=0000040C)
ok: [srv01] => (item=00000409)
 [started TASK: settings/keyboard : Add Keyboard Layouts registry key for default users on srv01]

TASK [settings/keyboard : Add Keyboard Layouts registry key for default users] ***************************************************
ok: [srv01] => (item=0000040C)
ok: [srv01] => (item=00000409)
 [started TASK: settings/no_updates : Disable windows update on srv01]

TASK [settings/no_updates : Disable windows update] ******************************************************************************
changed: [srv01]
 [started TASK: settings/admin_password : Ensure that Admin is present with a valid password on srv01]

TASK [settings/admin_password : Ensure that Admin is present with a valid password] **********************************************
ok: [srv01]
 [started TASK: settings/hostname : Change the hostname on srv01]

TASK [settings/hostname : Change the hostname] ***********************************************************************************
ok: [srv01]
 [started TASK: settings/hostname : Reboot if needed on srv01]
 [started TASK: member_server : prioritize the {{domain_adapter}} interface (local) as the default for routing on srv01]

TASK [member_server : prioritize the Ethernet1 interface (local) as the default for routing] *************************************
changed: [srv01]
 [started TASK: member_server : Set configure dns to {{dns_domain}} on srv01]

TASK [member_server : Set configure dns to dc01] *********************************************************************************
ok: [srv01]
 [started TASK: member_server : Verify File Server Role is installed. on srv01]

TASK [member_server : Verify File Server Role is installed.] *********************************************************************
ok: [srv01]
 [started TASK: member_server : Add member server on srv01]

TASK [member_server : Add member server] *****************************************************************************************
ok: [srv01]
 [started TASK: member_server : Reboot if needed on srv01]
 [started TASK: settings/adjust_rights : Add domain users to local groups on srv01]

TASK [settings/adjust_rights : Add domain users to local groups] *****************************************************************
ok: [srv01] => (item={'key': 'Administrators', 'value': ['sevenkingdoms\\lysa.arryn']})
ok: [srv01] => (item={'key': 'Remote Desktop Users', 'value': ['sevenkingdoms\\Arryn']})
 [started TASK: settings/user_rights : Add remote desktop and administrators group to rdp on srv01]

TASK [settings/user_rights : Add remote desktop and administrators group to rdp] *************************************************
ok: [srv01]

PLAY [Synchronize all domains] ***************************************************************************************************
 [started TASK: Gathering Facts on dc01]
 [started TASK: Gathering Facts on dc02]
 [started TASK: Gathering Facts on dc03]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [dc03]
ok: [dc01]
ok: [dc02]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc01]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc02]
 [started TASK: sync_domains : synchronizes all domains before change schema on dc03]

TASK [sync_domains : synchronizes all domains before change schema] **************************************************************
changed: [dc03]
changed: [dc01]
changed: [dc02]

PLAY [Install exchange] **********************************************************************************************************
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Check if Exchange is installed on srv01]

TASK [ludus_exchange : Check if Exchange is installed] ***************************************************************************
ok: [srv01]
 [started TASK: ludus_exchange : Download Exchange ISO for Windows Server 2016 on srv01]
 [started TASK: ludus_exchange : Download Exchange ISO for Windows Server 2019 on srv01]
 [started TASK: ludus_exchange : Ludus Exchange Server features to be installed on srv01]
 [started TASK: ludus_exchange : Install Exchange Server for Windows Server 2016 on srv01]
 [started TASK: ludus_exchange : Install Exchange Server for Windows Server 2019 on srv01]
 [started TASK: ludus_exchange : Create ad users mailbox on srv01]

TASK [ludus_exchange : Create ad users mailbox] **********************************************************************************
included: /home/vagrant/GOAD/extensions/exchange/ansible/roles/ludus_exchange/tasks/ludus-create-mailbox.yml for srv01
 [started TASK: ludus_exchange : Enable Mailbox for all AD users on srv01]

TASK [ludus_exchange : Enable Mailbox for all AD users] **************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Disable mailbox splash screen on srv01]

TASK [ludus_exchange : Disable mailbox splash screen] ****************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Setup internal dns adapter on srv01]

TASK [ludus_exchange : Setup internal dns adapter] *******************************************************************************
included: /home/vagrant/GOAD/extensions/exchange/ansible/roles/ludus_exchange/tasks/ludus-exchange-dns.yml for srv01
 [started TASK: ludus_exchange : Configure InternalDNSAdapter on srv01]

TASK [ludus_exchange : Configure InternalDNSAdapter] *****************************************************************************
changed: [srv01]
 [started TASK: ludus_exchange : Restart the Exchange Transport service on srv01]

TASK [ludus_exchange : Restart the Exchange Transport service] *******************************************************************
changed: [srv01]

PLAY [Add exchange mail reader bot] **********************************************************************************************
 [started TASK: Gathering Facts on srv01]

TASK [Gathering Facts] ***********************************************************************************************************
ok: [srv01]
 [started TASK: exchange_bot : create setup folder on srv01]

TASK [exchange_bot : create setup folder] ****************************************************************************************
changed: [srv01]
 [started TASK: exchange_bot : Copy scripts on srv01]

TASK [exchange_bot : Copy scripts] ***********************************************************************************************
changed: [srv01] => (item=botScheduler.ps1)
changed: [srv01] => (item=readMail.ps1)
 [started TASK: exchange_bot : Create schedule task bot_scheduler on srv01]

TASK [exchange_bot : Create schedule task bot_scheduler] *************************************************************************
changed: [srv01]

PLAY RECAP ***********************************************************************************************************************
dc01                       : ok=18   changed=2    unreachable=0    failed=0    skipped=8    rescued=0    ignored=0
dc02                       : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
dc03                       : ok=5    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
srv01                      : ok=32   changed=10   unreachable=0    failed=0    skipped=11   rescued=0    ignored=0
srv02                      : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
srv03                      : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Connection to 192.168.56.3 closed.
[*] Provision extension done in 04:47:05

Error messages:

Image Image

Some additional information that could be useful in resolving the issue:

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions