From bd74975c614993c7664e15b3446f6b2727eaf23a Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 4 Mar 2020 16:28:49 +0000 Subject: [PATCH 01/30] Moved to a common deployment folder --- .../common}/Configuration.psm1 | 0 .../common}/Deployments.psm1 | 0 .../common}/GenerateSasToken.psm1 | 0 .../common}/Logging.psm1 | 0 .../common}/Mirrors.psm1 | 0 .../common}/Security.psm1 | 0 .../common}/remote/Configure_Windows.ps1 | 0 .../common}/remote/Install_Powershell_Modules.ps1 | 0 .../Shutdown_SHM_Deployment_VMs.ps1 | 0 .../Shutdown_SHM_IAAM_VMs.ps1 | 0 .../Shutdown_SHM_Mirror_VMs.ps1 | 0 .../Start_SHM_Deployment_VMs.ps1 | 0 .../Start_SHM_IAAM_VMs.ps1 | 0 .../Start_SHM_Mirror_VMs.ps1 | 0 .../Teardown_SHM.ps1 | 0 .../arm_templates/shmdc/dscdc1/CreateADPDC.zip | Bin .../shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.schema.mof | 0 .../MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 | 0 .../DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 .../MSFT_xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADForestProperties.psm1 | 0 .../MSFT_xADForestProperties.schema.mof | 0 .../en-us/MSFT_xADForestProperties.strings.psd1 | 0 .../DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADObjectPermissionEntry.psm1 | 0 .../MSFT_xADObjectPermissionEntry.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../Examples/xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../MSFT_xADReplicationSite.psm1 | 0 .../MSFT_xADReplicationSite.schema.mof | 0 .../MSFT_xADReplicationSiteLink.psm1 | 0 .../MSFT_xADReplicationSiteLink.schema.mof | 0 .../en-US/MSFT_xADReplicationSiteLink.strings.psd1 | 0 .../MSFT_xADReplicationSubnet.psm1 | 0 .../MSFT_xADReplicationSubnet.schema.mof | 0 .../MSFT_xADServicePrincipalName.psm1 | 0 .../MSFT_xADServicePrincipalName.schema.mof | 0 .../DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Examples/Sample_xFirewall_AddFirewallRule.ps1 | 0 ...ple_xFirewall_AddFirewallRuleToExistingGroup.ps1 | 0 .../Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 .../Sample_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Examples/Sample_xIPAddress_Parameterized.ps1 | 0 .../dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../xPendingReboot/0.3.0.0/xPendingReboot.psd1 | 0 .../2.9.0.0/DSCResources/CommonResourceHelper.psm1 | 0 .../2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../DSCResources/StorageCommon/StorageCommon.psm1 | 0 .../StorageCommon/en-us/StorageCommon.strings.psd1 | 0 .../CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 | 0 .../arm_templates/shmdc/dscdc2/CreateADBDC.zip | Bin .../shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.schema.mof | 0 .../MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 | 0 .../DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController - Copy.psm1 | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 .../MSFT_xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADForestProperties.psm1 | 0 .../MSFT_xADForestProperties.schema.mof | 0 .../en-us/MSFT_xADForestProperties.strings.psd1 | 0 .../DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADObjectPermissionEntry.psm1 | 0 .../MSFT_xADObjectPermissionEntry.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../Examples/xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../MSFT_xADReplicationSite.psm1 | 0 .../MSFT_xADReplicationSite.schema.mof | 0 .../MSFT_xADReplicationSiteLink.psm1 | 0 .../MSFT_xADReplicationSiteLink.schema.mof | 0 .../en-US/MSFT_xADReplicationSiteLink.strings.psd1 | 0 .../MSFT_xADReplicationSubnet.psm1 | 0 .../MSFT_xADReplicationSubnet.schema.mof | 0 .../MSFT_xADServicePrincipalName.psm1 | 0 .../MSFT_xADServicePrincipalName.schema.mof | 0 .../DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../CreateADBDC/xDnsServer/DSCResources/Helper.psm1 | 0 .../MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 | 0 .../MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof | 0 .../MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 | 0 .../MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof | 0 .../DSCResources/MSFT_xDnsServerADZone/Helper.psm1 | 0 .../MSFT_xDnsServerADZone.psm1 | 0 .../MSFT_xDnsServerADZone.schema.mof | 0 .../MSFT_xDnsServerForwarder.psm1 | 0 .../MSFT_xDnsServerForwarder.schema.mof | 0 .../MSFT_xDnsServerPrimaryZone.psm1 | 0 .../MSFT_xDnsServerPrimaryZone.schema.mof | 0 .../MSFT_xDnsServerSecondaryZone.psm1 | 0 .../MSFT_xDnsServerSecondaryZone.schema.mof | 0 .../MSFT_xDnsServerZoneTransfer.psm1 | 0 .../MSFT_xDnsServerZoneTransfer.schema.mof | 0 .../dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Examples/Sample_xFirewall_AddFirewallRule.ps1 | 0 ...ple_xFirewall_AddFirewallRuleToExistingGroup.ps1 | 0 .../Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 .../Sample_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Examples/Sample_xIPAddress_Parameterized.ps1 | 0 .../dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../xPendingReboot/0.3.0.0/xPendingReboot.psd1 | 0 .../2.9.0.0/DSCResources/CommonResourceHelper.psm1 | 0 .../2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../DSCResources/StorageCommon/StorageCommon.psm1 | 0 .../StorageCommon/en-us/StorageCommon.strings.psd1 | 0 .../CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 | 0 .../arm_templates/shmdc/shm-dc-template.json | 0 .../arm_templates/shmnps/shm-nps-template.json | 0 .../arm_templates/shmvnet/shm-vnet-template.json | 0 .../azure-runbooks/images/AAD.png | Bin .../images/aad_dns_record_details.png | Bin .../azure-runbooks/images/aad_mfa_settings.png | Bin .../images/aad_permissions_properties.png | Bin .../images/aad_permissions_security.png | Bin .../azure-runbooks/images/blobstorage.png | Bin .../azure-runbooks/images/certificate_details.png | Bin .../azure-runbooks/images/create_aad_dns_record.png | Bin .../azure-runbooks/images/enable_passwordreset.png | Bin .../azure-runbooks/images/enable_writeback.png | Bin .../azure-runbooks/images/nps_accounting.png | Bin .../azure-runbooks/images/nps_network_policies.png | Bin .../azure-runbooks/images/resource_groups.png | Bin .../azure-runbooks/images/set_user_location.png | Bin .../azure-runbooks/images/sre-rds-sh-packages.png | Bin .../azure-runbooks/images/synchronisation_rules.png | Bin .../azure-runbooks/shm_build_instructions.md | 0 .../cloud_init/cloud-init-mirror-external-cran.yaml | 0 .../cloud_init/cloud-init-mirror-external-pypi.yaml | 0 .../cloud_init/cloud-init-mirror-internal-cran.yaml | 0 .../cloud_init/cloud-init-mirror-internal-pypi.yaml | 0 .../scripts/shmdc/artifacts/CreateUsers.ps1 | 0 .../shmdc/artifacts/Disconnect_AD.template.ps1 | 0 .../scripts/shmdc/artifacts/GPOs.zip | Bin .../scripts/shmdc/artifacts/Run_ADSync.ps1 | 0 .../shmdc/remote/Active_Directory_Configuration.ps1 | 0 .../shmdc/remote/Active_Directory_Delegation.ps1 | 0 .../shmdc/remote/Configure_Group_Policies.ps1 | 0 .../scripts/shmdc/remote/Import_Artifacts.ps1 | 0 .../scripts/shmnps/remote/Prepare_NPS_Server.ps1 | 0 .../setup/.gitignore | 0 .../setup/create_package_mirrors.ps1 | 0 .../setup/setup_shm_dc.ps1 | 0 .../setup/setup_shm_keyvault.ps1 | 0 .../setup/setup_shm_nps.ps1 | 0 .../setup/teardown_package_mirrors.ps1 | 0 ...fe Haven Environment High-Level Design Brief.pdf | Bin .../environment_access/01_certificate_expiry.png | Bin .../images/environment_access/02_password_login.png | Bin .../images/environment_access/03_shared_vm.png | Bin .../environment_access/04_compute_vm_login.png | Bin .../04_compute_vm_login_failure.png | Bin ...copy_test_files_from_dataserver_to_shared_vm.png | Bin .../azure-runbooks/images/media/image10.png | Bin .../azure-runbooks/images/media/image11.png | Bin .../azure-runbooks/images/media/image12.png | Bin .../azure-runbooks/images/media/image13.png | Bin .../azure-runbooks/images/media/image14.png | Bin .../azure-runbooks/images/media/image15.png | Bin .../azure-runbooks/images/media/image16.png | Bin .../azure-runbooks/images/media/image17.png | Bin .../azure-runbooks/images/media/image18.png | Bin .../azure-runbooks/images/media/image19.png | Bin .../azure-runbooks/images/media/image2.png | Bin .../azure-runbooks/images/media/image20.png | Bin .../azure-runbooks/images/media/image28.png | Bin .../azure-runbooks/images/media/image29.png | Bin .../azure-runbooks/images/media/image3.png | Bin .../azure-runbooks/images/media/image30.png | Bin .../azure-runbooks/images/media/image31.png | Bin .../azure-runbooks/images/media/image32.png | Bin .../azure-runbooks/images/media/image33.png | Bin .../azure-runbooks/images/media/image34.png | Bin .../azure-runbooks/images/media/image35.png | Bin .../azure-runbooks/images/media/image36.png | Bin .../azure-runbooks/images/media/image37.png | Bin .../azure-runbooks/images/media/image38.png | Bin .../azure-runbooks/images/media/image5.png | Bin .../azure-runbooks/images/media/image6.png | Bin .../azure-runbooks/images/media/image7.png | Bin .../azure-runbooks/images/media/image8.png | Bin .../azure-runbooks/images/media/image9.png | Bin .../media/rds_local_nps_remote_server_selection.png | Bin .../media/rds_local_nps_remote_server_timeouts.png | Bin .../media/transfer_test_files_to_dataserver.png | Bin .../package_mirrors/01_internal_mirror_packages.png | Bin .../azure-runbooks/images/rd_gateway_manager_01.png | Bin .../azure-runbooks/images/rd_gateway_manager_02.png | Bin .../azure-runbooks/images/rd_gateway_manager_03.png | Bin .../images/rd_gateway_session_hosts_01.png | Bin .../images/rd_gateway_session_hosts_02.png | Bin .../images/rd_gateway_session_hosts_03.png | Bin .../images/rd_gateway_session_hosts_04.png | Bin .../azure-runbooks/images/subdomain_ns_record.png | Bin .../azure-runbooks/images/vpn/point_to_site.png | Bin .../azure-runbooks/images/vpn_client.png | Bin .../azure-runbooks/sre_build_instructions.md | 0 .../azure-runbooks/troubleshooting.md | 0 .../README-parallel-deploy-using-azure-vms.md | 0 .../azure-vms/cloud-init-deployment-vm.yaml | 0 .../azure-vms/configs/images.sh | 0 .../azure-vms/configs/mirrors.sh | 0 .../azure-vms/configs/text.sh | 0 .../azure-vms/deploy_azure_compute_vm.sh | 0 .../azure-vms/deploy_azure_deployment_pool_vm.sh | 0 .../azure-vms/fetch_lanl_summary_data.sh | 0 .../azure-vms/peer_mirrors_to_compute_vms.sh | 0 .../azure-vms/register_all.sh | 0 .../azure-vms/transfer_lanl_data_to_azure.sh | 0 .../create-users/README.md | 0 .../create-users/UserCreate.csv | 0 .../secure_research_environment}/default.latex | 0 .../01_configure_shm_dc/Prepare_SHM.ps1 | 0 .../Remove_SRE_Data_From_SHM.ps1 | 0 .../Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 | 0 .../Create_New_SRE_User_Service_Accounts_Remote.ps1 | 0 .../Remove_AD_Trust_Remote.ps1 | 0 .../Remove_DNS_Entries_Remote.ps1 | 0 .../Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../Remove_Users_And_Groups_Remote.ps1 | 0 .../02_create_vnet/Create_VNET.ps1 | 0 .../02_create_vnet/sre-vnet-gateway-template.json | 0 .../03_create_dc/Setup_SRE_DC.ps1 | 0 .../artifacts/sre-dc-ad-setup-scripts/dc-create.zip | Bin .../sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 | 0 .../DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 | 0 .../DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.schema.mof | 0 .../MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 | 0 .../DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 .../MSFT_xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../Examples/xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../source/xActiveDirectory/xActiveDirectory.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Examples/Sample_xFirewall_AddFirewallRule.ps1 | 0 ...ple_xFirewall_AddFirewallRuleToExistingGroup.ps1 | 0 .../Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 .../Sample_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Examples/Sample_xIPAddress_Parameterized.ps1 | 0 .../source/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../source/xPendingReboot/0.3.0.0/LICENSE | 0 .../xPendingReboot/0.3.0.0/PSGetModuleInfo.xml | Bin .../source/xPendingReboot/0.3.0.0/README.md | 0 .../0.3.0.0/Tests/xPendingReboot.tests.ps1 | 0 .../source/xPendingReboot/0.3.0.0/appveyor.yml | 0 .../xPendingReboot/0.3.0.0/xPendingReboot.psd1 | 0 .../2.9.0.0/DSCResources/CommonResourceHelper.psm1 | 0 .../2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../DSCResources/StorageCommon/StorageCommon.psm1 | 0 .../StorageCommon/en-us/StorageCommon.strings.psd1 | 0 .../2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 | 0 .../Sample_InitializeDataDiskWithAccessPath.ps1 | 0 .../Examples/Sample_xMountImage_DismountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountVHD.ps1 | 0 .../source/xStorage/2.9.0.0/LICENSE | 0 .../source/xStorage/2.9.0.0/PSGetModuleInfo.xml | Bin .../source/xStorage/2.9.0.0/README.md | 0 .../Tests/Integration/IntegrationTestsCommon.psm1 | 0 .../Integration/MSFT_xDisk.Integration.Tests.ps1 | 0 .../2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 | 0 .../MSFT_xDiskAccessPath.Integration.Tests.ps1 | 0 .../Integration/MSFT_xDiskAccessPath.config.ps1 | 0 .../MSFT_xMountImage_ISO.Integration.Tests.ps1 | 0 .../MSFT_xMountImage_VHD.Integration.Tests.ps1 | 0 .../MSFT_xMountImage_dismount.config.ps1 | 0 .../Integration/MSFT_xMountImage_mount.config.ps1 | 0 .../MSFT_xWaitForDisk.Integration.Tests.ps1 | 0 .../Tests/Integration/MSFT_xWaitForDisk.config.ps1 | 0 .../MSFT_xWaitForVolume.Integration.Tests.ps1 | 0 .../Integration/MSFT_xWaitForVolume.config.ps1 | 0 .../2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 | 0 .../2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 | 0 .../2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 | 0 .../2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xWaitForVolume.tests.ps1 | 0 .../2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 | 0 .../source/xStorage/2.9.0.0/xStorage.psd1 | 0 .../artifacts/sre-dc-configuration/GPOs.zip | Bin .../StartMenuLayoutModification.xml | 0 .../sre-dc-configuration/source/GPOs/manifest.xml | 0 .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../DomainSysvol/GPO/Machine/registry.pol | Bin .../DomainSysvol/GPO/User/comment.cmtx | 0 .../DomainSysvol/GPO/User/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../GPO/User/Preferences/Drives/Drives.xml | 0 .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../DomainSysvol/GPO/Machine/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../03_create_dc/remote_scripts/Configure_DNS.ps1 | 0 .../remote_scripts/Configure_Domain_Trust.ps1 | 0 .../03_create_dc/remote_scripts/Configure_GPOs.ps1 | 0 .../remote_scripts/Create_Users_Groups_OUs.ps1 | 0 .../remote_scripts/Import_Artifacts.ps1 | 0 .../03_create_dc/sre-dc-template.json | 0 .../CreateUpdate_Signed_Ssl_Certificate.ps1 | 0 .../04_create_rds/Setup_SRE_RDS_Servers.ps1 | 0 .../Add_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../remote_scripts/Import_Artifacts.ps1 | 0 .../Install_Additional_Powershell_Modules.ps1 | 0 .../remote_scripts/Install_Packages.ps1 | 0 .../remote_scripts/Install_Signed_Ssl_Cert.ps1 | 0 .../remote_scripts/Move_RDS_VMs_Into_OUs.ps1 | 0 .../remote_scripts/Set_OS_Locale_and_DNS.ps1 | 0 .../04_create_rds/sre-rds-template.json | 0 .../templates/Deploy_RDS_Environment.template.ps1 | 0 .../04_create_rds/templates/ServerList.template.xml | 0 .../04_create_rds/templates/Set-RDPublishedName.ps1 | 0 .../05_create_dataserver/Setup_Data_Server.ps1 | 0 .../remote_scripts/Configure_Data_Server_Remote.ps1 | 0 .../remote_scripts/Move_Data_Server_VM_Into_OU.ps1 | 0 .../sre-data-server-template.json | 0 .../Create_Web_App_Servers.ps1 | 0 .../sre-webapps-template.json | 0 .../07_deploy_compute_vms/Create_Compute_VM.ps1 | 0 .../07_deploy_compute_vms/Reset_Ldap_Password.ps1 | 0 .../Run_Remote_Diagnostics.ps1 | 0 .../remote_scripts/ResetLdapPasswordOnAD.ps1 | 0 .../remote_scripts/check_ldap_connection.sh | 0 .../remote_scripts/create_postgres_roles.sh | 0 .../remote_scripts/rerun_realm_join.sh | 0 .../remote_scripts/reset_ldap_password.sh | 0 .../restart_name_resolution_service.sh | 0 .../remote_scripts/restart_sssd_service.sh | 0 .../remote_scripts/upload_smoke_tests.sh | 0 .../Apply_Network_Configuration.ps1 | 0 .../Unpeer_Sre_And_Mirror_Networks.ps1 | 0 .../remote_scripts/update_mirror_settings.sh | 0 .../sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 | 0 .../sre_deploy_scripts/Shutdown_SRE_VMs.ps1 | 0 .../sre_deploy_scripts/Start_SRE_VMs.ps1 | 0 .../sre_deploy_scripts/Teardown_SRE.ps1 | 0 476 files changed, 0 insertions(+), 0 deletions(-) rename {common_powershell => deployment/common}/Configuration.psm1 (100%) rename {common_powershell => deployment/common}/Deployments.psm1 (100%) rename {common_powershell => deployment/common}/GenerateSasToken.psm1 (100%) rename {common_powershell => deployment/common}/Logging.psm1 (100%) rename {common_powershell => deployment/common}/Mirrors.psm1 (100%) rename {common_powershell => deployment/common}/Security.psm1 (100%) rename {common_powershell => deployment/common}/remote/Configure_Windows.ps1 (100%) rename {common_powershell => deployment/common}/remote/Install_Powershell_Modules.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Shutdown_SHM_Deployment_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Shutdown_SHM_IAAM_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Shutdown_SHM_Mirror_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Start_SHM_Deployment_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Start_SHM_IAAM_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Start_SHM_Mirror_VMs.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/Teardown_SHM.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC.zip (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC.zip (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmdc/shm-dc-template.json (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmnps/shm-nps-template.json (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/arm_templates/shmvnet/shm-vnet-template.json (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/AAD.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/aad_dns_record_details.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/aad_mfa_settings.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/aad_permissions_properties.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/aad_permissions_security.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/blobstorage.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/certificate_details.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/create_aad_dns_record.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/enable_passwordreset.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/enable_writeback.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/nps_accounting.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/nps_network_policies.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/resource_groups.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/set_user_location.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/sre-rds-sh-packages.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/images/synchronisation_rules.png (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/azure-runbooks/shm_build_instructions.md (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/cloud_init/cloud-init-mirror-external-cran.yaml (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/cloud_init/cloud-init-mirror-external-pypi.yaml (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/cloud_init/cloud-init-mirror-internal-cran.yaml (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/cloud_init/cloud-init-mirror-internal-pypi.yaml (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/artifacts/CreateUsers.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/artifacts/GPOs.zip (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/artifacts/Run_ADSync.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/remote/Active_Directory_Configuration.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/remote/Active_Directory_Delegation.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/remote/Configure_Group_Policies.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmdc/remote/Import_Artifacts.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/scripts/shmnps/remote/Prepare_NPS_Server.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/.gitignore (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/create_package_mirrors.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/setup_shm_dc.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/setup_shm_keyvault.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/setup_shm_nps.ps1 (100%) rename {safe_haven_management_environment => deployment/safe_haven_management_environment}/setup/teardown_package_mirrors.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/Safe Haven Environment High-Level Design Brief.pdf (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/environment_access/01_certificate_expiry.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/environment_access/02_password_login.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/environment_access/03_shared_vm.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/environment_access/04_compute_vm_login.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image10.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image11.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image12.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image13.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image14.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image15.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image16.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image17.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image18.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image19.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image2.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image20.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image28.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image29.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image3.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image30.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image31.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image32.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image33.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image34.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image35.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image36.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image37.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image38.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image5.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image6.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image7.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image8.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/image9.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/media/transfer_test_files_to_dataserver.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_manager_01.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_manager_02.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_manager_03.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_session_hosts_01.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_session_hosts_02.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_session_hosts_03.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/rd_gateway_session_hosts_04.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/subdomain_ns_record.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/vpn/point_to_site.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/images/vpn_client.png (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/sre_build_instructions.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-runbooks/troubleshooting.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/README-parallel-deploy-using-azure-vms.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/cloud-init-deployment-vm.yaml (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/configs/images.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/configs/mirrors.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/configs/text.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/deploy_azure_compute_vm.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/deploy_azure_deployment_pool_vm.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/fetch_lanl_summary_data.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/peer_mirrors_to_compute_vms.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/register_all.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/azure-vms/transfer_lanl_data_to_azure.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/create-users/README.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/create-users/UserCreate.csv (100%) rename {secure_research_environment => deployment/secure_research_environment}/default.latex (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/03_create_dc/sre-dc-template.json (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/sre-rds-template.json (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/Start_SRE_VMs.ps1 (100%) rename {secure_research_environment => deployment/secure_research_environment}/sre_deploy_scripts/Teardown_SRE.ps1 (100%) diff --git a/common_powershell/Configuration.psm1 b/deployment/common/Configuration.psm1 similarity index 100% rename from common_powershell/Configuration.psm1 rename to deployment/common/Configuration.psm1 diff --git a/common_powershell/Deployments.psm1 b/deployment/common/Deployments.psm1 similarity index 100% rename from common_powershell/Deployments.psm1 rename to deployment/common/Deployments.psm1 diff --git a/common_powershell/GenerateSasToken.psm1 b/deployment/common/GenerateSasToken.psm1 similarity index 100% rename from common_powershell/GenerateSasToken.psm1 rename to deployment/common/GenerateSasToken.psm1 diff --git a/common_powershell/Logging.psm1 b/deployment/common/Logging.psm1 similarity index 100% rename from common_powershell/Logging.psm1 rename to deployment/common/Logging.psm1 diff --git a/common_powershell/Mirrors.psm1 b/deployment/common/Mirrors.psm1 similarity index 100% rename from common_powershell/Mirrors.psm1 rename to deployment/common/Mirrors.psm1 diff --git a/common_powershell/Security.psm1 b/deployment/common/Security.psm1 similarity index 100% rename from common_powershell/Security.psm1 rename to deployment/common/Security.psm1 diff --git a/common_powershell/remote/Configure_Windows.ps1 b/deployment/common/remote/Configure_Windows.ps1 similarity index 100% rename from common_powershell/remote/Configure_Windows.ps1 rename to deployment/common/remote/Configure_Windows.ps1 diff --git a/common_powershell/remote/Install_Powershell_Modules.ps1 b/deployment/common/remote/Install_Powershell_Modules.ps1 similarity index 100% rename from common_powershell/remote/Install_Powershell_Modules.ps1 rename to deployment/common/remote/Install_Powershell_Modules.ps1 diff --git a/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 b/deployment/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 rename to deployment/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 diff --git a/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 b/deployment/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 rename to deployment/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 diff --git a/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 b/deployment/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 rename to deployment/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 diff --git a/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 b/deployment/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 rename to deployment/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 diff --git a/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 b/deployment/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 rename to deployment/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 diff --git a/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 b/deployment/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 similarity index 100% rename from safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 rename to deployment/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 diff --git a/safe_haven_management_environment/Teardown_SHM.ps1 b/deployment/safe_haven_management_environment/Teardown_SHM.ps1 similarity index 100% rename from safe_haven_management_environment/Teardown_SHM.ps1 rename to deployment/safe_haven_management_environment/Teardown_SHM.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 b/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 diff --git a/safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json b/deployment/safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json similarity index 100% rename from safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json rename to deployment/safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json diff --git a/safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json b/deployment/safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json similarity index 100% rename from safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json rename to deployment/safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json diff --git a/safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json b/deployment/safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json similarity index 100% rename from safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json rename to deployment/safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json diff --git a/safe_haven_management_environment/azure-runbooks/images/AAD.png b/deployment/safe_haven_management_environment/azure-runbooks/images/AAD.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/AAD.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/AAD.png diff --git a/safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png b/deployment/safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png diff --git a/safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png b/deployment/safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png diff --git a/safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png b/deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png diff --git a/safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png b/deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png diff --git a/safe_haven_management_environment/azure-runbooks/images/blobstorage.png b/deployment/safe_haven_management_environment/azure-runbooks/images/blobstorage.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/blobstorage.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/blobstorage.png diff --git a/safe_haven_management_environment/azure-runbooks/images/certificate_details.png b/deployment/safe_haven_management_environment/azure-runbooks/images/certificate_details.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/certificate_details.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/certificate_details.png diff --git a/safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png b/deployment/safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png diff --git a/safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png b/deployment/safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png diff --git a/safe_haven_management_environment/azure-runbooks/images/enable_writeback.png b/deployment/safe_haven_management_environment/azure-runbooks/images/enable_writeback.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/enable_writeback.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/enable_writeback.png diff --git a/safe_haven_management_environment/azure-runbooks/images/nps_accounting.png b/deployment/safe_haven_management_environment/azure-runbooks/images/nps_accounting.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/nps_accounting.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/nps_accounting.png diff --git a/safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png b/deployment/safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png diff --git a/safe_haven_management_environment/azure-runbooks/images/resource_groups.png b/deployment/safe_haven_management_environment/azure-runbooks/images/resource_groups.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/resource_groups.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/resource_groups.png diff --git a/safe_haven_management_environment/azure-runbooks/images/set_user_location.png b/deployment/safe_haven_management_environment/azure-runbooks/images/set_user_location.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/set_user_location.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/set_user_location.png diff --git a/safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png b/deployment/safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png diff --git a/safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png b/deployment/safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png similarity index 100% rename from safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png rename to deployment/safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png diff --git a/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md similarity index 100% rename from safe_haven_management_environment/azure-runbooks/shm_build_instructions.md rename to deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md diff --git a/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-cran.yaml b/deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-cran.yaml similarity index 100% rename from safe_haven_management_environment/cloud_init/cloud-init-mirror-external-cran.yaml rename to deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-cran.yaml diff --git a/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-pypi.yaml b/deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-pypi.yaml similarity index 100% rename from safe_haven_management_environment/cloud_init/cloud-init-mirror-external-pypi.yaml rename to deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-external-pypi.yaml diff --git a/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-cran.yaml b/deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-cran.yaml similarity index 100% rename from safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-cran.yaml rename to deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-cran.yaml diff --git a/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-pypi.yaml b/deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-pypi.yaml similarity index 100% rename from safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-pypi.yaml rename to deployment/safe_haven_management_environment/cloud_init/cloud-init-mirror-internal-pypi.yaml diff --git a/safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip b/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip rename to deployment/safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip diff --git a/safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 diff --git a/safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 b/deployment/safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 rename to deployment/safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 diff --git a/safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 b/deployment/safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 similarity index 100% rename from safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 rename to deployment/safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 diff --git a/safe_haven_management_environment/setup/.gitignore b/deployment/safe_haven_management_environment/setup/.gitignore similarity index 100% rename from safe_haven_management_environment/setup/.gitignore rename to deployment/safe_haven_management_environment/setup/.gitignore diff --git a/safe_haven_management_environment/setup/create_package_mirrors.ps1 b/deployment/safe_haven_management_environment/setup/create_package_mirrors.ps1 similarity index 100% rename from safe_haven_management_environment/setup/create_package_mirrors.ps1 rename to deployment/safe_haven_management_environment/setup/create_package_mirrors.ps1 diff --git a/safe_haven_management_environment/setup/setup_shm_dc.ps1 b/deployment/safe_haven_management_environment/setup/setup_shm_dc.ps1 similarity index 100% rename from safe_haven_management_environment/setup/setup_shm_dc.ps1 rename to deployment/safe_haven_management_environment/setup/setup_shm_dc.ps1 diff --git a/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 b/deployment/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 similarity index 100% rename from safe_haven_management_environment/setup/setup_shm_keyvault.ps1 rename to deployment/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 diff --git a/safe_haven_management_environment/setup/setup_shm_nps.ps1 b/deployment/safe_haven_management_environment/setup/setup_shm_nps.ps1 similarity index 100% rename from safe_haven_management_environment/setup/setup_shm_nps.ps1 rename to deployment/safe_haven_management_environment/setup/setup_shm_nps.ps1 diff --git a/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 b/deployment/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 similarity index 100% rename from safe_haven_management_environment/setup/teardown_package_mirrors.ps1 rename to deployment/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 diff --git a/secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf b/deployment/secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf similarity index 100% rename from secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf rename to deployment/secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf diff --git a/secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png b/deployment/secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png rename to deployment/secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png diff --git a/secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png b/deployment/secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png rename to deployment/secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png diff --git a/secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png b/deployment/secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png rename to deployment/secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png diff --git a/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png b/deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png rename to deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png diff --git a/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png b/deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png rename to deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png diff --git a/secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png b/deployment/secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png rename to deployment/secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png diff --git a/secure_research_environment/azure-runbooks/images/media/image10.png b/deployment/secure_research_environment/azure-runbooks/images/media/image10.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image10.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image10.png diff --git a/secure_research_environment/azure-runbooks/images/media/image11.png b/deployment/secure_research_environment/azure-runbooks/images/media/image11.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image11.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image11.png diff --git a/secure_research_environment/azure-runbooks/images/media/image12.png b/deployment/secure_research_environment/azure-runbooks/images/media/image12.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image12.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image12.png diff --git a/secure_research_environment/azure-runbooks/images/media/image13.png b/deployment/secure_research_environment/azure-runbooks/images/media/image13.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image13.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image13.png diff --git a/secure_research_environment/azure-runbooks/images/media/image14.png b/deployment/secure_research_environment/azure-runbooks/images/media/image14.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image14.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image14.png diff --git a/secure_research_environment/azure-runbooks/images/media/image15.png b/deployment/secure_research_environment/azure-runbooks/images/media/image15.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image15.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image15.png diff --git a/secure_research_environment/azure-runbooks/images/media/image16.png b/deployment/secure_research_environment/azure-runbooks/images/media/image16.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image16.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image16.png diff --git a/secure_research_environment/azure-runbooks/images/media/image17.png b/deployment/secure_research_environment/azure-runbooks/images/media/image17.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image17.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image17.png diff --git a/secure_research_environment/azure-runbooks/images/media/image18.png b/deployment/secure_research_environment/azure-runbooks/images/media/image18.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image18.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image18.png diff --git a/secure_research_environment/azure-runbooks/images/media/image19.png b/deployment/secure_research_environment/azure-runbooks/images/media/image19.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image19.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image19.png diff --git a/secure_research_environment/azure-runbooks/images/media/image2.png b/deployment/secure_research_environment/azure-runbooks/images/media/image2.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image2.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image2.png diff --git a/secure_research_environment/azure-runbooks/images/media/image20.png b/deployment/secure_research_environment/azure-runbooks/images/media/image20.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image20.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image20.png diff --git a/secure_research_environment/azure-runbooks/images/media/image28.png b/deployment/secure_research_environment/azure-runbooks/images/media/image28.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image28.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image28.png diff --git a/secure_research_environment/azure-runbooks/images/media/image29.png b/deployment/secure_research_environment/azure-runbooks/images/media/image29.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image29.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image29.png diff --git a/secure_research_environment/azure-runbooks/images/media/image3.png b/deployment/secure_research_environment/azure-runbooks/images/media/image3.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image3.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image3.png diff --git a/secure_research_environment/azure-runbooks/images/media/image30.png b/deployment/secure_research_environment/azure-runbooks/images/media/image30.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image30.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image30.png diff --git a/secure_research_environment/azure-runbooks/images/media/image31.png b/deployment/secure_research_environment/azure-runbooks/images/media/image31.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image31.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image31.png diff --git a/secure_research_environment/azure-runbooks/images/media/image32.png b/deployment/secure_research_environment/azure-runbooks/images/media/image32.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image32.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image32.png diff --git a/secure_research_environment/azure-runbooks/images/media/image33.png b/deployment/secure_research_environment/azure-runbooks/images/media/image33.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image33.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image33.png diff --git a/secure_research_environment/azure-runbooks/images/media/image34.png b/deployment/secure_research_environment/azure-runbooks/images/media/image34.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image34.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image34.png diff --git a/secure_research_environment/azure-runbooks/images/media/image35.png b/deployment/secure_research_environment/azure-runbooks/images/media/image35.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image35.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image35.png diff --git a/secure_research_environment/azure-runbooks/images/media/image36.png b/deployment/secure_research_environment/azure-runbooks/images/media/image36.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image36.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image36.png diff --git a/secure_research_environment/azure-runbooks/images/media/image37.png b/deployment/secure_research_environment/azure-runbooks/images/media/image37.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image37.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image37.png diff --git a/secure_research_environment/azure-runbooks/images/media/image38.png b/deployment/secure_research_environment/azure-runbooks/images/media/image38.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image38.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image38.png diff --git a/secure_research_environment/azure-runbooks/images/media/image5.png b/deployment/secure_research_environment/azure-runbooks/images/media/image5.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image5.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image5.png diff --git a/secure_research_environment/azure-runbooks/images/media/image6.png b/deployment/secure_research_environment/azure-runbooks/images/media/image6.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image6.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image6.png diff --git a/secure_research_environment/azure-runbooks/images/media/image7.png b/deployment/secure_research_environment/azure-runbooks/images/media/image7.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image7.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image7.png diff --git a/secure_research_environment/azure-runbooks/images/media/image8.png b/deployment/secure_research_environment/azure-runbooks/images/media/image8.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image8.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image8.png diff --git a/secure_research_environment/azure-runbooks/images/media/image9.png b/deployment/secure_research_environment/azure-runbooks/images/media/image9.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/image9.png rename to deployment/secure_research_environment/azure-runbooks/images/media/image9.png diff --git a/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png b/deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png rename to deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png diff --git a/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png b/deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png rename to deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png diff --git a/secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png b/deployment/secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png rename to deployment/secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png diff --git a/secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png b/deployment/secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png rename to deployment/secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png diff --git a/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png b/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png rename to deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png diff --git a/secure_research_environment/azure-runbooks/images/subdomain_ns_record.png b/deployment/secure_research_environment/azure-runbooks/images/subdomain_ns_record.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/subdomain_ns_record.png rename to deployment/secure_research_environment/azure-runbooks/images/subdomain_ns_record.png diff --git a/secure_research_environment/azure-runbooks/images/vpn/point_to_site.png b/deployment/secure_research_environment/azure-runbooks/images/vpn/point_to_site.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/vpn/point_to_site.png rename to deployment/secure_research_environment/azure-runbooks/images/vpn/point_to_site.png diff --git a/secure_research_environment/azure-runbooks/images/vpn_client.png b/deployment/secure_research_environment/azure-runbooks/images/vpn_client.png similarity index 100% rename from secure_research_environment/azure-runbooks/images/vpn_client.png rename to deployment/secure_research_environment/azure-runbooks/images/vpn_client.png diff --git a/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md similarity index 100% rename from secure_research_environment/azure-runbooks/sre_build_instructions.md rename to deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md diff --git a/secure_research_environment/azure-runbooks/troubleshooting.md b/deployment/secure_research_environment/azure-runbooks/troubleshooting.md similarity index 100% rename from secure_research_environment/azure-runbooks/troubleshooting.md rename to deployment/secure_research_environment/azure-runbooks/troubleshooting.md diff --git a/secure_research_environment/azure-vms/README-parallel-deploy-using-azure-vms.md b/deployment/secure_research_environment/azure-vms/README-parallel-deploy-using-azure-vms.md similarity index 100% rename from secure_research_environment/azure-vms/README-parallel-deploy-using-azure-vms.md rename to deployment/secure_research_environment/azure-vms/README-parallel-deploy-using-azure-vms.md diff --git a/secure_research_environment/azure-vms/cloud-init-deployment-vm.yaml b/deployment/secure_research_environment/azure-vms/cloud-init-deployment-vm.yaml similarity index 100% rename from secure_research_environment/azure-vms/cloud-init-deployment-vm.yaml rename to deployment/secure_research_environment/azure-vms/cloud-init-deployment-vm.yaml diff --git a/secure_research_environment/azure-vms/configs/images.sh b/deployment/secure_research_environment/azure-vms/configs/images.sh similarity index 100% rename from secure_research_environment/azure-vms/configs/images.sh rename to deployment/secure_research_environment/azure-vms/configs/images.sh diff --git a/secure_research_environment/azure-vms/configs/mirrors.sh b/deployment/secure_research_environment/azure-vms/configs/mirrors.sh similarity index 100% rename from secure_research_environment/azure-vms/configs/mirrors.sh rename to deployment/secure_research_environment/azure-vms/configs/mirrors.sh diff --git a/secure_research_environment/azure-vms/configs/text.sh b/deployment/secure_research_environment/azure-vms/configs/text.sh similarity index 100% rename from secure_research_environment/azure-vms/configs/text.sh rename to deployment/secure_research_environment/azure-vms/configs/text.sh diff --git a/secure_research_environment/azure-vms/deploy_azure_compute_vm.sh b/deployment/secure_research_environment/azure-vms/deploy_azure_compute_vm.sh similarity index 100% rename from secure_research_environment/azure-vms/deploy_azure_compute_vm.sh rename to deployment/secure_research_environment/azure-vms/deploy_azure_compute_vm.sh diff --git a/secure_research_environment/azure-vms/deploy_azure_deployment_pool_vm.sh b/deployment/secure_research_environment/azure-vms/deploy_azure_deployment_pool_vm.sh similarity index 100% rename from secure_research_environment/azure-vms/deploy_azure_deployment_pool_vm.sh rename to deployment/secure_research_environment/azure-vms/deploy_azure_deployment_pool_vm.sh diff --git a/secure_research_environment/azure-vms/fetch_lanl_summary_data.sh b/deployment/secure_research_environment/azure-vms/fetch_lanl_summary_data.sh similarity index 100% rename from secure_research_environment/azure-vms/fetch_lanl_summary_data.sh rename to deployment/secure_research_environment/azure-vms/fetch_lanl_summary_data.sh diff --git a/secure_research_environment/azure-vms/peer_mirrors_to_compute_vms.sh b/deployment/secure_research_environment/azure-vms/peer_mirrors_to_compute_vms.sh similarity index 100% rename from secure_research_environment/azure-vms/peer_mirrors_to_compute_vms.sh rename to deployment/secure_research_environment/azure-vms/peer_mirrors_to_compute_vms.sh diff --git a/secure_research_environment/azure-vms/register_all.sh b/deployment/secure_research_environment/azure-vms/register_all.sh similarity index 100% rename from secure_research_environment/azure-vms/register_all.sh rename to deployment/secure_research_environment/azure-vms/register_all.sh diff --git a/secure_research_environment/azure-vms/transfer_lanl_data_to_azure.sh b/deployment/secure_research_environment/azure-vms/transfer_lanl_data_to_azure.sh similarity index 100% rename from secure_research_environment/azure-vms/transfer_lanl_data_to_azure.sh rename to deployment/secure_research_environment/azure-vms/transfer_lanl_data_to_azure.sh diff --git a/secure_research_environment/create-users/README.md b/deployment/secure_research_environment/create-users/README.md similarity index 100% rename from secure_research_environment/create-users/README.md rename to deployment/secure_research_environment/create-users/README.md diff --git a/secure_research_environment/create-users/UserCreate.csv b/deployment/secure_research_environment/create-users/UserCreate.csv similarity index 100% rename from secure_research_environment/create-users/UserCreate.csv rename to deployment/secure_research_environment/create-users/UserCreate.csv diff --git a/secure_research_environment/default.latex b/deployment/secure_research_environment/default.latex similarity index 100% rename from secure_research_environment/default.latex rename to deployment/secure_research_environment/default.latex diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json b/deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json similarity index 100% rename from secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json rename to deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json b/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json similarity index 100% rename from secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json rename to deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml diff --git a/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json b/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json similarity index 100% rename from secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json rename to deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json diff --git a/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json b/deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json similarity index 100% rename from secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json rename to deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh diff --git a/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh b/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh rename to deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh diff --git a/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh b/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh similarity index 100% rename from secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh rename to deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh diff --git a/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 diff --git a/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 b/deployment/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 similarity index 100% rename from secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 rename to deployment/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 From 6683e1482c26d9f483feb803f724019f95c8044a Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 4 Mar 2020 16:29:45 +0000 Subject: [PATCH 02/30] Moved design brief --- ...fe Haven Environment High-Level Design Brief.pdf | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename {deployment/secure_research_environment => docs}/Safe Haven Environment High-Level Design Brief.pdf (100%) diff --git a/deployment/secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf b/docs/Safe Haven Environment High-Level Design Brief.pdf similarity index 100% rename from deployment/secure_research_environment/Safe Haven Environment High-Level Design Brief.pdf rename to docs/Safe Haven Environment High-Level Design Brief.pdf From 1e9de11f17560c06fbff6133c3d805b587a7cbc4 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 4 Mar 2020 16:33:00 +0000 Subject: [PATCH 03/30] Updated configuration --- deployment/common/Configuration.psm1 | 2 +- .../azure-runbooks/sre_build_instructions.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/common/Configuration.psm1 b/deployment/common/Configuration.psm1 index 037627b0a1..6f4cc74550 100644 --- a/deployment/common/Configuration.psm1 +++ b/deployment/common/Configuration.psm1 @@ -3,7 +3,7 @@ Import-Module $PSScriptRoot/Security.psm1 -Force # Get root directory for configuration files # ------------------------------------------ function Get-ConfigRootDir { - $configRootDir = Join-Path (Get-Item $PSScriptRoot).Parent "environment_configs" -Resolve + $configRootDir = Join-Path (Get-Item $PSScriptRoot).Parent.Parent "environment_configs" -Resolve return $configRootDir } diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 13d7ea91de..49642059a4 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -131,7 +131,7 @@ - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - Open a Powershell terminal and navigate to the top-level folder within the Safe Haven repository. - Generate a new full configuration file for the new SRE using the following commands. - - `Import-Module ./common_powershell/Configuration.psm1 -Force` + - `Import-Module ./deployment/common/Configuration.psm1 -Force` - `Add-SreConfig -sreId `, where `` is a short string, e.g. `sandbox` for `sandbox.dsgroupdev.co.uk` - A full configuration file for the new SRE will be created at `environment_configs/full/sre__full_config.json`. This file is used by the subsequent steps in the SRE deployment. - Commit this new full configuration file to the Safe Haven repository From 9170df7fca6a3061899c1894fc486d3691edfa72 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Wed, 4 Mar 2020 17:08:51 +0000 Subject: [PATCH 04/30] Migrated configure_shm_dc --- .../azure-runbooks/sre_build_instructions.md | 2 +- .../Add_New_SRE_To_DNS_Remote.ps1 | 0 ...eate_New_SRE_User_Service_Accounts_Remote.ps1 | 0 .../remote_scripts}/Remove_AD_Trust_Remote.ps1 | 0 .../Remove_DNS_Entries_Remote.ps1 | 0 .../Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../Remove_Users_And_Groups_Remote.ps1 | 0 .../Prepare_SHM.ps1 | 12 ++++++------ .../Remove_SRE_Data_From_SHM.ps1 | 16 ++++++++-------- 9 files changed, 15 insertions(+), 15 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM => scripts/configure_shm_dc/remote_scripts}/Add_New_SRE_To_DNS_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM => scripts/configure_shm_dc/remote_scripts}/Create_New_SRE_User_Service_Accounts_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM => scripts/configure_shm_dc/remote_scripts}/Remove_AD_Trust_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM => scripts/configure_shm_dc/remote_scripts}/Remove_DNS_Entries_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM => scripts/configure_shm_dc/remote_scripts}/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM => scripts/configure_shm_dc/remote_scripts}/Remove_Users_And_Groups_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc => setup}/Prepare_SHM.ps1 (90%) rename deployment/secure_research_environment/{sre_deploy_scripts/01_configure_shm_dc => setup}/Remove_SRE_Data_From_SHM.ps1 (89%) diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 49642059a4..53dcbe0086 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -138,7 +138,7 @@ ## 3. Prepare Safe Haven Management deployment - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/` directory within the Safe Haven repository. + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` ### Clear out any remaining SRE data from previous deployments diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Add_New_SRE_To_DNS_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Add_New_SRE_To_DNS_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Add_New_SRE_To_DNS_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Prepare_SHM/Create_New_SRE_User_Service_Accounts_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_AD_Trust_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_AD_Trust_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_AD_Trust_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_DNS_Entries_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_DNS_Entries_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_DNS_Entries_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 b/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_Users_And_Groups_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/remote_scripts/Remove_SRE_Data_From_SHM/Remove_Users_And_Groups_Remote.ps1 rename to deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_Users_And_Groups_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 b/deployment/secure_research_environment/setup/Prepare_SHM.ps1 similarity index 90% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 rename to deployment/secure_research_environment/setup/Prepare_SHM.ps1 index da6d9e4c88..7e70c725a0 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Prepare_SHM.ps1 +++ b/deployment/secure_research_environment/setup/Prepare_SHM.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -47,7 +47,7 @@ $testResearcherPasswordEncrypted = ConvertTo-SecureString $testResearcherPasswor # ------------------------------- Add-LogMessage -Level Info "[ ] Adding SRE users and groups to SHM..." $_ = Set-AzContext -Subscription $config.shm.subscriptionName -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Prepare_SHM" "Create_New_SRE_User_Service_Accounts_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Create_New_SRE_User_Service_Accounts_Remote.ps1" $params = @{ shmFqdn = "`"$($config.shm.domain.fqdn)`"" sreFqdn = "`"$($config.sre.domain.fqdn)`"" @@ -77,7 +77,7 @@ Write-Output $result.Value # Add SRE DNS entries to SHM # -------------------------- Add-LogMessage -Level Info "[ ] Adding SRE DNS records to SHM..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Prepare_SHM" "Add_New_SRE_To_DNS_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Add_New_SRE_To_DNS_Remote.ps1" $params = @{ shmFqdn = "`"$($config.shm.domain.fqdn)`"" sreFqdn = "`"$($config.sre.domain.fqdn)`"" diff --git a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 b/deployment/secure_research_environment/setup/Remove_SRE_Data_From_SHM.ps1 similarity index 89% rename from deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 rename to deployment/secure_research_environment/setup/Remove_SRE_Data_From_SHM.ps1 index f97bdef4c3..e94b1ce38f 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/01_configure_shm_dc/Remove_SRE_Data_From_SHM.ps1 +++ b/deployment/secure_research_environment/setup/Remove_SRE_Data_From_SHM.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -71,7 +71,7 @@ if ($sreResources -or $sreResourceGroups) { # Remove SRE users and groups from SHM DC # --------------------------------------- Add-LogMessage -Level Info "Removing SRE users and groups from SHM DC..." - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Remove_SRE_Data_From_SHM" "Remove_Users_And_Groups_Remote.ps1" -Resolve + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Remove_Users_And_Groups_Remote.ps1" -Resolve $params = @{ testResearcherSamAccountName = "`"$($config.sre.users.researchers.test.samAccountName)`"" dsvmLdapSamAccountName = "`"$($config.sre.users.ldap.dsvm.samAccountName)`"" @@ -86,7 +86,7 @@ if ($sreResources -or $sreResourceGroups) { # Remove SRE DNS records from SHM DC # ---------------------------------- Add-LogMessage -Level Info "Removing SRE DNS records from SHM DC..." - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Remove_SRE_Data_From_SHM" "Remove_DNS_Entries_Remote.ps1" -Resolve + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Remove_DNS_Entries_Remote.ps1" -Resolve $params = @{ sreFqdn = "`"$($config.sre.domain.fqdn)`"" identitySubnetPrefix = "`"$($config.sre.network.subnets.identity.prefix)`"" @@ -100,7 +100,7 @@ if ($sreResources -or $sreResourceGroups) { # Remove SRE AD Trust from SHM DC # ------------------------------- Add-LogMessage -Level Info "Removing SRE AD Trust from SHM DC..." - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Remove_SRE_Data_From_SHM" "Remove_AD_Trust_Remote.ps1" -Resolve + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Remove_AD_Trust_Remote.ps1" -Resolve $params = @{ shmFqdn = "`"$($config.shm.domain.fqdn)`"" sreFqdn = "`"$($config.sre.domain.fqdn)`"" @@ -112,7 +112,7 @@ if ($sreResources -or $sreResourceGroups) { # Remove RDS Gateway RADIUS Client from SHM NPS # --------------------------------------------- Add-LogMessage -Level Info "Removing RDS Gateway RADIUS Client from SHM NPS..." - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Remove_SRE_Data_From_SHM" "Remove_RDS_Gateway_RADIUS_Client_Remote.ps1" -Resolve + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Remove_RDS_Gateway_RADIUS_Client_Remote.ps1" -Resolve $params = @{ rdsGatewayFqdn = "`"$($config.sre.rds.gateway.fqdn)`"" } From 5b11f3058584193b06a828a571d92a33d8864f64 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 09:52:18 +0000 Subject: [PATCH 05/30] Updated VNet instructions --- .../sre-vnet-gateway-template.json | 0 .../azure-runbooks/sre_build_instructions.md | 2 +- .../02_create_vnet => setup}/Create_VNET.ps1 | 8 ++++---- 3 files changed, 5 insertions(+), 5 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/02_create_vnet => arm_templates}/sre-vnet-gateway-template.json (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/02_create_vnet => setup}/Create_VNET.ps1 (93%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json b/deployment/secure_research_environment/arm_templates/sre-vnet-gateway-template.json similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/sre-vnet-gateway-template.json rename to deployment/secure_research_environment/arm_templates/sre-vnet-gateway-template.json diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 53dcbe0086..295e7edac2 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -153,7 +153,7 @@ ### Create the virtual network - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/02_create_vnet/` directory within the Safe Haven repository. + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run `./Create_VNET.ps1 -sreId `, where the SRE ID is the one specified in the config - The deployment will take around 20 minutes. Most of this is deploying the virtual network gateway. diff --git a/deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 b/deployment/secure_research_environment/setup/Create_VNET.ps1 similarity index 93% rename from deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 rename to deployment/secure_research_environment/setup/Create_VNET.ps1 index 20294e652d..8ab27889e7 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/02_create_vnet/Create_VNET.ps1 +++ b/deployment/secure_research_environment/setup/Create_VNET.ps1 @@ -4,9 +4,9 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force # Get config and original context before changing subscription @@ -38,7 +38,7 @@ $params = @{ "GatewaySubnet Name" = $config.sre.network.subnets.gateway.Name "DNS Server IP Address" = $config.sre.dc.ip } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/sre-vnet-gateway-template.json" -Params $params -ResourceGroupName $config.sre.network.vnet.rg +Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/../arm_templates/sre-vnet-gateway-template.json" -Params $params -ResourceGroupName $config.sre.network.vnet.rg # Fetch VNet information From 92736627af8cffd7eb83a6b90c50ff919ec75705 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 10:43:16 +0000 Subject: [PATCH 06/30] Moved DC setup --- .../sre-dc-template.json | 0 .../sre-dc-ad-setup-scripts/dc-create.zip | Bin .../source/CreateADPDC.ps1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.ps1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer.schema.mof | 0 .../en-US/MSFT_xADComputer.psd1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 ..._xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Sample_xFirewall_AddFirewallRule.ps1 | 0 ...irewall_AddFirewallRuleToExistingGroup.ps1 | 0 ...le_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 ...e_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Sample_xIPAddress_Parameterized.ps1 | 0 .../source/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../source/xPendingReboot/0.3.0.0/LICENSE | 0 .../0.3.0.0/PSGetModuleInfo.xml | Bin .../source/xPendingReboot/0.3.0.0/README.md | 0 .../0.3.0.0/Tests/xPendingReboot.tests.ps1 | 0 .../xPendingReboot/0.3.0.0/appveyor.yml | 0 .../0.3.0.0/xPendingReboot.psd1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../StorageCommon/StorageCommon.psm1 | 0 .../en-us/StorageCommon.strings.psd1 | 0 .../Examples/Sample_InitializeDataDisk.ps1 | 0 ...ample_InitializeDataDiskWithAccessPath.ps1 | 0 .../Sample_xMountImage_DismountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountVHD.ps1 | 0 .../source/xStorage/2.9.0.0/LICENSE | 0 .../xStorage/2.9.0.0/PSGetModuleInfo.xml | Bin .../source/xStorage/2.9.0.0/README.md | 0 .../Integration/IntegrationTestsCommon.psm1 | 0 .../MSFT_xDisk.Integration.Tests.ps1 | 0 .../Tests/Integration/MSFT_xDisk.config.ps1 | 0 ...MSFT_xDiskAccessPath.Integration.Tests.ps1 | 0 .../MSFT_xDiskAccessPath.config.ps1 | 0 ...MSFT_xMountImage_ISO.Integration.Tests.ps1 | 0 ...MSFT_xMountImage_VHD.Integration.Tests.ps1 | 0 .../MSFT_xMountImage_dismount.config.ps1 | 0 .../MSFT_xMountImage_mount.config.ps1 | 0 .../MSFT_xWaitForDisk.Integration.Tests.ps1 | 0 .../Integration/MSFT_xWaitForDisk.config.ps1 | 0 .../MSFT_xWaitForVolume.Integration.Tests.ps1 | 0 .../MSFT_xWaitForVolume.config.ps1 | 0 .../Tests/TestHelpers/CommonTestHelper.psm1 | 0 .../2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 | 0 .../Tests/Unit/MSFT_xMountImage.tests.ps1 | 0 .../Tests/Unit/MSFT_xWaitForDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xWaitForVolume.tests.ps1 | 0 .../Tests/Unit/StorageCommon.tests.ps1 | 0 .../source/xStorage/2.9.0.0/xStorage.psd1 | 0 .../artifacts/sre-dc-configuration/GPOs.zip | Bin .../StartMenuLayoutModification.xml | 0 .../source/GPOs/manifest.xml | 0 .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../DomainSysvol/GPO/Machine/registry.pol | Bin .../DomainSysvol/GPO/User/comment.cmtx | 0 .../DomainSysvol/GPO/User/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../GPO/User/Preferences/Drives/Drives.xml | 0 .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../DomainSysvol/GPO/Machine/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../azure-runbooks/sre_build_instructions.md | 2 +- .../remote_scripts/Configure_DNS.ps1 | 0 .../remote_scripts/Configure_Domain_Trust.ps1 | 0 .../remote_scripts/Configure_GPOs.ps1 | 0 .../Create_Users_Groups_OUs.ps1 | 0 .../remote_scripts/Import_Artifacts.ps1 | 0 .../setup/Create_VNET.ps1 | 2 +- .../03_create_dc => setup}/Setup_SRE_DC.ps1 | 28 +++++++++--------- 135 files changed, 16 insertions(+), 16 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => arm_templates}/sre-dc-template.json (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/dc-create.zip (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/GPOs.zip (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/manifest.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => }/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => scripts/create_dc}/remote_scripts/Configure_DNS.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => scripts/create_dc}/remote_scripts/Configure_Domain_Trust.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => scripts/create_dc}/remote_scripts/Configure_GPOs.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => scripts/create_dc}/remote_scripts/Create_Users_Groups_OUs.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => scripts/create_dc}/remote_scripts/Import_Artifacts.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/03_create_dc => setup}/Setup_SRE_DC.ps1 (89%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json b/deployment/secure_research_environment/arm_templates/sre-dc-template.json similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/sre-dc-template.json rename to deployment/secure_research_environment/arm_templates/sre-dc-template.json diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/dc-create.zip similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/dc-create.zip diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 b/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip b/deployment/secure_research_environment/artifacts/sre-dc-configuration/GPOs.zip similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/GPOs.zip rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/GPOs.zip diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/manifest.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/manifest.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml b/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml rename to deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 295e7edac2..2767f07a79 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -168,7 +168,7 @@ ## 5. Deploy SRE Domain Controller - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/03_create_dc/` directory within the Safe Haven repository + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run `./Setup_SRE_DC.ps1 -sreId ` script, where the SRE ID is the one specified in the config - The deployment will normally take around 30 minutes. Most of this is running the setup scripts after creating the VM. However it may take longer if many Windows updates need to be performed. diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 b/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_DNS.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_DNS.ps1 rename to deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_DNS.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 b/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_Domain_Trust.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_Domain_Trust.ps1 rename to deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_Domain_Trust.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 b/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_GPOs.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Configure_GPOs.ps1 rename to deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_GPOs.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 b/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 rename to deployment/secure_research_environment/scripts/create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Import_Artifacts.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/scripts/create_dc/remote_scripts/Import_Artifacts.ps1 diff --git a/deployment/secure_research_environment/setup/Create_VNET.ps1 b/deployment/secure_research_environment/setup/Create_VNET.ps1 index 8ab27889e7..f668ab70e4 100644 --- a/deployment/secure_research_environment/setup/Create_VNET.ps1 +++ b/deployment/secure_research_environment/setup/Create_VNET.ps1 @@ -38,7 +38,7 @@ $params = @{ "GatewaySubnet Name" = $config.sre.network.subnets.gateway.Name "DNS Server IP Address" = $config.sre.dc.ip } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/../arm_templates/sre-vnet-gateway-template.json" -Params $params -ResourceGroupName $config.sre.network.vnet.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "sre-vnet-gateway-template.json") -Params $params -ResourceGroupName $config.sre.network.vnet.rg # Fetch VNet information diff --git a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 b/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 similarity index 89% rename from deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 rename to deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 index f25bfe5f35..c9e80e0d12 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/03_create_dc/Setup_SRE_DC.ps1 +++ b/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 @@ -4,11 +4,11 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/GenerateSasToken.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/GenerateSasToken.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -76,7 +76,7 @@ ForEach ($folderFilePair in (($artifactsFolderNameCreate, $dcCreationZipFileName ($artifactsFolderNameConfig, "GPOs.zip"), ($artifactsFolderNameConfig, "StartMenuLayoutModification.xml"))) { $artifactsFolderName, $artifactsFileName = $folderFilePair - $_ = Set-AzStorageBlobContent -Container $artifactsFolderName -Context $storageAccount.Context -File "$PSScriptRoot/artifacts/$artifactsFolderName/$artifactsFileName" -Force + $_ = Set-AzStorageBlobContent -Container $artifactsFolderName -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "artifacts" $artifactsFolderName $artifactsFileName) -Force if ($?) { Add-LogMessage -Level Success "Uploaded '$artifactsFileName' to '$artifactsFolderName'" } else { @@ -131,7 +131,7 @@ $params = @{ Virtual_Network_Resource_Group = $config.sre.network.vnet.rg Virtual_Network_Subnet = $config.sre.network.subnets.identity.name } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/sre-dc-template.json" -Params $params -ResourceGroupName $config.sre.dc.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "sre-dc-template.json") -Params $params -ResourceGroupName $config.sre.dc.rg # Import artifacts from blob storage @@ -141,7 +141,7 @@ Add-LogMessage -Level Info "Importing configuration artifacts for: $($config.sre $blobNames = Get-AzStorageBlob -Container $artifactsFolderNameConfig -Context $storageAccount.Context | ForEach-Object { $_.Name } $artifactSasToken = New-ReadOnlyAccountSasToken -subscriptionName $config.sre.subscriptionName -resourceGroup $config.sre.storage.artifacts.rg -accountName $config.sre.storage.artifacts.accountName # Run import script remotely -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Import_Artifacts.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Import_Artifacts.ps1" $params = @{ remoteDir = "`"$remoteUploadDir`"" pipeSeparatedBlobNames = "`"$($blobNames -join "|")`"" @@ -156,7 +156,7 @@ Write-Output $result.Value # Install required Powershell packages # ------------------------------------ Add-LogMessage -Level Info "Installing required Powershell packages on: '$($config.sre.dc.vmName)'..." -$scriptPath = Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Install_Powershell_Modules.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Install_Powershell_Modules.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.sre.dc.vmName -ResourceGroupName $config.sre.dc.rg Write-Output $result.Value @@ -164,7 +164,7 @@ Write-Output $result.Value # Configure DNS # ------------- Add-LogMessage -Level Info "Configuring DNS for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Configure_DNS.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_DNS.ps1" $params = @{ identitySubnetCidr = "`"$($config.sre.network.subnets.identity.cidr)`"" rdsSubnetCidr = "`"$($config.sre.network.subnets.rds.cidr)`"" @@ -179,7 +179,7 @@ Write-Output $result.Value # Create users, groups and OUs # ---------------------------- Add-LogMessage -Level Info "Creating users, groups and OUs for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Create_Users_Groups_OUs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Create_Users_Groups_OUs.ps1" $params = @{ sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" sreDn = "`"$($config.sre.domain.dn)`"" @@ -195,7 +195,7 @@ Write-Output $result.Value # Configure GPOs # -------------- Add-LogMessage -Level Info "Configuring GPOs for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Configure_GPOs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_GPOs.ps1" $params = @{ oubackuppath = "`"$remoteUploadDir\GPOs`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -209,7 +209,7 @@ Write-Output $result.Value # Set the OS language to en-GB and install updates # ------------------------------------------------ Add-LogMessage -Level Info "Setting OS locale for: '$($config.sre.dc.vmName)' and installing updates..." -$scriptPath = Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Configure_Windows.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.sre.dc.vmName -ResourceGroupName $config.sre.dc.rg Write-Output $result.Value @@ -234,7 +234,7 @@ $_ = Set-AzContext -Subscription $config.shm.subscriptionName $dcAdminPasswordEncrypted = ConvertTo-SecureString $dcAdminPassword -AsPlainText -Force | ConvertFrom-SecureString -Key (1..16) # Run domain configuration script remotely -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Configure_Domain_Trust.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_Domain_Trust.ps1" $params = @{ sreDcAdminPasswordEncrypted = "`"$dcAdminPasswordEncrypted`"" sreDcAdminUsername = "`"$dcAdminUsername`"" From 22d1745ce3de7dde0042573d3c7ec7a4201a3b79 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 12:54:22 +0000 Subject: [PATCH 07/30] Migrated RDS deployment --- .../sre-rds-template.json | 0 .../azure-runbooks/sre_build_instructions.md | 6 ++-- .../Add_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../remote_scripts/Import_Artifacts.ps1 | 0 .../Install_Additional_Powershell_Modules.ps1 | 0 .../remote_scripts/Install_Packages.ps1 | 0 .../Install_Signed_Ssl_Cert.ps1 | 0 .../remote_scripts/Move_RDS_VMs_Into_OUs.ps1 | 0 .../remote_scripts/Set_OS_Locale_and_DNS.ps1 | 0 .../Deploy_RDS_Environment.template.ps1 | 0 .../templates/ServerList.template.xml | 0 .../templates/Set-RDPublishedName.ps1 | 0 .../CreateUpdate_Signed_Ssl_Certificate.ps1 | 8 ++--- .../Setup_SRE_RDS_Servers.ps1 | 34 +++++++++---------- 14 files changed, 24 insertions(+), 24 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => arm_templates}/sre-rds-template.json (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Import_Artifacts.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Install_Additional_Powershell_Modules.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Install_Packages.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Install_Signed_Ssl_Cert.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/remote_scripts/Set_OS_Locale_and_DNS.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/templates/Deploy_RDS_Environment.template.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/templates/ServerList.template.xml (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => scripts/create_rds}/templates/Set-RDPublishedName.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => setup}/CreateUpdate_Signed_Ssl_Certificate.ps1 (96%) rename deployment/secure_research_environment/{sre_deploy_scripts/04_create_rds => setup}/Setup_SRE_RDS_Servers.ps1 (91%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json b/deployment/secure_research_environment/arm_templates/sre-rds-template.json similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/sre-rds-template.json rename to deployment/secure_research_environment/arm_templates/sre-rds-template.json diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 2767f07a79..6ee44531a4 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -178,15 +178,15 @@ ## 6. Deploy Remote Desktop Service Environment ### Create RDS VMs and perform initial configuration - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/04_create_rds/` directory of the Safe Haven repository + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Deploy and configure the RDS VMs by running `./Setup_SRE_RDS_Servers.ps1 -sreId `, where the SRE ID is the one specified in the config - - The deployment will take around 20 minutes to complete. + - The deployment will take around 40 minutes to complete. ### Install and configure RDS Environment and webclient - Connect to the **RDS Gateway** via Remote Desktop client over the SRE VPN connection - The IP address can be found using the Azure portal by navigating to the Virtual Machine (`Resource Groups -> RG_SRE_RDS -> RDG-SRE-`) - - Login as the **domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) + - Login as the **SRE domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) #### Install RDS environment and webclient - Open a PowerShell command window with elevated privileges - make sure to use the `Windows PowerShell` application, not the `Windows PowerShell (x86)` application. The required server management commandlets are not installed on the x86 version. diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Import_Artifacts.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Import_Artifacts.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Packages.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Packages.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Packages.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 b/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 rename to deployment/secure_research_environment/scripts/create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 b/deployment/secure_research_environment/scripts/create_rds/templates/Deploy_RDS_Environment.template.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Deploy_RDS_Environment.template.ps1 rename to deployment/secure_research_environment/scripts/create_rds/templates/Deploy_RDS_Environment.template.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml b/deployment/secure_research_environment/scripts/create_rds/templates/ServerList.template.xml similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/ServerList.template.xml rename to deployment/secure_research_environment/scripts/create_rds/templates/ServerList.template.xml diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 b/deployment/secure_research_environment/scripts/create_rds/templates/Set-RDPublishedName.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/templates/Set-RDPublishedName.ps1 rename to deployment/secure_research_environment/scripts/create_rds/templates/Set-RDPublishedName.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 b/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 similarity index 96% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 rename to deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 index 480a42ca24..423bca902f 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/CreateUpdate_Signed_Ssl_Certificate.ps1 +++ b/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 @@ -20,9 +20,9 @@ if (-not (Get-Module -ListAvailable -Name Posh-ACME)) { # Import modules Import-Module Posh-ACME -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force # Get config and original context @@ -201,7 +201,7 @@ if ($doInstall) { # Configure RDS Gateway VM to use signed certificate # -------------------------------------------------- Add-LogMessage -Level Info "Configuring RDS Gateway VM to use SSL certificate" - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Install_Signed_Ssl_Cert.ps1" + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Signed_Ssl_Cert.ps1" $params = @{ rdsFqdn = "`"$rdsFqdn`"" certThumbPrint = "`"$($kvCertificate.Thumbprint)`"" diff --git a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 similarity index 91% rename from deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 rename to deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 index 21daf361f9..6338a3adc1 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/04_create_rds/Setup_SRE_RDS_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 @@ -4,11 +4,11 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/GenerateSasToken.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/GenerateSasToken.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -118,7 +118,7 @@ $params = @{ Virtual_Network_Resource_Group = $config.sre.network.vnet.rg Virtual_Network_Subnet = $config.sre.network.subnets.rds.Name } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/sre-rds-template.json" -Params $params -ResourceGroupName $config.sre.rds.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "sre-rds-template.json") -Params $params -ResourceGroupName $config.sre.rds.rg # Create blob containers in SRE storage account @@ -150,12 +150,12 @@ Add-LogMessage -Level Info "Upload RDS deployment scripts to storage..." # Expand deploy script $deployScriptLocalFilePath = (New-TemporaryFile).FullName -$template = Get-Content (Join-Path $PSScriptRoot "templates" "Deploy_RDS_Environment.template.ps1") -Raw +$template = Get-Content (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "Deploy_RDS_Environment.template.ps1") -Raw $ExecutionContext.InvokeCommand.ExpandString($template) | Out-File $deployScriptLocalFilePath # Expand server list XML $serverListLocalFilePath = (New-TemporaryFile).FullName -$template = Get-Content (Join-Path $PSScriptRoot "templates" "ServerList.template.xml") -Raw +$template = Get-Content (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "ServerList.template.xml") -Raw $ExecutionContext.InvokeCommand.ExpandString($template) | Out-File $serverListLocalFilePath # Copy existing files @@ -172,7 +172,7 @@ if ($?) { Add-LogMessage -Level Info "[ ] Uploading RDS gateway scripts to storage account '$sreStorageAccountName'" Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File $deployScriptLocalFilePath -Blob "Deploy_RDS_Environment.ps1" -Force Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File $serverListLocalFilePath -Blob "ServerList.xml" -Force -Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File (Join-Path $PSScriptRoot "templates" "Set-RDPublishedName.ps1") -Blob "Set-RDPublishedName.ps1" -Force +Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "Set-RDPublishedName.ps1") -Blob "Set-RDPublishedName.ps1" -Force if ($?) { Add-LogMessage -Level Success "File uploading succeeded" } else { @@ -227,7 +227,7 @@ if ($?) { Add-LogMessage -Level Info "Adding RDS Gateway as RADIUS client on SHM NPS" $_ = Set-AzContext -SubscriptionId $config.shm.subscriptionName # Run remote script -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Add_RDS_Gateway_RADIUS_Client_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Add_RDS_Gateway_RADIUS_Client_Remote.ps1" $params = @{ rdsGatewayIp = "`"$($config.sre.rds.gateway.ip)`"" rdsGatewayFqdn = "`"$($config.sre.rds.gateway.fqdn)`"" @@ -243,7 +243,7 @@ Write-Output $result.Value Add-LogMessage -Level Info "Adding RDS VMs to correct OUs" $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName # Run remote script -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Move_RDS_VMs_Into_OUs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Move_RDS_VMs_Into_OUs.ps1" $params = @{ sreDn = "`"$($config.sre.domain.dn)`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -259,14 +259,14 @@ Write-Output $result.Value # -------------------------------------------------- Add-LogMessage -Level Info "Configuring Windows and setting DNS on RDS servers..." $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName -$templateScript = Get-Content -Path (Join-Path $PSScriptRoot "remote_scripts" "Set_OS_Locale_and_DNS.ps1") -Raw -$configurationScript = Get-Content -Path (Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Configure_Windows.ps1") -Raw +$templateScript = Get-Content -Path (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Set_OS_Locale_and_DNS.ps1") -Raw +$configurationScript = Get-Content -Path (Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1") -Raw $setLocaleDnsAndUpdate = $templateScript.Replace("# LOCALE CODE IS PROGRAMATICALLY INSERTED HERE", $configurationScript) $params = @{ sreFqdn = "`"$($config.sre.domain.fqdn)`"" shmFqdn = "`"$($config.shm.domain.fqdn)`"" } -$moduleScript = Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Install_Powershell_Modules.ps1" +$moduleScript = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Install_Powershell_Modules.ps1" # Run on each of the RDS VMs foreach ($nameVMNameParamsPair in $vmNamePairs) { @@ -309,7 +309,7 @@ Add-LogMessage -Level Success "Found $($filePathsSh1.Count + $filePathsSh2.Count # Get SAS token to download files from storage account $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName $sasToken = New-ReadOnlyAccountSasToken -subscriptionName $config.sre.subscriptionName -resourceGroup $sreStorageAccountRg -accountName $sreStorageAccountName -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Import_Artifacts.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Import_Artifacts.ps1" # Copy software and/or scripts to RDS Gateway Add-LogMessage -Level Info "[ ] Copying $($filePathsGateway.Count) files to RDS Gateway" @@ -360,7 +360,7 @@ foreach ($nameVMNameParamsPair in $vmNamePairs) { $name, $vmName = $nameVMNameParamsPair if ($name -ne "RDS Gateway") { Add-LogMessage -Level Info "[ ] Installing packages on ${name}: '$vmName'" - $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Install_Packages.ps1" + $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Packages.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $vmName -ResourceGroupName $config.sre.rds.rg Write-Output $result.Value } @@ -370,7 +370,7 @@ foreach ($nameVMNameParamsPair in $vmNamePairs) { # Install required Powershell modules on RDS Gateway # -------------------------------------------------- Add-LogMessage -Level Info "[ ] Installing required Powershell modules on RDS Gateway..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Install_Additional_Powershell_Modules.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Additional_Powershell_Modules.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.sre.rds.gateway.vmName -ResourceGroupName $config.sre.rds.rg Write-Output $result.Value From bde4989c8abb9783baf2ee74d7cae94f4760ae84 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 13:25:53 +0000 Subject: [PATCH 08/30] Migrated data server --- .../sre-data-server-template.json | 0 .../azure-runbooks/sre_build_instructions.md | 6 ++--- .../Configure_Data_Server_Remote.ps1 | 0 .../Move_Data_Server_VM_Into_OU.ps1 | 0 .../Setup_Data_Server.ps1 | 22 +++++++++---------- 5 files changed, 13 insertions(+), 15 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/05_create_dataserver => arm_templates}/sre-data-server-template.json (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/05_create_dataserver => scripts/create_dataserver}/remote_scripts/Configure_Data_Server_Remote.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/05_create_dataserver => scripts/create_dataserver}/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/05_create_dataserver => setup}/Setup_Data_Server.ps1 (86%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json b/deployment/secure_research_environment/arm_templates/sre-data-server-template.json similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/sre-data-server-template.json rename to deployment/secure_research_environment/arm_templates/sre-data-server-template.json diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 6ee44531a4..808a476eb2 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -231,7 +231,7 @@ ### Configuration of SSL on RDS Gateway - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/04_create_rds/` directory of the Safe Haven repository + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run the `./CreateUpdate_Signed_Ssl_Certificate.ps1 -sreId -emailAddress `, where the SRE ID is the one specified in the config and the email address is one that you would like to be notified when certificate expiry is approaching. - **NOTE:** This script should be run again whenever you want to update the certificate for this SRE. @@ -281,10 +281,10 @@ ## 7. Deploy Data Server ### Create Dataserver VM - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/05_create_dataserver/` directory within the Safe Haven repository. + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run the `./Setup_Data_Server.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - The deployment will take around 10 minutes to complete + - The deployment will take around 20 minutes to complete ## 8. Deploy Web Application Servers (Gitlab and HackMD) - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). diff --git a/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 b/deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 rename to deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 b/deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 rename to deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 b/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 similarity index 86% rename from deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 rename to deployment/secure_research_environment/setup/Setup_Data_Server.ps1 index 3b478aafd1..e760f320a4 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/05_create_dataserver/Setup_Data_Server.ps1 +++ b/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -56,13 +56,13 @@ $params = @{ Virtual_Network_Subnet = $config.sre.network.subnets.data.name VM_Size = $config.sre.dataserver.vmSize } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/sre-data-server-template.json" -Params $params -ResourceGroupName $config.sre.dataserver.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "sre-data-server-template.json") -Params $params -ResourceGroupName $config.sre.dataserver.rg # Move Data Server VM into correct OU # ----------------------------------- Add-LogMessage -Level Info "Adding data server to correct security group..." -$scriptPath = Join-Path "remote_scripts" "Move_Data_Server_VM_Into_OU.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dataserver" "remote_scripts" "Move_Data_Server_VM_Into_OU.ps1" $params = @{ sreDn = "`"$($config.sre.domain.dn)`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -72,12 +72,10 @@ $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMNam Write-Output $result.Value - - # # Install required Powershell packages # # ------------------------------------ # Add-LogMessage -Level Info "[ ] Installing required Powershell packages on data server: '$($config.sre.dataserver.vmName)'..." -# $scriptPath = Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Install_Powershell_Modules.ps1" +# $scriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Install_Powershell_Modules.ps1" # $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.sre.dataserver.vmName -ResourceGroupName $config.sre.dataserver.rg # Write-Output $result.Value @@ -85,7 +83,7 @@ Write-Output $result.Value # # Set the OS language to en-GB and install updates # # ------------------------------------------------ # $templateScript = Get-Content -Path (Join-Path $PSScriptRoot "remote_scripts" "Configure_Data_Server_Remote.ps1") -Raw -# $configurationScript = Get-Content -Path (Join-Path $PSScriptRoot ".." ".." ".." "common_powershell" "remote" "Configure_Windows.ps1") -Raw +# $configurationScript = Get-Content -Path (Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1") -Raw # $setLocaleDnsAndUpdate = $templateScript.Replace("# LOCALE CODE IS PROGRAMATICALLY INSERTED HERE", $configurationScript) # $params = @{ # sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -100,13 +98,13 @@ Write-Output $result.Value # Set locale, install updates and reboot # -------------------------------------- Add-LogMessage -Level Info "Updating data server VM..." -Invoke-WindowsConfigureAndUpdate -VMName $config.sre.dataserver.vmName -ResourceGroupName $config.sre.dataserver.rg -CommonPowershellPath (Join-Path $PSScriptRoot ".." ".." ".." "common_powershell") +Invoke-WindowsConfigureAndUpdate -VMName $config.sre.dataserver.vmName -ResourceGroupName $config.sre.dataserver.rg -CommonPowershellPath (Join-Path $PSScriptRoot ".." ".." "common") # Configure data server # --------------------- Add-LogMessage -Level Info "Configuring data server VM..." -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "Configure_Data_Server_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dataserver" "remote_scripts" "Configure_Data_Server_Remote.ps1" $params = @{ sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" shmNetbiosName = "`"$($config.shm.domain.netbiosName)`"" From 3e146f4c829bcd60168f1365877900cc8b6650db Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 13:51:56 +0000 Subject: [PATCH 09/30] Migrated webapp servers --- .../sre-webapps-template.json | 0 .../Create_Web_App_Servers.ps1 | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/06_create_web_application_servers => arm_templates}/sre-webapps-template.json (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/06_create_web_application_servers => setup}/Create_Web_App_Servers.ps1 (95%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json b/deployment/secure_research_environment/arm_templates/sre-webapps-template.json similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/sre-webapps-template.json rename to deployment/secure_research_environment/arm_templates/sre-webapps-template.json diff --git a/deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 similarity index 95% rename from deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 rename to deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 index edb545b031..e8ccecc60b 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/Create_Web_App_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -112,7 +112,7 @@ $params = @{ Virtual_Network_Resource_Group = $config.sre.network.vnet.rg Virtual_Network_Subnet = $config.sre.network.subnets.data.name } -Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot "sre-webapps-template.json") -Params $params -ResourceGroupName $config.sre.webapps.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "sre-webapps-template.json") -Params $params -ResourceGroupName $config.sre.webapps.rg # Poll VMs to see when they have finished running From b1fcb46fcfbfe6023d7e8060ce59b7fdaa410d5a Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 14:09:22 +0000 Subject: [PATCH 10/30] Migrated compute creation --- .../azure-runbooks/sre_build_instructions.md | 12 +++++------- .../remote_scripts/ResetLdapPasswordOnAD.ps1 | 0 .../remote_scripts/check_ldap_connection.sh | 0 .../remote_scripts/create_postgres_roles.sh | 0 .../remote_scripts/rerun_realm_join.sh | 0 .../remote_scripts/reset_ldap_password.sh | 0 .../restart_name_resolution_service.sh | 0 .../remote_scripts/restart_sssd_service.sh | 0 .../remote_scripts/upload_smoke_tests.sh | 0 .../scripts/compute_vm}/tests/README.md | 0 .../scripts/compute_vm}/tests/run_all_tests.sh | 0 .../tests/test_R_package_installation.R | 0 .../compute_vm}/tests/test_clustering.R | 0 .../scripts/compute_vm}/tests/test_cran.sh | 0 .../tests/test_logistic_regression.R | 0 .../tests/test_logistic_regression.py | 0 .../scripts/compute_vm}/tests/test_pypi.sh | 0 .../tests/test_python_package_installation.py | 0 .../Create_Compute_VM.ps1 | 18 +++++++++--------- 19 files changed, 14 insertions(+), 16 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/ResetLdapPasswordOnAD.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/check_ldap_connection.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/create_postgres_roles.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/rerun_realm_join.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/reset_ldap_password.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/restart_name_resolution_service.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/restart_sssd_service.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => scripts/compute_vm}/remote_scripts/upload_smoke_tests.sh (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/README.md (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/run_all_tests.sh (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_R_package_installation.R (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_clustering.R (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_cran.sh (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_logistic_regression.R (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_logistic_regression.py (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_pypi.sh (100%) rename {vm_image_management => deployment/secure_research_environment/scripts/compute_vm}/tests/test_python_package_installation.py (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => setup}/Create_Compute_VM.ps1 (95%) diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 808a476eb2..536165ba6f 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -288,18 +288,16 @@ ## 8. Deploy Web Application Servers (Gitlab and HackMD) - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/06_create_web_application_servers/` directory of the Safe Haven repository. + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run the `./Create_Web_App_Servers.ps1 -sreId ` script, where the SRE ID is the one specified in the config - The deployment will take a few minutes to complete ### Test GitLab Server - - GitLab is fully configured by the `Create_Web_App_Servers.ps1` deployment script - There is a built-in `root` user, whose password is stored in the SRE KeyVault (see SRE config file for KeyVault and secret names). - You can test Gitlab from inside the RDS environment by connecting to `.151` and logging in with the full `username@` of a user in the `SG Research Users` security group. ### Test HackMD Server - - HackMD is fully configured by the `Create_Web_App_Servers.ps1` deployment script - You can test HackMD from inside the RDS environment by connecting to `.152:3000` and logging in with the full `username@` of a user in the `SG DSGROUP Research Users` security group. ## 9. Deploy initial shared compute VM @@ -309,7 +307,7 @@ ### Deploy a compute VM - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/` directory within the Safe Haven repository. + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run `git fetch;git pull;git status;git log -1 --pretty="At commit %h (%H)"` to verify you are on the correct branch and up to date with `origin` (and to output this confirmation and the current commit for inclusion in the deployment record). - Deploy a new VM into an SRE environment using `./Create_Compute_VM.ps1 -sreId `, where the SRE ID is the one specified in the config @@ -330,7 +328,7 @@ ## 10. Apply network configuration - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Change to the `secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/` directory of the Safe Haven repository + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run the `./Apply_Network_Configuration.ps1 -sreId ` script, where the SRE ID is the one specified in the config @@ -340,7 +338,7 @@ **Note: this script should not normally be run manually** - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Change to the `secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/` directory of the Safe Haven repository + - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Run the `./Unpeer_Sre_And_Mirror_Networks.ps1 -sreId ` script, where the SRE ID is the one specified in the config @@ -365,4 +363,4 @@ - `RDG-SRE-` (Remote Desktop Gateway) - `APP-SRE-` (Remote Desktop app server) - `DKP-SRE-` (Remote Desktop desktop server) - - `DSVM-0-1-2019082900-SRE--160` (initial shared compute VM at IP address `.160`) + - `SRE--160-DSVM-0-1-2019082900` (initial shared compute VM at IP address `.160`) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/ResetLdapPasswordOnAD.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/ResetLdapPasswordOnAD.ps1 rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/ResetLdapPasswordOnAD.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/check_ldap_connection.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/check_ldap_connection.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/check_ldap_connection.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/create_postgres_roles.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/create_postgres_roles.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/create_postgres_roles.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/rerun_realm_join.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/rerun_realm_join.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/rerun_realm_join.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/reset_ldap_password.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/reset_ldap_password.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/reset_ldap_password.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_name_resolution_service.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_name_resolution_service.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_name_resolution_service.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_sssd_service.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/restart_sssd_service.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_sssd_service.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh b/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/upload_smoke_tests.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/remote_scripts/upload_smoke_tests.sh rename to deployment/secure_research_environment/scripts/compute_vm/remote_scripts/upload_smoke_tests.sh diff --git a/vm_image_management/tests/README.md b/deployment/secure_research_environment/scripts/compute_vm/tests/README.md similarity index 100% rename from vm_image_management/tests/README.md rename to deployment/secure_research_environment/scripts/compute_vm/tests/README.md diff --git a/vm_image_management/tests/run_all_tests.sh b/deployment/secure_research_environment/scripts/compute_vm/tests/run_all_tests.sh similarity index 100% rename from vm_image_management/tests/run_all_tests.sh rename to deployment/secure_research_environment/scripts/compute_vm/tests/run_all_tests.sh diff --git a/vm_image_management/tests/test_R_package_installation.R b/deployment/secure_research_environment/scripts/compute_vm/tests/test_R_package_installation.R similarity index 100% rename from vm_image_management/tests/test_R_package_installation.R rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_R_package_installation.R diff --git a/vm_image_management/tests/test_clustering.R b/deployment/secure_research_environment/scripts/compute_vm/tests/test_clustering.R similarity index 100% rename from vm_image_management/tests/test_clustering.R rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_clustering.R diff --git a/vm_image_management/tests/test_cran.sh b/deployment/secure_research_environment/scripts/compute_vm/tests/test_cran.sh similarity index 100% rename from vm_image_management/tests/test_cran.sh rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_cran.sh diff --git a/vm_image_management/tests/test_logistic_regression.R b/deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.R similarity index 100% rename from vm_image_management/tests/test_logistic_regression.R rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.R diff --git a/vm_image_management/tests/test_logistic_regression.py b/deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.py similarity index 100% rename from vm_image_management/tests/test_logistic_regression.py rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.py diff --git a/vm_image_management/tests/test_pypi.sh b/deployment/secure_research_environment/scripts/compute_vm/tests/test_pypi.sh similarity index 100% rename from vm_image_management/tests/test_pypi.sh rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_pypi.sh diff --git a/vm_image_management/tests/test_python_package_installation.py b/deployment/secure_research_environment/scripts/compute_vm/tests/test_python_package_installation.py similarity index 100% rename from vm_image_management/tests/test_python_package_installation.py rename to deployment/secure_research_environment/scripts/compute_vm/tests/test_python_package_installation.py diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 b/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 similarity index 95% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 rename to deployment/secure_research_environment/setup/Create_Compute_VM.ps1 index fd80f3cdd4..40f4ffd48d 100755 --- a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Create_Compute_VM.ps1 +++ b/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 @@ -4,15 +4,15 @@ param( [Parameter(Position = 1,Mandatory = $true,HelpMessage = "Last octet of IP address eg. '160'")] [string]$ipLastOctet = (Read-Host -Prompt "Last octet of IP address eg. '160'"), [Parameter(Position = 2,Mandatory = $false,HelpMessage = "Enter VM size to use (or leave empty to use default)")] - [string]$vmSize = "" #(Read-Host -prompt "Enter VM size to use (or leave empty to use default)") + [string]$vmSize = "" ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Mirrors.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Mirrors.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -248,7 +248,7 @@ if ($?) { # Create Postgres roles # --------------------- Add-LogMessage -Level Info "[ ] Ensuring Postgres DB roles and initial shared users exist on VM $vmName" -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "create_postgres_roles.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "remote_scripts" "create_postgres_roles.sh" $params = @{ DBADMINROLE = "admin" DBADMINUSER = "dbadmin" @@ -270,7 +270,7 @@ Add-LogMessage -Level Info "Creating smoke test package for the DSVM..." $zipFilePath = Join-Path $PSScriptRoot "smoke_tests.zip" $tempDir = New-Item -ItemType Directory -Path (Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName()) "smoke_tests") Copy-Item (Join-Path $PSScriptRoot ".." ".." ".." "environment_configs" "package_lists") -Filter *.* -Destination (Join-Path $tempDir package_lists) -Recurse -Copy-Item (Join-Path $PSScriptRoot ".." ".." ".." "vm_image_management" "tests") -Filter *.* -Destination (Join-Path $tempDir tests) -Recurse +Copy-Item (Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "tests") -Filter *.* -Destination (Join-Path $tempDir tests) -Recurse if (Test-Path $zipFilePath) { Remove-Item $zipFilePath } Add-LogMessage -Level Info "[ ] Creating zip file at $zipFilePath..." Compress-Archive -CompressionLevel NoCompression -Path $tempDir -DestinationPath $zipFilePath @@ -288,7 +288,7 @@ Add-LogMessage -Level Info "Uploading smoke tests to the DSVM..." $zipFileEncoded = [Convert]::ToBase64String((Get-Content $zipFilePath -Raw -AsByteStream)) Remove-Item -Path $zipFilePath # Run remote script -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "upload_smoke_tests.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "remote_scripts" "upload_smoke_tests.sh" $params = @{ PAYLOAD = $zipFileEncoded ADMIN_USERNAME = $dsvmAdminUsername From 7f3dad15b1a3c4982fb69edccd405ce91c97953f Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 14:27:33 +0000 Subject: [PATCH 11/30] Migrated network configutation --- .../remote_scripts/update_mirror_settings.sh | 0 .../Apply_Network_Configuration.ps1 | 10 +++++----- .../Reset_Ldap_Password.ps1 | 0 .../Run_Remote_Diagnostics.ps1 | 0 .../Unpeer_Sre_And_Mirror_Networks.ps1 | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) rename deployment/secure_research_environment/{sre_deploy_scripts/08_apply_network_configuration => scripts/network_configuration}/remote_scripts/update_mirror_settings.sh (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/08_apply_network_configuration => setup}/Apply_Network_Configuration.ps1 (95%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => setup}/Reset_Ldap_Password.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/07_deploy_compute_vms => setup}/Run_Remote_Diagnostics.ps1 (100%) rename deployment/secure_research_environment/{sre_deploy_scripts/08_apply_network_configuration => setup}/Unpeer_Sre_And_Mirror_Networks.ps1 (97%) diff --git a/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh b/deployment/secure_research_environment/scripts/network_configuration/remote_scripts/update_mirror_settings.sh similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/remote_scripts/update_mirror_settings.sh rename to deployment/secure_research_environment/scripts/network_configuration/remote_scripts/update_mirror_settings.sh diff --git a/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 b/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 similarity index 95% rename from deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 rename to deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 index 66e4d8df34..4443f9f772 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Apply_Network_Configuration.ps1 +++ b/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../../common_powershell/Mirrors.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Mirrors.psm1 -Force # Get config and original context before changing subscription @@ -137,7 +137,7 @@ Add-LogMessage -Level Info "PyPI host: '$($addresses.pypi.host)'" # Set PyPI and CRAN locations on the compute VM $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName -$scriptPath = Join-Path $PSScriptRoot "remote_scripts" "update_mirror_settings.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "network_configuration" "remote_scripts" "update_mirror_settings.sh" foreach ($vmName in $computeVMs) { Add-LogMessage -Level Info "Setting PyPI and CRAN locations on compute VM: $($vmName)" $params = @{ diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 b/deployment/secure_research_environment/setup/Reset_Ldap_Password.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Reset_Ldap_Password.ps1 rename to deployment/secure_research_environment/setup/Reset_Ldap_Password.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 b/deployment/secure_research_environment/setup/Run_Remote_Diagnostics.ps1 similarity index 100% rename from deployment/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1 rename to deployment/secure_research_environment/setup/Run_Remote_Diagnostics.ps1 diff --git a/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 b/deployment/secure_research_environment/setup/Unpeer_Sre_And_Mirror_Networks.ps1 similarity index 97% rename from deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 rename to deployment/secure_research_environment/setup/Unpeer_Sre_And_Mirror_Networks.ps1 index 6753035365..e385d963f1 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/08_apply_network_configuration/Unpeer_Sre_And_Mirror_Networks.ps1 +++ b/deployment/secure_research_environment/setup/Unpeer_Sre_And_Mirror_Networks.ps1 @@ -4,7 +4,7 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force # Get config and original context before changing subscription From 5dcb8fa226b5509b1ae17d850d6bc7ca566129df Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 14:51:56 +0000 Subject: [PATCH 12/30] Moved administrative scripts into dedicated directory --- .gitignore | 2 +- .../SRE_Minimise_VM_Sizes.ps1} | 4 +- .../SRE_Shutdown_VMs.ps1} | 4 +- .../SRE_Start_VMs.ps1} | 4 +- .../SRE_Teardown.ps1} | 6 +- .../azure-runbooks/shm_build_instructions.md | 11 +- .../azure-runbooks/sre_build_instructions.md | 739 +++++++++--------- 7 files changed, 387 insertions(+), 383 deletions(-) rename deployment/{secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 => administration/SRE_Minimise_VM_Sizes.ps1} (94%) rename deployment/{secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 => administration/SRE_Shutdown_VMs.ps1} (91%) rename deployment/{secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 => administration/SRE_Start_VMs.ps1} (92%) rename deployment/{secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 => administration/SRE_Teardown.ps1} (91%) diff --git a/.gitignore b/.gitignore index 9bd582b2ec..7e16b649c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # System files *.DS_Store .idea/ -secure_research_environment/azure-vms/tests/logistic.csv +deployment/secure_research_environment/scripts/compute_vm/tests/logistic.csv # All secrets folders, no matter how nested secrets/ diff --git a/deployment/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 b/deployment/administration/SRE_Minimise_VM_Sizes.ps1 similarity index 94% rename from deployment/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 rename to deployment/administration/SRE_Minimise_VM_Sizes.ps1 index 91aae1f942..b0585c751a 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/Minimise_SRE_VM_Sizes.ps1 +++ b/deployment/administration/SRE_Minimise_VM_Sizes.ps1 @@ -4,8 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get config and original context before changing subscription diff --git a/deployment/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 b/deployment/administration/SRE_Shutdown_VMs.ps1 similarity index 91% rename from deployment/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 rename to deployment/administration/SRE_Shutdown_VMs.ps1 index f363c79f6d..f3f93eeb1b 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/Shutdown_SRE_VMs.ps1 +++ b/deployment/administration/SRE_Shutdown_VMs.ps1 @@ -4,8 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get config and original context before changing subscription diff --git a/deployment/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 b/deployment/administration/SRE_Start_VMs.ps1 similarity index 92% rename from deployment/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 rename to deployment/administration/SRE_Start_VMs.ps1 index a43d049415..cd07dab3b7 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/Start_SRE_VMs.ps1 +++ b/deployment/administration/SRE_Start_VMs.ps1 @@ -4,8 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get config and original context before changing subscription diff --git a/deployment/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 b/deployment/administration/SRE_Teardown.ps1 similarity index 91% rename from deployment/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 rename to deployment/administration/SRE_Teardown.ps1 index 898507e0d3..7f401b1162 100644 --- a/deployment/secure_research_environment/sre_deploy_scripts/Teardown_SRE.ps1 +++ b/deployment/administration/SRE_Teardown.ps1 @@ -4,8 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get config and original context before changing subscription @@ -63,7 +63,7 @@ while ($sreResourceGroups.Length) { # Remove residual SRE data from the SHM # ------------------------------------- -$scriptPath = Join-Path $PSScriptRoot "01_configure_shm_dc" "Remove_SRE_Data_From_SHM.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "secure_research_environment" "setup" "Remove_SRE_Data_From_SHM.ps1" Invoke-Expression -Command "$scriptPath -sreId $sreId" diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index caa043616b..1930603e8c 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -614,10 +614,7 @@ In order to tear down the SHM, use the following procedure: ### Tear down the SHM 1. From a clone of the data-safe-haven repository, run the following commands, where `` is the one defined in the config file. - ```pwsh - cd safe_haven_management_environment - ./Teardown_SHM.ps1 -shmId - ``` - - - + ```pwsh + cd deployment/administration + ./SRE_Teardown.ps1 -sreId + ``` diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 536165ba6f..f0070f5054 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -1,366 +1,373 @@ - # Secure Research Environment Build Instructions - The following instructions will walk you through deploying a Secure Research Environment. This assumes the Safe Haven Management (SHM) environment has already been set up. - - ## Contents - 1. [Prerequisites](#1-prerequisites) - 2. [Define SRE configuration](#2-define-sre-configuration) - 3. [Prepare Safe Haven Management deployment](#3-prepare-safe-haven-management-deployment) - 4. [Deploy Virtual Network](#4-deploy-virtual-network) - 5. [Deploy SRE Domain Controller](#5-deploy-sre-domain-controller) - 6. [Deploy Remote Desktop Service Environment](#6-deploy-remote-desktop-service-environment) - 7. [Deploy Data Server](#7-deploy-data-server) - 8. [Deploy Web Application Servers (Gitlab and HackMD)](#8-deploy-web-application-servers-gitlab-and-hackmd) - 9. [Deploy initial shared compute VM](#9-deploy-initial-shared-compute-vm) - 10. [Apply network configuration](#10-apply-network-configuration) - 11. [Run smoke tests on shared compute VM](#11-run-smoke-tests-on-shared-compute-vm) - - ## 1. Prerequisites - - An Azure subscription with sufficient credits to build the environment in - - If deploying at Turing, you will need to be a member of the relevant Azure Security Group: `Safe Haven Test Admins` for testing/development or `Safe Haven Production Admins` for production deployment. This will give you the administrative access to: - - the relevant Safe Haven Management Azure subscription - - the relevant Safe Haven Management Active Directory Domain - - the relevant Safe Haven Management VMs - - `PowerShell` for Azure - - Install [PowerShell v6.0 or above](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-2.2.0) - - Install the Azure [PowerShell Module](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-2.2.0&viewFallbackFrom=azps-1.3.0) - - `Microsoft Remote Desktop` - - On Mac this can be installed from the [apple store](https://itunes.apple.com/gb/app/microsoft-remote-desktop-10/id1295203466?mt=12) - - `OpenSSL` - - Install using your package manager of choice - - ### Download a client VPN certificate for the Safe Haven Management VNet - - Navigate to the Safe Haven Management (SHM) KeyVault in the Safe Haven Management subscription via `Resource Groups -> RG_SHM_SECRETS -> kv-shm-`. - - Once there open the "Certificates" page under the "Settings" section in the left hand sidebar. - - Click on the certificate named `shm--vpn-client-cert`, click on the "current version" and click the "Download in PFX/PEM format" link. - - To install, double click on the downloaded certificate, leaving the password field blank. - - **Make sure to securely delete the "\*.pfx" certificate file after you have installed it.** - - This certificate will also allow you to connect via VPN to the SRE VNets once deployed. - - ### Configure a VPN connection to the Safe Haven Management VNet - - Navigate to the Safe Haven Management (SHM) VNet gateway in the SHM subscription via `Resource Groups -> RG_SHM_NETWORKING -> VNET_SHM__GW`, where `` is defined in the config file. Once there open the "Point-to-site configuration page under the "Settings" section in the left hand sidebar (see image below). - - Click the "Download VPN client" link at the top of the page to get the root certificate (`VpnServerRoot.cer`) and VPN configuration file (`VpnSettings.xml`), then follow the [VPN set up instructions](https://docs.microsoft.com/en-us/azure/vpn-gateway/point-to-site-vpn-client-configuration-azure-cert) using the Windows or Mac sections as appropriate. - - On Windows you may get a "Windows protected your PC" pop up. If so, click `More info -> Run anyway` - - On Windows do not rename the vpn client as this will break it - - Note that on OSX double clicking on the root certificate may not result in any pop-up dialogue, but the certificate should still be installed. You can view the details of the downloaded certificate by highlighting the certificate file in Finder and pressing the spacebar. You can then look for the certificate of the same name in the login KeyChain and view it's details by double clicking the list entry. If the details match the certificate has been successfully installed. - - ![Point-to-site connection](images/vpn/point_to_site.png) - - - Continue to follow the set up instructions from the link above, using SSTP (Windows) or IKEv2 (OSX) for the VPN type and naming the VPN connection "Safe Haven Management Gateway (``)", where `` is defined in the config file. - - ### Ensure the required SRE resources can be accessed - - Access to a new Azure subscription which the SRE will be deployed to - - If a subscription does not exist, create one with the name `Secure Research Environment ()`, picking an SRE ID that is not yet in use and setting `` to the value given in the config file. - - Add an initial $3,000 for test and production sandbox environments and the project specific budget for production project environments - - Give the relevant "Safe Haven `` Admins" Security Group **Owner** role on the new SRE subscription - - Access to a public routable domain name for the SRE and its name servers - - This can be a top-level domain (eg. `dsgroup100.co.uk`) or a subdomain (eg. `sandbox.dsgroupdev.co.uk` or `sandbox.testb.dsgroupdev.co.uk`) - - A DNS for this domain must exist in the `Safe Haven Domains` subscription, in the `RG_SHM_DNS_TEST` or `RG_SHM_DNS_PRODUCTION` resource group. - - To create a new DNS zone: - - From within the resource group click `"+" Add -> DNS Zone` and click "create" - - Set the **Name** field to the SRE domain (eg. `sandbox.dsgroupdev.co.uk`) - - Click "Review + create" - - Once deployment is finished, click "Go to resource" to view the new Azure DNS zone - - Copy the 4 nameservers in the "NS" record to the domain's DNS record - - if this is a top-level domain, contact whoever registered the domain - - if this is a subdomain of an existing Azure domain (eg. `sandbox.dsgroupdev.co.uk` then: - - go to the DNS zone for the top-level domain in Azure - - add a new NS record using the 4 nameservers you copied down above - ![Subdomain NS record](images/subdomain_ns_record.png) - - ### Deploying multiple SREs in parallel - **NOTE:** You can only deploy to **one SRE at a time** from a given computer as both the `Az` CLI and the `Az` Powershell module can only work within one Azure subscription at a time. For convenience we recommend using one of the Safe Haven deployment VMs on Azure for all production deploys. This will also let you deploy compute VMs in parallel to as many SREs as you have deployment VMs. See the [parallel deployment guide](../azure-vms/README-parallel-deploy-using-azure-vms.md) for details. - - - ## 2. Define SRE configuration - The full configuration details for a new SRE are generated by defining a few "core" properties for the new SRE and the management environment in which it will be deployed. - - ### Core SHM configuration properties - The core properties for the relevant pre-existing Safe Haven Management (SHM) environment must be present in the `environment_configs/core` folder. - The following core SHM properties must be defined in a JSON file named `shm__core_config.json`. - - **NOTE:** The `netbiosName` fields must have a maximum length of 15 characters. - - ```json - { - "subscriptionName": "Name of the Azure subscription the management environment is deployed in", - "domainSubscriptionName": "Name of the Azure subscription holding DNS records", - "adminSecurityGroupName" : "Name of the Azure Security Group that admins of this Safe Haven will belong to", - "computeVmImageSubscriptionName": "Azure Subscription name for compute VM", - "domain": "The fully qualified domain name for the management environment", - "netbiosname": "A short name to use as the local name for the domain. This must be 15 characters or less", - "shmId": "A short ID to identify the management environment", - "name": "Safe Haven deployment name", - "organisation": { - "name": "Organisation name", - "townCity": "Location", - "stateCountyRegion": "Location", - "countryCode": "e.g. GB" - }, - "location": "The Azure location in which the management environment VMs are deployed", - "ipPrefix": "The three octet IP address prefix for the Class A range used by the management environment. Use 10.0.0 for this unless you have a good reason to use another prefix." - } - ``` - - ### Core SRE configuration properties - - The core properties for the new SRE environment must be present in the `environment_configs/core` folder. - The following core SRE properties must be defined in a JSON file named `sre__core_config.json`. - - ```json - { - "subscriptionName": "Name of the Azure subscription the secure research environment is deployed in", - "adminSecurityGroupName" : "Name of the Azure Security Group that admins of this SHM belong to", - "sreId": "A short ID to identify the secure research environment. Ideally this should be 7 characters or less; if not it will be truncated in some places, but will otherwise not cause problems.", - "shmId": "The short ID for the SHM segment to deploy against", - "tier": "The data classification tier for the SRE. This controls the outbound network restrictions on the SRE and which mirror set the SRE is peered with", - "domain": "The fully qualified domain name for the SRE", - "netbiosname": "A short name to use as the local name for the domain. This must be 15 characters or less. If the first part of the domain is less than 15 characters, use this for the netbiosName", - "ipPrefix": "The three octet IP address prefix for the Class A range used by the management environemnt", - "rdsAllowedSources": "A comma-separated string of IP ranges (addresses or CIDR ranges) from which access to the RDS webclient is permitted. For Tier 0 and 1 this should be 'Internet'. For Tier 2 this should correspond to the any organisational networks (including guest networks) at the partner organisations where access should be permitted from (i.e. any network managed by the organsiation, such as EduRoam, Turing Guest, Turing Secure etc). For Tier 3 SREs, this should correspond to the RESTRICTED networks at the partner organisations. These should only permit connections from within meduim security access controlled physical spaces and from managed devices (e.g. Turing Secure). Using 'default' will use the default Turing networks.", - "rdsInternetAccess": "Whether to allow outbound internet access from inside the remote desktop environment. Either 'Allow', 'Deny' or 'default' (for Tier 0 and 1 'Allow' otherwise 'Deny')", - "computeVmImageType": "The name of the Compute VM image (most commonly 'Ubuntu')", - "computeVmImageVersion": "The version of the Compute VM image (e.g. 0.1.2019082900)" - } - ``` - - ### SRE IP Address prefix - - Each SRE must be assigned it's own unique IP address space, and it is very important that address spaces do not overlap in the environment as this will cause network faults. The address spaces use a private class A range and use a 21bit subnet mask. This provides ample addresses for a SRE and capacity to add additional subnets should that be required in the future. - - ### Generate full configuration for SRE - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the top-level folder within the Safe Haven repository. - - Generate a new full configuration file for the new SRE using the following commands. - - `Import-Module ./deployment/common/Configuration.psm1 -Force` - - `Add-SreConfig -sreId `, where `` is a short string, e.g. `sandbox` for `sandbox.dsgroupdev.co.uk` - - A full configuration file for the new SRE will be created at `environment_configs/full/sre__full_config.json`. This file is used by the subsequent steps in the SRE deployment. - - Commit this new full configuration file to the Safe Haven repository - - ## 3. Prepare Safe Haven Management deployment - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - ### Clear out any remaining SRE data from previous deployments - **NOTE** Ensure that the SRE subscription is completely empty before running this script. If the subscription is not empty, confirm that it is not being used before deleting the resources - - Clear any remaining SRE data from the SHM by running `./Remove_SRE_Data_From_SHM.ps1 -sreId `, where the SRE ID is the one specified in the config. - - ### Set up users and DNS - - Prepare SHM by running `./Prepare_SHM.ps1 -sreId `, where the SRE ID is the one specified in the config - - This step also creates a KeyVault in the SRE subscription in `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`. Additional deployment steps will add secrets to this KeyVault and you will need to access some of these for some of the manual configuration steps later. - - ## 4. Deploy Virtual Network - - ### Create the virtual network - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run `./Create_VNET.ps1 -sreId `, where the SRE ID is the one specified in the config - - The deployment will take around 20 minutes. Most of this is deploying the virtual network gateway. - - The VNet peerings may take a few minutes to provision after the script completes. - - ### Set up a VPN connection to the SRE - - In the **SRE subscription** open `Resource Groups -> RG_SRE_NETWORKING -> VNET_SRE__GW` - - Select "**Point to Site Configuration**" from the left-hand navigation - - Download the VPN client from the "Point to Site configuration" menu - ![VPN client](images/vpn_client.png) - - Install the VPN on your PC and test. See the [Configure a VPN connection to the Safe Haven Management VNet](#Configure-a-VPN-connection-to-the-Safe-Haven-Management-VNet) section in the [Prerequisites](#Prerequisites) list above for instructions. You can re-use the same client certificate as used for the VPN to the management VNet gateway. - - ## 5. Deploy SRE Domain Controller - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run `./Setup_SRE_DC.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - The deployment will normally take around 30 minutes. Most of this is running the setup scripts after creating the VM. However it may take longer if many Windows updates need to be performed. - - **Troubleshooting:** If the see errors such as `Installing Windows updates failed` you should try destroying the resources in `RG_SRE_DC` and then re-running the script - - - ## 6. Deploy Remote Desktop Service Environment - ### Create RDS VMs and perform initial configuration - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Deploy and configure the RDS VMs by running `./Setup_SRE_RDS_Servers.ps1 -sreId `, where the SRE ID is the one specified in the config - - The deployment will take around 40 minutes to complete. - - ### Install and configure RDS Environment and webclient - - Connect to the **RDS Gateway** via Remote Desktop client over the SRE VPN connection - - The IP address can be found using the Azure portal by navigating to the Virtual Machine (`Resource Groups -> RG_SRE_RDS -> RDG-SRE-`) - - Login as the **SRE domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) - - #### Install RDS environment and webclient - - Open a PowerShell command window with elevated privileges - make sure to use the `Windows PowerShell` application, not the `Windows PowerShell (x86)` application. The required server management commandlets are not installed on the x86 version. - - Run `C:\Installation\Deploy_RDS_Environment.ps1` (prefix the command with a leading `.\` if running from within the `C:\Installation` directory) - - This script will take about 20 minutes to run (this cannot be done remotely, as it needs to be run as a domain user but remote Powershell uses a local user) - - #### Configure RDS to use SHM NPS server for client access policies - - In "Server Manager", open `Tools -> Remote Desktop Services -> Remote Desktop Gateway Manager` - ![Remote Desktop Gateway Manager](images/rd_gateway_manager_01.png) - - In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" - ![RDS server properties](images/rd_gateway_manager_02.png) - - Select "RD CAP Store" tab - - Select the "Central Server Running NPS" - - Enter the IP address of the NPS within the management domain (this will be `10..0.248`, you can see it from the Azure portal (`Resource Groups -> RG_SHM_NPS -> NPS-SHM-`) - - Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). - ![RD CAP store](images/rd_gateway_manager_03.png) - - Click "OK" to close the dialogue box. - - #### Set the security groups for access to session hosts - - Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` - - Right click on "RDG_AllDomainComputers" and select "Properties` - ![Session host security groups](images/rd_gateway_session_hosts_01.png) - - On the "User Groups" tab click "Add" - - Click "Locations" and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click "OK" - - Enter "SG" into the "Enter the object names to select" box and click on "Check Names" select the `SG Research Users`security group from the list. - ![Session host security groups](images/rd_gateway_session_hosts_02.png) - - Click "OK" and the group will be added to the "User Groups" screen - ![Session host security groups](images/rd_gateway_session_hosts_03.png) - - Click "OK" to exit the dialogue box - - Right click on "RDG_RDConnectionBrokers" policy and select "Properties" - ![Session host security groups](images/rd_gateway_session_hosts_04.png) - - Repeat the process you did for the "RDG_AllDomainComputers" policy, again adding the `SG Research Users`security group from the list. - - #### Increase the authorisation timeout to allow for MFA - - In "Server Manager", select `Tools -> Network Policy Server` - - Expand `NPS (Local) -> RADIUS Clients and Servers -> Remote RADIUS Server Groups` and double click on `TS GATEWAY SERVER GROUP` - ![Remote RADIUS server](images/media/rds_local_nps_remote_server_selection.png) - - Highlight the server shown in the “RADIUS Server” column and click “Edit” - - Change to the “Load Balancing” tab and change the parameters to match the screen below - ![Load balancing](images/media/rds_local_nps_remote_server_timeouts.png) - - Click “OK” twice and close “Network Policy Server” MMC - - ### Configuration of SSL on RDS Gateway - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run the `./CreateUpdate_Signed_Ssl_Certificate.ps1 -sreId -emailAddress `, where the SRE ID is the one specified in the config and the email address is one that you would like to be notified when certificate expiry is approaching. - - **NOTE:** This script should be run again whenever you want to update the certificate for this SRE. - - **Troubleshooting:** Let's Encrypt will only issue **5 certificates per week** for a particular host (e.g. `rdg-sre-sandbox.sandbox.dsgroupdev.co.uk`). For production environments this should usually not be an issue. The signed certificates are also stored in the KeyVault for easy redeployment. However, if you find yourself needing to re-run this step without the KeyVault secret available, either to debug an error experienced in production or when redeploying a test environment frequently during development, you should run `./CreateUpdate_Signed_Ssl_Certificate.ps1 -dryRun $true` to use the Let's Encrypt staging server, which will issue certificates more frequently. However, these certificates will not be trusted by your browser, so you will need to override the security warning in your browser to access the RDS web client for testing. - - ### Test RDS deployment - - Disconnect from any SRE VMs and connect to the SHM VPN - - Connect to the **SHM Domain Controller** via the Remote Desktop client - - Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal. They are in the `RG_SHM_SECRETS` resource group, in the `kv-shm-` key vault, under "SECRETS". - - The username is the `shm--dcnps-admin-username` secret plus `@` where you add your custom SHM domain. For example `shmtestbadmin@testb.dsgroupdev.co.uk` - - The password in the `shm--dcnps-admin-password` secret. - - **NB. Before performing the remaining steps, ensure that you have created a non-privileged user account that you can use for testing. You must ensure that you have assigned a licence to this user so that MFA will work correctly. In the following example, we assume that you are using the automatically-created test researcher.** - - In the "Server Management" app, click `Tools -> Active Directory Users and Computers` - - Open the `Safe Haven Security Groups` OU - - Right click the `SG Research Users` security group and select "Properties" - - Click on the "Members" tab and click the "Add" button - - Enter the start of the `` and click "Check names" - - Select the ` Test Researcher` and click "Ok" - - Click "Ok" again to exit the add users dialogue - - At this point please ensure that this account is fully set-up (including MFA) as [detailed in the user guide](../../docs/safe_haven_user_guide.md) - - Launch a local web browser and go to `https://.` (eg. `https://sandbox.dsgroupdev.co.uk/`) and log in. - - **Troubleshooting** If you get a "404 resource not found" error when accessing the webclient URL, it is likely that you missed the step of installing the RDS webclient. - - Go back to the previous section and run the webclient installation step. - - Once the webclient is installed, you will need to manually run the steps from the SSL certificate generation script to install the SSL certificate on the webclient. Still on the RDS Gateway, run the commands below, replacing `` with the path to the `xxx_full_chain.pem` file in the `C:\Certificates` folder. - - `Import-RDWebClientBrokerCert ` - - `Publish-RDWebClientPackage -Type Production -Latest` - - **Troubleshooting** If you get an "unexpected server authentication certificate error", your browser has probably cached a previous certificate for this domain. - - Do a [hard reload](https://www.getfilecloud.com/blog/2015/03/tech-tip-how-to-do-hard-refresh-in-browsers/) of the page (permanent fix) - - OR open a new private / incognito browser window and visit the page. - - **Troubleshooting** If you can see an empty screen with "Work resources" but no app icons, your user has not been correctly added to the security group. - - Once you have logged in, click on the "Presentation server" app icon. You should receive an MFA request to your phone or authentication app. - - **Troubleshooting** If you can log in to the initial webclient authentication but don't get the MFA request, then the issue is likely that the configuration of the connection between the SHM NPS server and the RDS Gateway server is not correct. - - Ensure that both the SHM NPS server and the RDS Gateway are running - - Ensure that the [SHM NPS server RADIUS Client configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) is using the **private** IP address of the RDS Gateway and **not** its public one. - - Use the Event viewer on the SRE RDS Gateway (`Custom views > Server roles > Network Policy and Access Services`) to check whether the NPS server is contactable and whether it is discarding requests - - Use the Event viewer on the SHM NPS server (`Custom views > Server roles > Network Policy and Access Services`) to check whether NPS requests are being received and whether the NPS server has an LDAP connection to the SHM DC. - - One common error on the NPS server is `A RADIUS message was received from the invalid RADIUS client IP address x.x.x.x`. [This help page](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd316135(v=ws.10)) might be useful. This may indicate that the shared secret is different between the SHM and SRE. - - Ensure the same shared secret from the `sre--nps-secret` in the SRE KeyVault is used in **both** the SHM NPS server RADIUS Client configuration (you can set this manually by connecting to the Network Policy Server) and the [SRE RDS Gateway RD CAP Store configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) (see previous sections for instructions). - - Ensure that the `Windows Firewall` is set to `Domain Network` on both the SHM NPS server and the SRE RDS Gateway - - **Troubleshooting** If you get a "We couldn't connect to the gateway because of an error" message, it's likely that the "Remote RADIUS Server" authentication timeouts have not been [increased as described in a previous section](sre_build_instructions.md#increase-the-authorisation-timeout-to-allow-for-mfa). It seems that these are reset everytime the "Central CAP store" shared RADIUS secret is changed. - - **Troubleshooting** If you get multiple MFA requests with no change in the "Opening ports" message, it may be that the shared RADIUS secret does not match on the SHM server and SRE RDS Gateway. It is possible that this may occur if the password is too long. We previously experienced this issue with a 20 character shared secret and this error went away when we reduced the length of the secret to 12 characters. We then got a "We couldn't connect to the gateway because of an error" message, but were then able to connect successfully after again increasing the authorisation timeout for the remote RADIUS server on the RDS Gateway. - - **Troubleshooting** If you are able to log into the webclient with a username and password but cannot connect to the presentation server (as no MFA prompt is given), please look at [this documentation](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd316134(v=ws.10)). In particular, ensure that the default UDP ports `1812`, `1813`, `1645` and `1646` are all open on the SHM NPS network security group (`NSG_SHM_SUBNET_IDENTITY`). - - Once you have approved the sign in, you should see a remote Windows desktop. - - **NOTE:** The other apps will not work until the other servers have been deployed. - - - ## 7. Deploy Data Server - ### Create Dataserver VM - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run the `./Setup_Data_Server.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - The deployment will take around 20 minutes to complete - - ## 8. Deploy Web Application Servers (Gitlab and HackMD) - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run the `./Create_Web_App_Servers.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - The deployment will take a few minutes to complete - - ### Test GitLab Server - - There is a built-in `root` user, whose password is stored in the SRE KeyVault (see SRE config file for KeyVault and secret names). - - You can test Gitlab from inside the RDS environment by connecting to `.151` and logging in with the full `username@` of a user in the `SG Research Users` security group. - - ### Test HackMD Server - - You can test HackMD from inside the RDS environment by connecting to `.152:3000` and logging in with the full `username@` of a user in the `SG DSGROUP Research Users` security group. - - ## 9. Deploy initial shared compute VM - ### [OPTIONAL] Create a custom cloud init file for the SRE if required - - By default, compute VM deployments will use the `cloud-init-compute-vm.template.yaml` configuration file in the `/environment_configs/cloud_init/` folder. This does all the necessary steps to configure the VM to work with LDAP log on etc. - - If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. - - ### Deploy a compute VM - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run `git fetch;git pull;git status;git log -1 --pretty="At commit %h (%H)"` to verify you are on the correct branch and up to date with `origin` (and to output this confirmation and the current commit for inclusion in the deployment record). - - Deploy a new VM into an SRE environment using `./Create_Compute_VM.ps1 -sreId `, where the SRE ID is the one specified in the config - - You will also be prompted for the VM size (optional) and the desired last octet of the IP address (the first machine deployed should use `160` here) - - The initial shared VM should be deployed with the last octet `160` - - The convention is that subsequent CPU-based VMs are deployed with the next unused last octet in the range `161` to `179` and GPU-based VMs are deployed with the next unused last octet between `180` and `199`. - - After deployment, copy everything from the `git fetch;...` command and its output to the command prompt returned after the VM deployment and paste this into the deployment log (e.g. a Github issue used to record VM deployments for a SRE or set of SREs) - - The deployment will take around 10 minutes to complete - - ### Troubleshooting Compute VM deployments - - Click on the VM in the SRE subscription under the `RG_DSG_COMPUTE` resource group. It will have the last octet of its IP address at the end of its name. - - Click on the "Serial console" item near the bottom of the VM menu on the left hand side of the VM information panel - - If you are not prompted with `login:`, hit enter until the prompt appears - - Enter the username from the `-dsvm-admin-username` secret in the SRE KeyVault. - - Enter the password from the `-dsvm-admin-password` secret in the SRE KeyVault. - - To validate that our custom `cloud-init.yaml` file has been successfully uploaded, run `sudo cat /var/lib/cloud/instance/user-data.txt`. You should see the contents of the `secure_research_environment/azure-vms/environment_configs/cloud-init-compute-vm-sre-.template.yaml` file in the Safe Haven git repository. - - To see the output of our custom `cloud-init.yaml` file, run `sudo tail -n 200 /var/log/cloud-init-output.log` and scroll up. - - ## 10. Apply network configuration - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run the `./Apply_Network_Configuration.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - ### Unpeering package mirrors - The `Apply_Network_Configuration.ps1` script ensures that the SRE is peered to the correct mirror network. - However, if you need to unpeer the mirror networks for some reason (e.g. while preparing an SRE subscription for re-use), you can run the unpeering script separately as described below. - - **Note: this script should not normally be run manually** - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - - Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - - Run the `./Unpeer_Sre_And_Mirror_Networks.ps1 -sreId ` script, where the SRE ID is the one specified in the config - - - ## 11. Run smoke tests on shared compute VM - These tests should be run **after** the network lock down and peering the DSG and mirror VNets. They are automatically uploaded to the compute VM during the deployment step. - - To run the smoke tests: - - Connect to a **remote desktop** on the Main VM (e.g. `https://sandbox.dsgroupdev.co.uk/`) using the "Main VM (Desktop)" app - - Open a terminal session - - Copy the tests folder using `cp ~/smoke_tests ~/smoke_tests` - - Enter the test directory using `cd ~/smoke_tests/test` - - Run `source run_all_tests.sh`. Check `README.md` if anything is unclear. - - If all test results are expected you are done! Otherwise, contact Turing REG for help diagnosing test failures. - - ## Server list - - The following virtual machines are created as a result of these instructions: - - `DC-SRE-` (domain controller) - - `DAT-SRE-` (data server) - - `HACKMD-SRE-` (HackMD server) - - `GITLAB-SRE-` (GitLab server) - - `RDG-SRE-` (Remote Desktop Gateway) - - `APP-SRE-` (Remote Desktop app server) - - `DKP-SRE-` (Remote Desktop desktop server) - - `SRE--160-DSVM-0-1-2019082900` (initial shared compute VM at IP address `.160`) +# Secure Research Environment Build Instructions +The following instructions will walk you through deploying a Secure Research Environment. This assumes the Safe Haven Management (SHM) environment has already been set up. + +## Contents +1. [Prerequisites](#1-prerequisites) +2. [Define SRE configuration](#2-define-sre-configuration) +3. [Prepare Safe Haven Management deployment](#3-prepare-safe-haven-management-deployment) +4. [Deploy Virtual Network](#4-deploy-virtual-network) +5. [Deploy SRE Domain Controller](#5-deploy-sre-domain-controller) +6. [Deploy Remote Desktop Service Environment](#6-deploy-remote-desktop-service-environment) +7. [Deploy Data Server](#7-deploy-data-server) +8. [Deploy Web Application Servers (Gitlab and HackMD)](#8-deploy-web-application-servers-gitlab-and-hackmd) +9. [Deploy initial shared compute VM](#9-deploy-initial-shared-compute-vm) +10. [Apply network configuration](#10-apply-network-configuration) +11. [Run smoke tests on shared compute VM](#11-run-smoke-tests-on-shared-compute-vm) + +## 1. Prerequisites +- An Azure subscription with sufficient credits to build the environment in + - If deploying at Turing, you will need to be a member of the relevant Azure Security Group: `Safe Haven Test Admins` for testing/development or `Safe Haven Production Admins` for production deployment. This will give you the administrative access to: + - the relevant Safe Haven Management Azure subscription + - the relevant Safe Haven Management Active Directory Domain + - the relevant Safe Haven Management VMs +- `PowerShell` for Azure + - Install [PowerShell v6.0 or above](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-2.2.0) + - Install the Azure [PowerShell Module](https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-2.2.0&viewFallbackFrom=azps-1.3.0) +- `Microsoft Remote Desktop` + - On Mac this can be installed from the [apple store](https://itunes.apple.com/gb/app/microsoft-remote-desktop-10/id1295203466?mt=12) +- `OpenSSL` + - Install using your package manager of choice + +### Download a client VPN certificate for the Safe Haven Management VNet +- Navigate to the Safe Haven Management (SHM) KeyVault in the Safe Haven Management subscription via `Resource Groups -> RG_SHM_SECRETS -> kv-shm-`. +- Once there open the "Certificates" page under the "Settings" section in the left hand sidebar. +- Click on the certificate named `shm--vpn-client-cert`, click on the "current version" and click the "Download in PFX/PEM format" link. +- To install, double click on the downloaded certificate, leaving the password field blank. +- **Make sure to securely delete the "\*.pfx" certificate file after you have installed it.** +- This certificate will also allow you to connect via VPN to the SRE VNets once deployed. + +### Configure a VPN connection to the Safe Haven Management VNet +- Navigate to the Safe Haven Management (SHM) VNet gateway in the SHM subscription via `Resource Groups -> RG_SHM_NETWORKING -> VNET_SHM__GW`, where `` is defined in the config file. Once there open the "Point-to-site configuration page under the "Settings" section in the left hand sidebar (see image below). +- Click the "Download VPN client" link at the top of the page to get the root certificate (`VpnServerRoot.cer`) and VPN configuration file (`VpnSettings.xml`), then follow the [VPN set up instructions](https://docs.microsoft.com/en-us/azure/vpn-gateway/point-to-site-vpn-client-configuration-azure-cert) using the Windows or Mac sections as appropriate. +- On Windows you may get a "Windows protected your PC" pop up. If so, click `More info -> Run anyway` +- On Windows do not rename the vpn client as this will break it +- Note that on OSX double clicking on the root certificate may not result in any pop-up dialogue, but the certificate should still be installed. You can view the details of the downloaded certificate by highlighting the certificate file in Finder and pressing the spacebar. You can then look for the certificate of the same name in the login KeyChain and view it's details by double clicking the list entry. If the details match the certificate has been successfully installed. + + ![Point-to-site connection](images/vpn/point_to_site.png) + +- Continue to follow the set up instructions from the link above, using SSTP (Windows) or IKEv2 (OSX) for the VPN type and naming the VPN connection "Safe Haven Management Gateway (``)", where `` is defined in the config file. + +### Ensure the required SRE resources can be accessed +- Access to a new Azure subscription which the SRE will be deployed to + - If a subscription does not exist, create one with the name `Secure Research Environment ()`, picking an SRE ID that is not yet in use and setting `` to the value given in the config file. + - Add an initial $3,000 for test and production sandbox environments and the project specific budget for production project environments + - Give the relevant "Safe Haven `` Admins" Security Group **Owner** role on the new SRE subscription +- Access to a public routable domain name for the SRE and its name servers + - This can be a top-level domain (eg. `dsgroup100.co.uk`) or a subdomain (eg. `sandbox.dsgroupdev.co.uk` or `sandbox.testb.dsgroupdev.co.uk`) + - A DNS for this domain must exist in the `Safe Haven Domains` subscription, in the `RG_SHM_DNS_TEST` or `RG_SHM_DNS_PRODUCTION` resource group. + - To create a new DNS zone: + - From within the resource group click `"+" Add -> DNS Zone` and click "create" + - Set the **Name** field to the SRE domain (eg. `sandbox.dsgroupdev.co.uk`) + - Click "Review + create" + - Once deployment is finished, click "Go to resource" to view the new Azure DNS zone + - Copy the 4 nameservers in the "NS" record to the domain's DNS record + - if this is a top-level domain, contact whoever registered the domain + - if this is a subdomain of an existing Azure domain (eg. `sandbox.dsgroupdev.co.uk` then: + - go to the DNS zone for the top-level domain in Azure + - add a new NS record using the 4 nameservers you copied down above + ![Subdomain NS record](images/subdomain_ns_record.png) + +### Deploying multiple SREs in parallel +**NOTE:** You can only deploy to **one SRE at a time** from a given computer as both the `Az` CLI and the `Az` Powershell module can only work within one Azure subscription at a time. For convenience we recommend using one of the Safe Haven deployment VMs on Azure for all production deploys. This will also let you deploy compute VMs in parallel to as many SREs as you have deployment VMs. See the [parallel deployment guide](../azure-vms/README-parallel-deploy-using-azure-vms.md) for details. + + +## 2. Define SRE configuration +The full configuration details for a new SRE are generated by defining a few "core" properties for the new SRE and the management environment in which it will be deployed. + +### Core SHM configuration properties +The core properties for the relevant pre-existing Safe Haven Management (SHM) environment must be present in the `environment_configs/core` folder. +The following core SHM properties must be defined in a JSON file named `shm__core_config.json`. + +**NOTE:** The `netbiosName` fields must have a maximum length of 15 characters. + +```json +{ + "subscriptionName": "Name of the Azure subscription the management environment is deployed in", + "domainSubscriptionName": "Name of the Azure subscription holding DNS records", + "adminSecurityGroupName" : "Name of the Azure Security Group that admins of this Safe Haven will belong to", + "computeVmImageSubscriptionName": "Azure Subscription name for compute VM", + "domain": "The fully qualified domain name for the management environment", + "netbiosname": "A short name to use as the local name for the domain. This must be 15 characters or less", + "shmId": "A short ID to identify the management environment", + "name": "Safe Haven deployment name", + "organisation": { + "name": "Organisation name", + "townCity": "Location", + "stateCountyRegion": "Location", + "countryCode": "e.g. GB" + }, + "location": "The Azure location in which the management environment VMs are deployed", + "ipPrefix": "The three octet IP address prefix for the Class A range used by the management environment. Use 10.0.0 for this unless you have a good reason to use another prefix." +} +``` + +### Core SRE configuration properties + +The core properties for the new SRE environment must be present in the `environment_configs/core` folder. +The following core SRE properties must be defined in a JSON file named `sre__core_config.json`. + +```json +{ + "subscriptionName": "Name of the Azure subscription the secure research environment is deployed in", + "adminSecurityGroupName" : "Name of the Azure Security Group that admins of this SHM belong to", + "sreId": "A short ID to identify the secure research environment. Ideally this should be 7 characters or less; if not it will be truncated in some places, but will otherwise not cause problems.", + "shmId": "The short ID for the SHM segment to deploy against", + "tier": "The data classification tier for the SRE. This controls the outbound network restrictions on the SRE and which mirror set the SRE is peered with", + "domain": "The fully qualified domain name for the SRE", + "netbiosname": "A short name to use as the local name for the domain. This must be 15 characters or less. If the first part of the domain is less than 15 characters, use this for the netbiosName", + "ipPrefix": "The three octet IP address prefix for the Class A range used by the management environemnt", + "rdsAllowedSources": "A comma-separated string of IP ranges (addresses or CIDR ranges) from which access to the RDS webclient is permitted. For Tier 0 and 1 this should be 'Internet'. For Tier 2 this should correspond to the any organisational networks (including guest networks) at the partner organisations where access should be permitted from (i.e. any network managed by the organsiation, such as EduRoam, Turing Guest, Turing Secure etc). For Tier 3 SREs, this should correspond to the RESTRICTED networks at the partner organisations. These should only permit connections from within meduim security access controlled physical spaces and from managed devices (e.g. Turing Secure). Using 'default' will use the default Turing networks.", + "rdsInternetAccess": "Whether to allow outbound internet access from inside the remote desktop environment. Either 'Allow', 'Deny' or 'default' (for Tier 0 and 1 'Allow' otherwise 'Deny')", + "computeVmImageType": "The name of the Compute VM image (most commonly 'Ubuntu')", + "computeVmImageVersion": "The version of the Compute VM image (e.g. 0.1.2019082900)" +} +``` + +### SRE IP Address prefix + +Each SRE must be assigned it's own unique IP address space, and it is very important that address spaces do not overlap in the environment as this will cause network faults. The address spaces use a private class A range and use a 21bit subnet mask. This provides ample addresses for a SRE and capacity to add additional subnets should that be required in the future. + +### Generate full configuration for SRE +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the top-level folder within the Safe Haven repository. +- Generate a new full configuration file for the new SRE using the following commands. + - `Import-Module ./deployment/common/Configuration.psm1 -Force` + - `Add-SreConfig -sreId `, where `` is a short string, e.g. `sandbox` for `sandbox.dsgroupdev.co.uk` +- A full configuration file for the new SRE will be created at `environment_configs/full/sre__full_config.json`. This file is used by the subsequent steps in the SRE deployment. +- Commit this new full configuration file to the Safe Haven repository + +## 3. Prepare Safe Haven Management deployment +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` + +### Clear out any remaining SRE data from previous deployments +**NOTE** Ensure that the SRE subscription is completely empty before running this script. If the subscription is not empty, confirm that it is not being used before deleting the resources +- Clear any remaining SRE data from the SHM by running `./Remove_SRE_Data_From_SHM.ps1 -sreId `, where the SRE ID is the one specified in the config. + +### Set up users and DNS +- Prepare SHM by running `./Prepare_SHM.ps1 -sreId `, where the SRE ID is the one specified in the config +- This step also creates a KeyVault in the SRE subscription in `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`. Additional deployment steps will add secrets to this KeyVault and you will need to access some of these for some of the manual configuration steps later. + +## 4. Deploy Virtual Network + +### Create the virtual network +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run `./Create_VNET.ps1 -sreId `, where the SRE ID is the one specified in the config +- The deployment will take around 20 minutes. Most of this is deploying the virtual network gateway. +- The VNet peerings may take a few minutes to provision after the script completes. + +### Set up a VPN connection to the SRE +- In the **SRE subscription** open `Resource Groups -> RG_SRE_NETWORKING -> VNET_SRE__GW` + - Select "**Point to Site Configuration**" from the left-hand navigation + - Download the VPN client from the "Point to Site configuration" menu + ![VPN client](images/vpn_client.png) + - Install the VPN on your PC and test. See the [Configure a VPN connection to the Safe Haven Management VNet](#Configure-a-VPN-connection-to-the-Safe-Haven-Management-VNet) section in the [Prerequisites](#Prerequisites) list above for instructions. You can re-use the same client certificate as used for the VPN to the management VNet gateway. + +## 5. Deploy SRE Domain Controller +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run `./Setup_SRE_DC.ps1 -sreId ` script, where the SRE ID is the one specified in the config +- The deployment will normally take around 30 minutes. Most of this is running the setup scripts after creating the VM. However it may take longer if many Windows updates need to be performed. +- **Troubleshooting:** If you see errors such as `Installing Windows updates failed` you should try re-running the script (you do not need to destroy existing resources as the script is idempotent). + +## 6. Deploy Remote Desktop Service Environment +### Create RDS VMs and perform initial configuration +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Setup_SRE_RDS_Servers.ps1 -sreId `, where the SRE ID is the one specified in the config +- The deployment will take around 40 minutes to complete. + +### Install and configure RDS Environment and webclient +- Connect to the **RDS Gateway** via Remote Desktop client over the SRE VPN connection +- The IP address can be found using the Azure portal by navigating to the Virtual Machine (`Resource Groups -> RG_SRE_RDS -> RDG-SRE-`) +- Login as the **SRE domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) + +#### Install RDS environment and webclient +- Open a PowerShell command window with elevated privileges - make sure to use the `Windows PowerShell` application, not the `Windows PowerShell (x86)` application. The required server management commandlets are not installed on the x86 version. +- Run `C:\Installation\Deploy_RDS_Environment.ps1` (prefix the command with a leading `.\` if running from within the `C:\Installation` directory) +- This script will take about 20 minutes to run (this cannot be done remotely, as it needs to be run as a domain user but remote Powershell uses a local user) + +#### Configure RDS to use SHM NPS server for client access policies +- In "Server Manager", open `Tools -> Remote Desktop Services -> Remote Desktop Gateway Manager` + ![Remote Desktop Gateway Manager](images/rd_gateway_manager_01.png) +- In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" + ![RDS server properties](images/rd_gateway_manager_02.png) +- Select "RD CAP Store" tab +- Select the "Central Server Running NPS" +- Enter the IP address of the NPS within the management domain (this will be `10..0.248`, you can see it from the Azure portal (`Resource Groups -> RG_SHM_NPS -> NPS-SHM-`) +- Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). + ![RD CAP store](images/rd_gateway_manager_03.png) +- Click "OK" to close the dialogue box. + +#### Set the security groups for access to session hosts +- Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` +- Right click on "RDG_AllDomainComputers" and select "Properties` + ![Session host security groups](images/rd_gateway_session_hosts_01.png) +- On the "User Groups" tab click "Add" +- Click "Locations" and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click "OK" +- Enter "SG" into the "Enter the object names to select" box and click on "Check Names" select the `SG Research Users`security group from the list. + ![Session host security groups](images/rd_gateway_session_hosts_02.png) +- Click "OK" and the group will be added to the "User Groups" screen + ![Session host security groups](images/rd_gateway_session_hosts_03.png) +- Click "OK" to exit the dialogue box +- Right click on "RDG_RDConnectionBrokers" policy and select "Properties" + ![Session host security groups](images/rd_gateway_session_hosts_04.png) +- Repeat the process you did for the "RDG_AllDomainComputers" policy, again adding the `SG Research Users`security group from the list. + +#### Increase the authorisation timeout to allow for MFA +- In "Server Manager", select `Tools -> Network Policy Server` +- Expand `NPS (Local) -> RADIUS Clients and Servers -> Remote RADIUS Server Groups` and double click on `TS GATEWAY SERVER GROUP` + ![Remote RADIUS server](images/media/rds_local_nps_remote_server_selection.png) +- Highlight the server shown in the “RADIUS Server” column and click “Edit” +- Change to the “Load Balancing” tab and change the parameters to match the screen below + ![Load balancing](images/media/rds_local_nps_remote_server_timeouts.png) +- Click “OK” twice and close “Network Policy Server” MMC + +### Configuration of SSL on RDS Gateway +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./CreateUpdate_Signed_Ssl_Certificate.ps1 -sreId -emailAddress `, where the SRE ID is the one specified in the config and the email address is one that you would like to be notified when certificate expiry is approaching. +- **NOTE:** This script should be run again whenever you want to update the certificate for this SRE. +- **Troubleshooting:** Let's Encrypt will only issue **5 certificates per week** for a particular host (e.g. `rdg-sre-sandbox.sandbox.dsgroupdev.co.uk`). For production environments this should usually not be an issue. The signed certificates are also stored in the KeyVault for easy redeployment. However, if you find yourself needing to re-run this step without the KeyVault secret available, either to debug an error experienced in production or when redeploying a test environment frequently during development, you should run `./CreateUpdate_Signed_Ssl_Certificate.ps1 -dryRun $true` to use the Let's Encrypt staging server, which will issue certificates more frequently. However, these certificates will not be trusted by your browser, so you will need to override the security warning in your browser to access the RDS web client for testing. + +### Test RDS deployment +- Disconnect from any SRE VMs and connect to the SHM VPN +- Connect to the **SHM Domain Controller** via the Remote Desktop client +- Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal. They are in the `RG_SHM_SECRETS` resource group, in the `kv-shm-` key vault, under "SECRETS". + - The username is the `shm--dcnps-admin-username` secret plus `@` where you add your custom SHM domain. For example `shmtestbadmin@testb.dsgroupdev.co.uk` + - The password in the `shm--dcnps-admin-password` secret. +- **NB. Before performing the remaining steps, ensure that you have created a non-privileged user account that you can use for testing. You must ensure that you have assigned a licence to this user so that MFA will work correctly. In the following example, we assume that you are using the automatically-created test researcher.** +- In the "Server Management" app, click `Tools -> Active Directory Users and Computers` +- Open the `Safe Haven Security Groups` OU +- Right click the `SG Research Users` security group and select "Properties" +- Click on the "Members" tab and click the "Add" button +- Enter the start of the `` and click "Check names" +- Select the ` Test Researcher` and click "Ok" +- Click "Ok" again to exit the add users dialogue +- At this point please ensure that this account is fully set-up (including MFA) as [detailed in the user guide](../../docs/safe_haven_user_guide.md) +- Launch a local web browser and go to `https://.` (eg. `https://sandbox.dsgroupdev.co.uk/`) and log in. + - **Troubleshooting** If you get a "404 resource not found" error when accessing the webclient URL, it is likely that you missed the step of installing the RDS webclient. + - Go back to the previous section and run the webclient installation step. + - Once the webclient is installed, you will need to manually run the steps from the SSL certificate generation script to install the SSL certificate on the webclient. Still on the RDS Gateway, run the commands below, replacing `` with the path to the `xxx_full_chain.pem` file in the `C:\Certificates` folder. + - `Import-RDWebClientBrokerCert ` + - `Publish-RDWebClientPackage -Type Production -Latest` + - **Troubleshooting** If you get an "unexpected server authentication certificate error", your browser has probably cached a previous certificate for this domain. + - Do a [hard reload](https://www.getfilecloud.com/blog/2015/03/tech-tip-how-to-do-hard-refresh-in-browsers/) of the page (permanent fix) + - OR open a new private / incognito browser window and visit the page. + - **Troubleshooting** If you can see an empty screen with "Work resources" but no app icons, your user has not been correctly added to the security group. +- Once you have logged in, click on the "Presentation server" app icon. You should receive an MFA request to your phone or authentication app. + - **Troubleshooting** If you can log in to the initial webclient authentication but don't get the MFA request, then the issue is likely that the configuration of the connection between the SHM NPS server and the RDS Gateway server is not correct. + - Ensure that both the SHM NPS server and the RDS Gateway are running + - Ensure that the [SHM NPS server RADIUS Client configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) is using the **private** IP address of the RDS Gateway and **not** its public one. + - Use the Event viewer on the SRE RDS Gateway (`Custom views > Server roles > Network Policy and Access Services`) to check whether the NPS server is contactable and whether it is discarding requests + - Use the Event viewer on the SHM NPS server (`Custom views > Server roles > Network Policy and Access Services`) to check whether NPS requests are being received and whether the NPS server has an LDAP connection to the SHM DC. + - One common error on the NPS server is `A RADIUS message was received from the invalid RADIUS client IP address x.x.x.x`. [This help page](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd316135(v=ws.10)) might be useful. This may indicate that the shared secret is different between the SHM and SRE. + - Ensure the same shared secret from the `sre--nps-secret` in the SRE KeyVault is used in **both** the SHM NPS server RADIUS Client configuration (you can set this manually by connecting to the Network Policy Server) and the [SRE RDS Gateway RD CAP Store configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) (see previous sections for instructions). + - Ensure that the `Windows Firewall` is set to `Domain Network` on both the SHM NPS server and the SRE RDS Gateway + - **Troubleshooting** If you get a "We couldn't connect to the gateway because of an error" message, it's likely that the "Remote RADIUS Server" authentication timeouts have not been [increased as described in a previous section](sre_build_instructions.md#increase-the-authorisation-timeout-to-allow-for-mfa). It seems that these are reset everytime the "Central CAP store" shared RADIUS secret is changed. + - **Troubleshooting** If you get multiple MFA requests with no change in the "Opening ports" message, it may be that the shared RADIUS secret does not match on the SHM server and SRE RDS Gateway. It is possible that this may occur if the password is too long. We previously experienced this issue with a 20 character shared secret and this error went away when we reduced the length of the secret to 12 characters. We then got a "We couldn't connect to the gateway because of an error" message, but were then able to connect successfully after again increasing the authorisation timeout for the remote RADIUS server on the RDS Gateway. + - **Troubleshooting** If you are able to log into the webclient with a username and password but cannot connect to the presentation server (as no MFA prompt is given), please look at [this documentation](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd316134(v=ws.10)). In particular, ensure that the default UDP ports `1812`, `1813`, `1645` and `1646` are all open on the SHM NPS network security group (`NSG_SHM_SUBNET_IDENTITY`). +- Once you have approved the sign in, you should see a remote Windows desktop. +- **NOTE:** The other apps will not work until the other servers have been deployed. + + +## 7. Deploy Data Server +### Create Dataserver VM +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./Setup_Data_Server.ps1 -sreId ` script, where the SRE ID is the one specified in the config +- The deployment will take around 20 minutes to complete + +## 8. Deploy Web Application Servers (Gitlab and HackMD) +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./Create_Web_App_Servers.ps1 -sreId ` script, where the SRE ID is the one specified in the config +- The deployment will take a few minutes to complete + +### Test GitLab Server +- There is a built-in `root` user, whose password is stored in the SRE KeyVault (see SRE config file for KeyVault and secret names). +- You can test Gitlab from inside the RDS environment by connecting to `.151` and logging in with the full `username@` of a user in the `SG Research Users` security group. + +### Test HackMD Server +- You can test HackMD from inside the RDS environment by connecting to `.152:3000` and logging in with the full `username@` of a user in the `SG DSGROUP Research Users` security group. + +## 9. Deploy initial shared compute VM +### [OPTIONAL] Create a custom cloud init file for the SRE if required + - By default, compute VM deployments will use the `cloud-init-compute-vm.template.yaml` configuration file in the `/environment_configs/cloud_init/` folder. This does all the necessary steps to configure the VM to work with LDAP log on etc. + - If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. + +### Deploy a compute VM +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run `git fetch;git pull;git status;git log -1 --pretty="At commit %h (%H)"` to verify you are on the correct branch and up to date with `origin` (and to output this confirmation and the current commit for inclusion in the deployment record). +- Deploy a new VM into an SRE environment using `./Create_Compute_VM.ps1 -sreId `, where the SRE ID is the one specified in the config +- You will also be prompted for the VM size (optional) and the desired last octet of the IP address (the first machine deployed should use `160` here) + - The initial shared VM should be deployed with the last octet `160` + - The convention is that subsequent CPU-based VMs are deployed with the next unused last octet in the range `161` to `179` and GPU-based VMs are deployed with the next unused last octet between `180` and `199`. +- After deployment, copy everything from the `git fetch;...` command and its output to the command prompt returned after the VM deployment and paste this into the deployment log (e.g. a Github issue used to record VM deployments for a SRE or set of SREs) +- The deployment will take around 10 minutes to complete + +### Troubleshooting Compute VM deployments +- Click on the VM in the SRE subscription under the `RG_DSG_COMPUTE` resource group. It will have the last octet of its IP address at the end of its name. +- Click on the "Serial console" item near the bottom of the VM menu on the left hand side of the VM information panel +- If you are not prompted with `login:`, hit enter until the prompt appears +- Enter the username from the `-dsvm-admin-username` secret in the SRE KeyVault. +- Enter the password from the `-dsvm-admin-password` secret in the SRE KeyVault. +- To validate that our custom `cloud-init.yaml` file has been successfully uploaded, run `sudo cat /var/lib/cloud/instance/user-data.txt`. You should see the contents of the `secure_research_environment/azure-vms/environment_configs/cloud-init-compute-vm-sre-.template.yaml` file in the Safe Haven git repository. +- To see the output of our custom `cloud-init.yaml` file, run `sudo tail -n 200 /var/log/cloud-init-output.log` and scroll up. + +## 10. Apply network configuration +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./Apply_Network_Configuration.ps1 -sreId ` script, where the SRE ID is the one specified in the config + +### Unpeering package mirrors +The `Apply_Network_Configuration.ps1` script ensures that the SRE is peered to the correct mirror network. +However, if you need to unpeer the mirror networks for some reason (e.g. while preparing an SRE subscription for re-use), you can run the unpeering script separately as described below. + +**Note: this script should not normally be run manually** +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./Unpeer_Sre_And_Mirror_Networks.ps1 -sreId ` script, where the SRE ID is the one specified in the config + + +## 11. Run smoke tests on shared compute VM +These tests should be run **after** the network lock down and peering the DSG and mirror VNets. They are automatically uploaded to the compute VM during the deployment step. + +To run the smoke tests: +- Connect to a **remote desktop** on the Main VM (e.g. `https://sandbox.dsgroupdev.co.uk/`) using the "Main VM (Desktop)" app +- Open a terminal session +- Copy the tests folder using `cp ~/smoke_tests ~/smoke_tests` +- Enter the test directory using `cd ~/smoke_tests/test` +- Run `source run_all_tests.sh`. Check `README.md` if anything is unclear. +- If all test results are expected you are done! Otherwise, contact Turing REG for help diagnosing test failures. + +## Server list +- The following virtual machines are created as a result of these instructions: + - `DC-SRE-` (domain controller) + - `DAT-SRE-` (data server) + - `HACKMD-SRE-` (HackMD server) + - `GITLAB-SRE-` (GitLab server) + - `RDG-SRE-` (Remote Desktop Gateway) + - `APP-SRE-` (Remote Desktop app server) + - `DKP-SRE-` (Remote Desktop desktop server) + - `SRE--160-DSVM-0-1-2019082900` (initial shared compute VM at IP address `.160`) + +## Tearing down the SRE +From a clone of the data-safe-haven repository, run the following commands, where `` is the one defined in the config file. + +```pwsh +cd deployment/administration +./SRE_Teardown.ps1 -sreId +``` From 920756f43562e29de1d92ac64d31e81106aa6015 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 16:34:05 +0000 Subject: [PATCH 13/30] Migrated keyvault --- .../{setup_shm_keyvault.ps1 => Setup_SHM_KeyVault.ps1} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename deployment/safe_haven_management_environment/setup/{setup_shm_keyvault.ps1 => Setup_SHM_KeyVault.ps1} (92%) diff --git a/deployment/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 b/deployment/safe_haven_management_environment/setup/Setup_SHM_KeyVault.ps1 similarity index 92% rename from deployment/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 rename to deployment/safe_haven_management_environment/setup/Setup_SHM_KeyVault.ps1 index 6d7ab608c3..adb0eac709 100644 --- a/deployment/safe_haven_management_environment/setup/setup_shm_keyvault.ps1 +++ b/deployment/safe_haven_management_environment/setup/Setup_SHM_KeyVault.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription From 62bfb692cb85757c6e911474797a12523e12b207 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 16:32:56 +0000 Subject: [PATCH 14/30] Migrated SHM DC --- .../{shmdc => }/shm-dc-template.json | 0 .../{shmvnet => }/shm-vnet-template.json | 0 .../azure-runbooks/shm_build_instructions.md | 43 +++++------------- .../shm-dc1-configuration}/CreateUsers.ps1 | 0 .../Disconnect_AD.template.ps1 | 0 .../artifacts/shm-dc1-configuration}/GPOs.zip | Bin .../shm-dc1-configuration}/Run_ADSync.ps1 | 0 .../shm-dc1-setup-scripts}/CreateADPDC.zip | Bin .../CreateADPDC/CreateADPDC.ps1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer.schema.mof | 0 .../en-US/MSFT_xADComputer.psd1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 ..._xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADForestProperties.psm1 | 0 .../MSFT_xADForestProperties.schema.mof | 0 .../MSFT_xADForestProperties.strings.psd1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADObjectPermissionEntry.psm1 | 0 .../MSFT_xADObjectPermissionEntry.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../MSFT_xADReplicationSite.psm1 | 0 .../MSFT_xADReplicationSite.schema.mof | 0 .../MSFT_xADReplicationSiteLink.psm1 | 0 .../MSFT_xADReplicationSiteLink.schema.mof | 0 .../MSFT_xADReplicationSiteLink.strings.psd1 | 0 .../MSFT_xADReplicationSubnet.psm1 | 0 .../MSFT_xADReplicationSubnet.schema.mof | 0 .../MSFT_xADServicePrincipalName.psm1 | 0 .../MSFT_xADServicePrincipalName.schema.mof | 0 .../MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Sample_xFirewall_AddFirewallRule.ps1 | 0 ...irewall_AddFirewallRuleToExistingGroup.ps1 | 0 ...le_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 ...e_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Sample_xIPAddress_Parameterized.ps1 | 0 .../CreateADPDC/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../0.3.0.0/xPendingReboot.psd1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../StorageCommon/StorageCommon.psm1 | 0 .../en-us/StorageCommon.strings.psd1 | 0 .../xStorage/2.9.0.0/xStorage.psd1 | 0 .../shm-dc2-setup-scripts}/CreateADBDC.zip | Bin .../CreateADBDC/CreateADBDC.ps1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer.schema.mof | 0 .../en-US/MSFT_xADComputer.psd1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController - Copy.psm1 | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 ..._xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADForestProperties.psm1 | 0 .../MSFT_xADForestProperties.schema.mof | 0 .../MSFT_xADForestProperties.strings.psd1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADObjectPermissionEntry.psm1 | 0 .../MSFT_xADObjectPermissionEntry.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../MSFT_xADReplicationSite.psm1 | 0 .../MSFT_xADReplicationSite.schema.mof | 0 .../MSFT_xADReplicationSiteLink.psm1 | 0 .../MSFT_xADReplicationSiteLink.schema.mof | 0 .../MSFT_xADReplicationSiteLink.strings.psd1 | 0 .../MSFT_xADReplicationSubnet.psm1 | 0 .../MSFT_xADReplicationSubnet.schema.mof | 0 .../MSFT_xADServicePrincipalName.psm1 | 0 .../MSFT_xADServicePrincipalName.schema.mof | 0 .../MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../xDnsServer/DSCResources/Helper.psm1 | 0 .../MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 | 0 .../MSFT_xDnsARecord.schema.mof | 0 .../MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 | 0 .../MSFT_xDnsRecord.schema.mof | 0 .../MSFT_xDnsServerADZone/Helper.psm1 | 0 .../MSFT_xDnsServerADZone.psm1 | 0 .../MSFT_xDnsServerADZone.schema.mof | 0 .../MSFT_xDnsServerForwarder.psm1 | 0 .../MSFT_xDnsServerForwarder.schema.mof | 0 .../MSFT_xDnsServerPrimaryZone.psm1 | 0 .../MSFT_xDnsServerPrimaryZone.schema.mof | 0 .../MSFT_xDnsServerSecondaryZone.psm1 | 0 .../MSFT_xDnsServerSecondaryZone.schema.mof | 0 .../MSFT_xDnsServerZoneTransfer.psm1 | 0 .../MSFT_xDnsServerZoneTransfer.schema.mof | 0 .../CreateADBDC/xDnsServer/xDnsServer.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Sample_xFirewall_AddFirewallRule.ps1 | 0 ...irewall_AddFirewallRuleToExistingGroup.ps1 | 0 ...le_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 ...e_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Sample_xIPAddress_Parameterized.ps1 | 0 .../CreateADBDC/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../0.3.0.0/xPendingReboot.psd1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../StorageCommon/StorageCommon.psm1 | 0 .../en-us/StorageCommon.strings.psd1 | 0 .../xStorage/2.9.0.0/xStorage.psd1 | 0 .../Active_Directory_Configuration.ps1 | 0 .../scripts}/Active_Directory_Delegation.ps1 | 0 .../scripts}/Configure_Group_Policies.ps1 | 0 .../create_dc/scripts}/Import_Artifacts.ps1 | 0 .../shmnps/remote/Prepare_NPS_Server.ps1 | 0 .../{setup_shm_dc.ps1 => Setup_SHM_DC.ps1} | 41 ++++++++--------- 189 files changed, 31 insertions(+), 53 deletions(-) rename deployment/safe_haven_management_environment/arm_templates/{shmdc => }/shm-dc-template.json (100%) rename deployment/safe_haven_management_environment/arm_templates/{shmvnet => }/shm-vnet-template.json (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/artifacts => remote/create_dc/artifacts/shm-dc1-configuration}/CreateUsers.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/artifacts => remote/create_dc/artifacts/shm-dc1-configuration}/Disconnect_AD.template.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/artifacts => remote/create_dc/artifacts/shm-dc1-configuration}/GPOs.zip (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/artifacts => remote/create_dc/artifacts/shm-dc1-configuration}/Run_ADSync.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC.zip (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/CreateADPDC.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/xNetworking.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc1 => remote/create_dc/artifacts/shm-dc1-setup-scripts}/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC.zip (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/CreateADBDC.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xDnsServer/xDnsServer.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/xNetworking.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename deployment/safe_haven_management_environment/{arm_templates/shmdc/dscdc2 => remote/create_dc/artifacts/shm-dc2-setup-scripts}/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/remote => remote/create_dc/scripts}/Active_Directory_Configuration.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/remote => remote/create_dc/scripts}/Active_Directory_Delegation.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/remote => remote/create_dc/scripts}/Configure_Group_Policies.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts/shmdc/remote => remote/create_dc/scripts}/Import_Artifacts.ps1 (100%) rename deployment/safe_haven_management_environment/{scripts => remote}/shmnps/remote/Prepare_NPS_Server.ps1 (100%) rename deployment/safe_haven_management_environment/setup/{setup_shm_dc.ps1 => Setup_SHM_DC.ps1} (92%) diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json b/deployment/safe_haven_management_environment/arm_templates/shm-dc-template.json similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/shm-dc-template.json rename to deployment/safe_haven_management_environment/arm_templates/shm-dc-template.json diff --git a/deployment/safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json b/deployment/safe_haven_management_environment/arm_templates/shm-vnet-template.json similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmvnet/shm-vnet-template.json rename to deployment/safe_haven_management_environment/arm_templates/shm-vnet-template.json diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index 1930603e8c..f1c1c0a570 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -115,16 +115,11 @@ Once the new DNS Zone for your domain/subdomain has been deployed, you need to a 6. Wait a few minutes then click on the domain that you just added and click the `Make primary` button. ## 5. Deploy key vault for SHM secrets -1. Ensure you are logged into Azure within PowerShell with the command: - ```pwsh - Connect-AzAccount - ``` -2. From a clone of the data-safe-haven repository, setup the keyvault with the following commands (where `` is the one defined in the config file) - ```pwsh - cd safe_haven_management_environment/setup - ./setup_shm_keyvault.ps1 -shmId - ``` -3. This will take **a few minutes** to run. +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Setup_SHM_KeyVault.ps1 -shmId `, where the SHM ID is the one specified in the config +- This will take **a few minutes** to run. ## 6. Setup Safe Haven administrators @@ -227,18 +222,12 @@ To enable MFA, purchase sufficient licences and add them to all the new users. ## 7. Deploy and configure VNET and Domain Controllers ### Deploy the Virtual Network and Active Directory Domain Controller -1. Ensure you are logged into Azure within PowerShell and using the correct subscription with the commands: - ```pwsh - Connect-AzAccount - Set-AzContext -SubscriptionId "" - ``` -2. From a clone of the data-safe-haven repository, setup the virtual network and domain controller with the following commands (where `` is the one defined in the config file) - ```pwsh - cd safe_haven_management_environment/setup - ./setup_shm_dc.ps1 -shmId - ``` -3. This will take **around one hour** to run. -4. Once the script exits successfully you should see the following resource groups under the SHM subscription: +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Setup_SHM_DC.ps1 -shmId `, where the SHM ID is the one specified in the config +- This will take **around one hour** to run. +- Once the script exits successfully you should see the following resource groups under the SHM subscription: ![Resource groups](images/resource_groups.png) @@ -546,17 +535,7 @@ If you get a `New-msolserviceprincipalcredential: Access denied` error stating ` A full set of Tier 2 mirrors take around 4 days to fully synchronise with the external package repositories, so you may want to kick off the building of these mirrors before deploying your first SRE. - - ### Deploying package mirrors - 1. Ensure you are logged into Azure within PowerShell and using the correct subscription with the commands: ```pwsh Connect-AzAccount diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/CreateUsers.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/artifacts/CreateUsers.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/CreateUsers.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/Disconnect_AD.template.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Disconnect_AD.template.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/Disconnect_AD.template.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/GPOs.zip similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/artifacts/GPOs.zip rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/GPOs.zip diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/Run_ADSync.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/artifacts/Run_ADSync.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-configuration/Run_ADSync.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC.zip similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC.zip rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC.zip diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/CreateADPDC.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/CreateADPDC.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/CreateADPDC.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xActiveDirectory/xActiveDirectory.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/xNetworking.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/xNetworking.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc1/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc1-setup-scripts/CreateADPDC/xStorage/2.9.0.0/xStorage.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC.zip similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC.zip rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC.zip diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/CreateADBDC.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/CreateADBDC.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/CreateADBDC.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController - Copy.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/MSFT_xADForestProperties.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADForestProperties/en-us/MSFT_xADForestProperties.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSite/MSFT_xADReplicationSite.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/MSFT_xADReplicationSiteLink.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSiteLink/en-US/MSFT_xADReplicationSiteLink.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADReplicationSubnet/MSFT_xADReplicationSubnet.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADServicePrincipalName/MSFT_xADServicePrincipalName.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xActiveDirectory/xActiveDirectory.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/Helper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsARecord/MSFT_xDnsARecord.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsRecord/MSFT_xDnsRecord.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/Helper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerADZone/MSFT_xDnsServerADZone.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerForwarder/MSFT_xDnsServerForwarder.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerPrimaryZone/MSFT_xDnsServerPrimaryZone.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerSecondaryZone/MSFT_xDnsServerSecondaryZone.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/DSCResources/MSFT_xDnsServerZoneTransfer/MSFT_xDnsServerZoneTransfer.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/xDnsServer.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xDnsServer/xDnsServer.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xDnsServer/xDnsServer.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/xNetworking.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/xNetworking.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 b/deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmdc/dscdc2/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/safe_haven_management_environment/remote/create_dc/artifacts/shm-dc2-setup-scripts/CreateADBDC/xStorage/2.9.0.0/xStorage.psd1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/scripts/Active_Directory_Configuration.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Configuration.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/scripts/Active_Directory_Configuration.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/scripts/Active_Directory_Delegation.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/remote/Active_Directory_Delegation.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/scripts/Active_Directory_Delegation.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/scripts/Configure_Group_Policies.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/remote/Configure_Group_Policies.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/scripts/Configure_Group_Policies.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 b/deployment/safe_haven_management_environment/remote/create_dc/scripts/Import_Artifacts.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmdc/remote/Import_Artifacts.ps1 rename to deployment/safe_haven_management_environment/remote/create_dc/scripts/Import_Artifacts.ps1 diff --git a/deployment/safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 b/deployment/safe_haven_management_environment/remote/shmnps/remote/Prepare_NPS_Server.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/scripts/shmnps/remote/Prepare_NPS_Server.ps1 rename to deployment/safe_haven_management_environment/remote/shmnps/remote/Prepare_NPS_Server.ps1 diff --git a/deployment/safe_haven_management_environment/setup/setup_shm_dc.ps1 b/deployment/safe_haven_management_environment/setup/Setup_SHM_DC.ps1 similarity index 92% rename from deployment/safe_haven_management_environment/setup/setup_shm_dc.ps1 rename to deployment/safe_haven_management_environment/setup/Setup_SHM_DC.ps1 index aaf0667fdf..929f941cdc 100644 --- a/deployment/safe_haven_management_environment/setup/setup_shm_dc.ps1 +++ b/deployment/safe_haven_management_environment/setup/Setup_SHM_DC.ps1 @@ -4,11 +4,11 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/GenerateSasToken.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/GenerateSasToken.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -221,9 +221,9 @@ foreach ($containerName in ("shm-dsc-dc", "shm-configuration-dc", "sre-rds-sh-pa Add-LogMessage -Level Info "Uploading artifacts to storage account '$($config.storage.artifacts.accountName)'..." # Upload DSC scripts Add-LogMessage -Level Info "[ ] Uploading desired state configuration (DSC) files to blob storage" -$_ = Set-AzStorageBlobContent -Container "shm-dsc-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../arm_templates/shmdc/dscdc1/CreateADPDC.zip" -Force +$_ = Set-AzStorageBlobContent -Container "shm-dsc-dc" -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc1-setup-scripts" "CreateADPDC.zip") -Force $success = $? -$_ = Set-AzStorageBlobContent -Container "shm-dsc-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../arm_templates/shmdc/dscdc2/CreateADBDC.zip" -Force +$_ = Set-AzStorageBlobContent -Container "shm-dsc-dc" -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc2-setup-scripts" "CreateADBDC.zip") -Force $success = $success -and $? if ($?) { Add-LogMessage -Level Success "Uploaded desired state configuration (DSC) files" @@ -232,23 +232,22 @@ if ($?) { } # Upload artifacts for configuring the DC Add-LogMessage -Level Info "[ ] Uploading domain controller (DC) configuration files to blob storage" -$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../scripts/shmdc/artifacts/GPOs.zip" -Force +$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc1-configuration" "GPOs.zip") -Force $success = $? -$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../scripts/shmdc/artifacts/Run_ADSync.ps1" -Force +$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc1-configuration" "Run_ADSync.ps1") -Force $success = $success -and $? -$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../scripts/shmdc/artifacts/CreateUsers.ps1" -Force +$_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc1-configuration" "CreateUsers.ps1") -Force $success = $success -and $? # Expand the AD disconnection template before uploading $adScriptLocalFilePath = (New-TemporaryFile).FullName -$template = Get-Content (Join-Path $PSScriptRoot ".." "scripts" "shmdc" "artifacts" "Disconnect_AD.template.ps1") -Raw +$template = Get-Content (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" "shm-dc1-configuration" "Disconnect_AD.template.ps1") -Raw $tmplKeyVaultName = $config.keyvault.secretNames.aadAdminPassword $tmplAadPasswordName = $config.keyvault.secretNames.aadAdminPassword $tmplShmFqdn = $config.domain.fqdn $ExecutionContext.InvokeCommand.ExpandString($template) | Out-File $adScriptLocalFilePath $_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -Blob "Disconnect_AD.ps1" -File $adScriptLocalFilePath -Force $success = $success -and $? -# $_ = Set-AzStorageBlobContent -Container "shm-configuration-dc" -Context $storageAccount.Context -File "$PSScriptRoot/../scripts/shmdc/artifacts/Disconnect_AD.ps1" -Force -# $success = $success -and $? +Remove-Item $adScriptLocalFilePath if ($?) { Add-LogMessage -Level Success "Uploaded domain controller (DC) configuration files" } else { @@ -315,7 +314,7 @@ $params = @{ VNET_DNS1 = $config.dc.ip VNET_DNS2 = $config.dcb.ip } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/../arm_templates/shmvnet/shm-vnet-template.json" -Params $params -ResourceGroupName $config.network.vnet.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "shm-vnet-template.json") -Params $params -ResourceGroupName $config.network.vnet.rg # Create SHM DC resource group if it does not exist @@ -356,7 +355,7 @@ $params = @{ Virtual_Network_Subnet = $config.network.subnets.identity.Name VM_Size = $config.dc.vmSize } -Deploy-ArmTemplate -TemplatePath "$PSScriptRoot/../arm_templates/shmdc/shm-dc-template.json" -Params $params -ResourceGroupName $config.dc.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "shm-dc-template.json") -Params $params -ResourceGroupName $config.dc.rg # Import artifacts from blob storage @@ -367,7 +366,7 @@ $storageContainerName = "shm-configuration-dc" $blobNames = Get-AzStorageBlob -Container $storageContainerName -Context $storageAccount.Context | ForEach-Object { $_.Name } $artifactSasToken = New-ReadOnlyAccountSasToken -subscriptionName $config.subscriptionName -resourceGroup $config.storage.artifacts.rg -AccountName $config.storage.artifacts.accountName # Run remote script -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "shmdc" "remote" "Import_Artifacts.ps1" -Resolve +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Import_Artifacts.ps1" -Resolve $params = @{ remoteDir = "`"C:\Installation`"" pipeSeparatedBlobNames = "`"$($blobNames -join "|")`"" @@ -386,7 +385,7 @@ Add-LogMessage -Level Info "Configuring Active Directory for: $($config.dc.vmNam $adsyncPassword = Resolve-KeyVaultSecret -VaultName $config.keyVault.Name -SecretName $config.keyVault.secretNames.localAdsyncPassword $adsyncAccountPasswordEncrypted = ConvertTo-SecureString $adsyncPassword -AsPlainText -Force | ConvertFrom-SecureString -Key (1..16) # Run remote script -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "shmdc" "remote" "Active_Directory_Configuration.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Active_Directory_Configuration.ps1" $params = @{ oubackuppath = "`"C:\Installation\GPOs`"" domainou = "`"$($config.domain.dn)`"" @@ -403,8 +402,8 @@ Write-Output $result.Value # Install required Powershell packages; set the OS language to en-GB then install updates # --------------------------------------------------------------------------------------- -$installationScriptPath = Join-Path $PSScriptRoot ".." ".." "common_powershell" "remote" "Install_Powershell_Modules.ps1" -$configurationScriptPath = Join-Path $PSScriptRoot ".." ".." "common_powershell" "remote" "Configure_Windows.ps1" +$installationScriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Install_Powershell_Modules.ps1" +$configurationScriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1" foreach ($vmName in ($config.dc.vmName, $config.dcb.vmName)) { # Install Powershell modules Add-LogMessage -Level Info "Installing required Powershell packages on: '$vmName'..." @@ -420,7 +419,7 @@ foreach ($vmName in ($config.dc.vmName, $config.dcb.vmName)) { # Configure group policies # ------------------------ Add-LogMessage -Level Info "Configuring group policies for: $($config.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "shmdc" "remote" "Configure_Group_Policies.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Configure_Group_Policies.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.dc.vmName -ResourceGroupName $config.dc.rg Write-Output $result.Value @@ -428,7 +427,7 @@ Write-Output $result.Value # Active directory delegation # --------------------------- Add-LogMessage -Level Info "Enabling Active Directory delegation on: $($config.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "shmdc" "remote" "Active_Directory_Delegation.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Active_Directory_Delegation.ps1" $params = @{ netbiosName = "`"$($config.domain.netbiosName)`"" ldapUsersGroup = "`"$($config.domain.securityGroups.dsvmLdapUsers.name)`"" From 3ff170041368995803a14e8a2b05e11b7fa84b3c Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 18:41:26 +0000 Subject: [PATCH 15/30] Updated DC configuration instructions --- .../azure-runbooks/shm_build_instructions.md | 125 +++++++++--------- 1 file changed, 61 insertions(+), 64 deletions(-) diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index f1c1c0a570..6095e503cf 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -276,93 +276,92 @@ rather than simply ``) 2. Run the `AzureADConnect.msi` installer - On the `Welcome to Azure AD Connect` screen: - Tick the `I agree to the license terms` box - - Click "Continue" + - Click `Continue` - On the `Express Settings` screen: - - Click "Customize" + - Click `Customize` - On the `Install required components` screen: - - Click "Install" + - Click `Install` - On the `User sign-in` screen: - Ensure that `Password Hash Synchronization` is selected - - Click "Next" + - Click `Next` - On the `Connect to Azure AD` screen: - Provide a global administrator details for the Azure Active Directory you are connected to - You should have created `admin@` during the `Add additional administrators` step and its password should be stored in the Key Vault - - Click "Next" - - If you receive an Internet Explorer pop-up dialog "Content within this application coming from the website below is being blocked by Internet Explorer Advanced Security Configuration: https://login.microsoft.com" - - Click "Add" - - Click "Add" - - Click "Close" - - Repeat for the same dialog with "https://aadcdn.msftauth.net" - - If you receive an error box "We can't sign you in,. Javascript is required to sign you in. Do you want to continue running scripts on this page" - - Click "Yes" - - Close the dialog by clicking "X" - - Back on the `Connect to Azure AD` screen, click "Next" + - If you receive an Internet Explorer pop-up dialog "Content within this application coming from the website below is being blocked by Internet Explorer Advanced Security Configuration: https://login.microsoft.com" + - Click `Add` + - Click `Add` + - Click `Close` + - Repeat for the same dialog with `https://aadcdn.msftauth.net` + - If you receive an error box `We can't sign you in,. Javascript is required to sign you in. Do you want to continue running scripts on this page` + - Click `Yes` + - Close the dialog by clicking `X` - Enter the global administrator password if prompted + - Back on the `Connect to Azure AD` screen, click `Next` - Approve the login with MFA if required - - If you see a Windows Security Warning, check "Don't show this message again and click "Yes". + - If you see a Windows Security Warning, check `Don't show this message again and click "Yes`. - On the `Connect your directories` screen: - Ensure that correct forest (your custom domain name; e.g `turingsafehaven.ac.uk`) is selected and click "Add Directory" - On the `AD forest account` pop-up: - - Select "Use existing AD account" + - Select `Use existing AD account` - Enter the details for the `localadsync` user. - Username: `localadsync@` (e.g. localadsync) - Password: use the `shm--localadsync-password` secret in the management Key Vault. - - Click "OK" + - Click `OK` - **Troubleshooting:** if you get an error that the username/password is incorrect or that the domain/directory could not be found, try resetting the password for this user to the secret value from the `shm--localadsync-password` secret in the management Key Vault. - - In Server Manager click "Tools -> Active Directory Users and Computers" + - In Server Manager click `Tools > Active Directory Users and Computers` - Expand the domain in the left hand panel - - Expand the "Safe Haven Service Accounts" OU + - Expand the `Safe Haven Service Accounts` OU - Right click on the "Local AD Sync Administrator" user and select "reset password" - Set the password to the the secret value from the `shm--localadsync-password` secret in the management Key Vault. - Leave the other settings as is and click "Ok" - - Click "Next" + - Click `Next` - On the `Azure AD sign-in configuration` screen: - Verify that the `User Principal Name` is set to `userPrincipalName` - - Click "Next" + - Click `Next` - On the `Domain and OU filtering` screen: - - Select "Sync Selected domains and OUs" + - Select `Sync Selected domains and OUs` - Expand the domain and deselect all objects - - Select "Safe Haven Research Users" - - Click "Next" + - Select `Safe Haven Research Users` + - Click `Next` - On the `Uniquely identifying your users` screen: - - Click "Next" + - Click `Next` - On the `Filter users and devices` screen: - - Select "Synchronize all users and devices" - - Click "Next" + - Select `Synchronize all users and devices` + - Click `Next` - On the `Optional features` screen: - - Select "Password Writeback" - - Click "Next" + - Select `Password Writeback` + - Click `Next` - On the `Ready to configure` screen: - - Click "Install" + - Click `Install` - This may take a few minutes to complete - On the `Configuration complete` screen: - - Click "Exit" + - Click `Exit` - - **Troubleshooting:** The error "Directory synchronization is currently in a pending disabled state for this directory. Please wait until directory synchronization has been fully disabled before trying again" may occur if you have recently tore down another SHM linked to the same Azure Active Directory. You need to wait for the Azure Active Directory to fully disconnect - this can take up to 72 hours but is typically sooner. You do not need to close the installer window while waiting- if you need to, you can disconnect from the RDS and VPN and reconnect later to click Retry. + - **Troubleshooting:** The error `Directory synchronization is currently in a pending disabled state for this directory. Please wait until directory synchronization has been fully disabled before trying again` may occur if you have recently torn down another SHM linked to the same Azure Active Directory. You need to wait for the Azure Active Directory to fully disconnect - this can take up to 72 hours but is typically sooner. You do not need to close the installer window while waiting. If you need to, you can disconnect from the RDS and VPN and reconnect later before clicking `Retry`. ### Set AAD sync permissions The `localadsync@` account needs to be given permissions to change passwords or self-service password reset will not work. -- In Server Manager select `Tools -> Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) -- Click on the "View" menu item and make sure that "Advanced Features" is enabled -- Right click on the root domain (eg. `dsgroupdev.co.uk`) in the left-hand window and select "Properties" +- In Server Manager select `Tools > Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) +- Click on the `View` menu item and make sure that `Advanced Features` is enabled +- Right click on the root domain (eg. `dsgroupdev.co.uk`) in the left-hand window and select `Properties` ![AD permissions properties](images/aad_permissions_properties.png) -- In the pop-up window, go to the "Security" tab and click on the "Advanced" button +- In the pop-up window, go to the `Security` tab and click on the `Advanced` button ![AD permissions security](images/aad_permissions_security.png) -- In the pop-up window, click on the "Add" button - - Click on "Select a principal" and then select the `localadsync@` by typing the first few letters into the search box and clicking on "Check Names". When the `localadsync@` principal is selected, click "OK" to return to the "Permissions Entry for " window. - - In the "Applies to" section, select "Descendant User objects" +- In the pop-up window, click on the `Add` button + - Click on `Select a principal` and then select the `localadsync@` by typing the first few letters into the search box and clicking on `Check Names`. When the `localadsync@` principal is selected, click `OK` to return to the `Permissions Entry for ` window. + - In the `Applies to` section, select `Descendant User objects` - Under `Permissions`, ensure that the following options are checked: - `Reset password` - `Change password` - Under `Properties`, ensure that the following options are checked (NB. there are a lot of properties, so this might take some scrolling. _The properties are listed in alphabetical order of the main part of the property name excluding the initial prefix Read/Write etc)_: - `Write lockoutTime` - `Write pwdLastSet` - - Click "OK" -- Now go through the same procedure, this time selecting "This object and all descendant objects" in the "Applies to" section - - Enable the following permissions: + - Click `OK` +- Now go through the same procedure, this time selecting `This object and all descendant objects` in the `Applies to` section + - Enable the following under `Permissions`: - `Replicating Directory Changes` - `Replicating Directory Changes All` - - Click "OK" on all open dialog boxes + - Click `OK` on all open dialog boxes ### Additional AAD Connect Configuration @@ -370,25 +369,25 @@ The `localadsync@` account needs to be given permissions to chang ![synchronisation rules](images/synchronisation_rules.png) -2. Change the "Direction" drop down to "Outbound" +2. Change the `Direction` drop down to `Outbound` 3. Select the `Out to AAD - User Join` rule. - - Click "Disable". - - Click "Edit". - - In the "Edit Reserved Rule Confirmation" dialog box click `Yes` + - Click `Disable`. + - Click `Edit`. + - In the `Edit Reserved Rule Confirmation` dialog box click `Yes` 4. In the editing view set `precedence` to 1. - - Select "Transformations" from the sidebar and locate the rule with its "Target Attribute" set to "usageLocation" - - Change the "FlowType" column from "Expression" to "Direct" - - On the "Source" column click the drop-down menu and select `c` - - Click "Save" (in the "Warning" dialog box click "OK") + - Select `Transformations` from the sidebar and locate the rule with its `Target Attribute` set to `usageLocation` + - Change the `FlowType` column from `Expression` to `Direct` + - On the `Source` column click the drop-down menu and select `c` + - Click `Save` (in the `Warning` dialog box click `OK`) 5. You will now see a cloned version of the `Out to AAD - User Join`. - Delete the original. - - In the "Warning" dialog box click "OK" + - In the `Warning` dialog box click `OK` 6. Edit the cloned version. - - Change `Precedence to 115` + - Change `Precedence` to 115 - Edit the name to `Out to AAD - User Join`. - Click "Save" (in the "Warning" dialog box click "OK"). 7. Click `Enable` on the `Out to AAD - User Join` rule that you have just edited -8. Click the `X` to close the Synchronization Rules Editor window +8. Click the `X` to close the `Synchronization Rules Editor` window 9. Open Powershell as an administrator - Navigate to `C:\Installation` - Run `.\Run_ADSync.ps1` @@ -396,39 +395,37 @@ The `localadsync@` account needs to be given permissions to chang ### Validation of AD sync 1. Add a research user: - - In Server Manager select `Tools -> Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) + - In Server Manager select `Tools > Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) - Expand the domain - Right click on the `Safe Haven Research Users` OU and select `New -> User` - Create a new user: - - First name: Test - - Last name: ADUser + - First name: `Test` + - Last name: `ADUser` - User login name: `testaduser` - Click "Next" - Password: use the `shm--testaduser-password` secret in the management Key Vault. - Untick `User must change password at next logon` - - Click "Next" - - Click "Finish" + - Click `Next` + - Click `Finish` 2. Force a sync to the Azure Active Directory - Open Powershell as an administrator - Navigate to `C:\Installation` - Run `.\Run_ADSync.ps1 -sync Delta` 3. Go to the Azure Active Directory in `portal.azure.com` - - Click "Users -> All users" and confirm that the new user is shown in the user list. + - Click `Users > All users` and confirm that the new user is shown in the user list. - It may take a few minutes for the synchronisation to fully propagate in Azure. - ### Configure AAD side of AD connect 1. Go to the Azure Active Directory in `portal.azure.com` - Select `Manage > Password reset` from the left hand menu 2. Select `On-premises integration` from the left hand side bar - Ensure `Write back passwords to your on-premises directory` is set to yes. ![Enable writeback](images/enable_writeback.png) - - If you changed this setting, click the "Save" icon + - If you changed this setting, click the `Save` icon - Select `Properties` from the left hand side bar - Make sure that `Self service password reset enabled` is set to `All` ![Enable password reset](images/enable_passwordreset.png) - - If you changed this setting, click the "Save" icon - + - If you changed this setting, click the `Save` icon ## 8. Deploy and configure Network Policy Server (NPS) From d7c58ae931afb9c590c5cd4573827898db20b03c Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 21:06:48 +0000 Subject: [PATCH 16/30] Updated NPS deployment (including adding a previously-missing reboot). --- .../{shmnps => }/shm-nps-template.json | 0 .../azure-runbooks/shm_build_instructions.md | 229 +++++++++--------- .../scripts}/Prepare_NPS_Server.ps1 | 0 .../{setup_shm_nps.ps1 => Setup_SHM_NPS.ps1} | 28 ++- docs/processes/provider-overview.md | 4 +- 5 files changed, 132 insertions(+), 129 deletions(-) rename deployment/safe_haven_management_environment/arm_templates/{shmnps => }/shm-nps-template.json (100%) rename deployment/safe_haven_management_environment/remote/{shmnps/remote => create_nps/scripts}/Prepare_NPS_Server.ps1 (100%) rename deployment/safe_haven_management_environment/setup/{setup_shm_nps.ps1 => Setup_SHM_NPS.ps1} (74%) diff --git a/deployment/safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json b/deployment/safe_haven_management_environment/arm_templates/shm-nps-template.json similarity index 100% rename from deployment/safe_haven_management_environment/arm_templates/shmnps/shm-nps-template.json rename to deployment/safe_haven_management_environment/arm_templates/shm-nps-template.json diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index 6095e503cf..fc4183722b 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -133,13 +133,13 @@ For some steps, a dedicated **internal** Global Administrator is required (e.g. 3. Navigate to `Users` and create a dedicated **internal** Global Administrator: - Click on `+New user` and enter the following details: - Name: `AAD Global Admin` - - Username: `admin@` + - Username: `admin@` - Under `Groups and roles > Roles` change the role to `Global Administrator` - Under `Settings > Usage location` change the location to `United Kingdom` - Click `Create` - Click on the username in the users list in the Azure Active Directory - Click the "Reset password" icon to generate a temporary password - - Use this password to log into https://portal.azure.com as the user `admin@`. You will either need to log out of your existing account or open an incognito/private browsing window. + - Use this password to log into https://portal.azure.com as the user `admin@`. You will either need to log out of your existing account or open an incognito/private browsing window. - When prompted to change your password on first login: - Look in the KeyVault under the `RG_SHM_SECRETS` resource group in the management subscription. - There should be a secret there called `shm--aad-admin-password` @@ -153,7 +153,7 @@ Giving additional users the GA role, prevents the user you set up earlier from b 1. Navigate to `Users` and add new admin users as above: - Click on "+New user" and enter the following details: - Name: `Admin - Firstname Lastname` - - Username: `admin.firstname.lastname@` + - Username: `admin.firstname.lastname@` - Under `Groups and roles > Roles` change the role to `Global Administrator` - Under `Settings > Usage location` change the location to `United Kingdom` - Click `Create` @@ -166,57 +166,57 @@ NB. You can also invite guest users from other Azure Active Directories at this To enable MFA, purchase sufficient licences and add them to all the new users. - You will also need licences for standard users accessing the Safe Haven. -1. Ensure that you are logged in as the "Local admin" user `admin@` - - Navigate to `Azure Active Directory` in the portal - - Click on `Manage > Licences` in the left hand sidebar - - Click on `All products` in the left hand sidebar - - Click on the `+Try/Buy` text above the empty product list - - **For production** buy P1 licences: - - Click the `Purchase services` link in the infomation panel above the trial options. - - In the "Microsoft 365 Admin Centre" portal that opens: - - Expand the `Billing` section of the left hand side bar - - Click on `Purchase services` - - Scroll down the list of products and select `Azure Active Directory Premium P1` and click `Buy` - - Select `Pay monthly` - - Enter the number of licences required. - - Leave `automatically assign all of your users with no licences` checked - - Click `Check out now` - - Enter the address of the organisation running the Safe Haven on the next screen - - Click next and enter payment details when requested - - **For testing** you can enable a free trial of the P2 License (NB. It can take a while for these to appear on your AAD) - - Expand the `Free trial` arrow under `Azure AD Premium P2` - - Click the `Activate` button - - Wait for around 20 minutes until the `Azure AD Premium P2` licences appear on the list of `All Products` +1. Ensure that you are logged in as the "Local admin" user `admin@` + - Navigate to `Azure Active Directory` in the portal + - Click on `Manage > Licences` in the left hand sidebar + - Click on `All products` in the left hand sidebar + - Click on the `+Try/Buy` text above the empty product list + - **For production** buy P1 licences: + - Click the `Purchase services` link in the infomation panel above the trial options. + - In the "Microsoft 365 Admin Centre" portal that opens: + - Expand the `Billing` section of the left hand side bar + - Click on `Purchase services` + - Scroll down the list of products and select `Azure Active Directory Premium P1` and click `Buy` + - Select `Pay monthly` + - Enter the number of licences required. + - Leave `automatically assign all of your users with no licences` checked + - Click `Check out now` + - Enter the address of the organisation running the Safe Haven on the next screen + - Click next and enter payment details when requested + - **For testing** you can enable a free trial of the P2 License (NB. It can take a while for these to appear on your AAD) + - Expand the `Free trial` arrow under `Azure AD Premium P2` + - Click the `Activate` button + - Wait for around 20 minutes until the `Azure AD Premium P2` licences appear on the list of `All Products` 2. Adding licenses to a user: - - Click on `Users` in the left hand sidebar - - For each user you want to add a licence to, click on their username - - Ensure that the user has `usage location` set under "Settings" (see image below): - ![Set user location](images/set_user_location.png) - - Click on `Licences` in the left hand sidebar - - Click on `+ Assignments` in the top bar - - Assign `Azure Active Directory Premium P1` and `Microsoft Azure Multi-Factor Authentication` then click `Save` + - Click on `Users` in the left hand sidebar + - For each user you want to add a licence to, click on their username + - Ensure that the user has `usage location` set under "Settings" (see image below): + ![Set user location](images/set_user_location.png) + - Click on `Licences` in the left hand sidebar + - Click on `+ Assignments` in the top bar + - Assign `Azure Active Directory Premium P1` and `Microsoft Azure Multi-Factor Authentication` then click `Save` 3. Configuring MFA on Azure Active Directory - - Sign in to the Azure portal as a user administrator or global administrator. - - Go to `Azure Active Directory` then click `Manage > Security` in the left hand side bar - - Click `Manage > MFA` in the left hand side bar - - Click on the `Additional cloud-based MFA settings` link in the `Configure` section of the main panel (if this is not available, trying signing out of the portal and back in again) - - Configure MFA as follows: - - In "App passwords" section select "Do not allow users to create app passwords to sign in to non-browser apps" - - In "Verification options" section. - - **check** "Call to phone" and "Notification through mobile app" - - **uncheck** "Text message to phone" and "Verification code from mobile app or hardware token" - - In "Remember multi-factor authentication" section - - ensure "Allow users to remember multi-factor authentication on devices they trust" is **unchecked** - - Click "Save" and close window - ![AAD MFA settings](images/aad_mfa_settings.png) + - Sign in to the Azure portal as a user administrator or global administrator. + - Go to `Azure Active Directory` then click `Manage > Security` in the left hand side bar + - Click `Manage > MFA` in the left hand side bar + - Click on the `Additional cloud-based MFA settings` link in the `Configure` section of the main panel (if this is not available, trying signing out of the portal and back in again) + - Configure MFA as follows: + - In "App passwords" section select "Do not allow users to create app passwords to sign in to non-browser apps" + - In "Verification options" section. + - **check** "Call to phone" and "Notification through mobile app" + - **uncheck** "Text message to phone" and "Verification code from mobile app or hardware token" + - In "Remember multi-factor authentication" section + - ensure "Allow users to remember multi-factor authentication on devices they trust" is **unchecked** + - Click "Save" and close window + ![AAD MFA settings](images/aad_mfa_settings.png) 8. Require MFA for all admins - - Sign in to the Azure portal as a user administrator or global administrator. - - Go to `Azure Active Directory` then click `Manage > Security` in the left hand side bar + - Sign in to the Azure portal as a user administrator or global administrator. + - Go to `Azure Active Directory` then click `Manage > Security` in the left hand side bar - Click on `Protect > Conditional access` in the left hand sidebar - - Click "Baseline policy: Require MFA for admins" - - Select "Use policy immediately" in the left hand side bar - - Click "Save" + - Click `Baseline policy: Require MFA for admins` + - Select `Use policy immediately` in the left hand side bar + - Click `Save` ## 7. Deploy and configure VNET and Domain Controllers @@ -264,10 +264,10 @@ You should now be able to connect to the SHM virtual network via the VPN. Each t 3. In the Azure portal, navigate to the `RG_SHM_DC` resource group and then to the `DC1-SHM-` virtual machine (VM). 4. Copy the Private IP address and enter it in the `PC name` field on remote desktop. Click Add. 5. Double click on the desktop that appears under `saved desktops`. -6. Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal as follows: +6. Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal as follows: rather than simply ``) - On the Azure portal navigate to the `RG_SHM_SECRETS` resource group and then the `kv-shm-` key vault and then select `secrets` on the left hand panel. - - The username is the `shm--dcnps-admin-username` secret. Add your custom AD domain to the username so the login is `@` rather than simply ``. + - The username is the `shm--dcnps-admin-username` secret. Add your custom AD domain to the username so the login is `@SHMm domain>` rather than simply ``. - The password in the `shm--dcnps-admin-password` secret. 7. If you see a warning dialog that the certificate cannot be verified as root, accept this and continue. @@ -286,7 +286,7 @@ rather than simply ``) - Click `Next` - On the `Connect to Azure AD` screen: - Provide a global administrator details for the Azure Active Directory you are connected to - - You should have created `admin@` during the `Add additional administrators` step and its password should be stored in the Key Vault + - You should have created `admin@` during the `Add additional administrators` step and its password should be stored in the Key Vault - If you receive an Internet Explorer pop-up dialog "Content within this application coming from the website below is being blocked by Internet Explorer Advanced Security Configuration: https://login.microsoft.com" - Click `Add` - Click `Add` @@ -304,7 +304,7 @@ rather than simply ``) - On the `AD forest account` pop-up: - Select `Use existing AD account` - Enter the details for the `localadsync` user. - - Username: `localadsync@` (e.g. localadsync) + - Username: `localadsync@` (e.g. localadsync) - Password: use the `shm--localadsync-password` secret in the management Key Vault. - Click `OK` - **Troubleshooting:** if you get an error that the username/password is incorrect or that the domain/directory could not be found, try resetting the password for this user to the secret value from the `shm--localadsync-password` secret in the management Key Vault. @@ -340,7 +340,7 @@ rather than simply ``) - **Troubleshooting:** The error `Directory synchronization is currently in a pending disabled state for this directory. Please wait until directory synchronization has been fully disabled before trying again` may occur if you have recently torn down another SHM linked to the same Azure Active Directory. You need to wait for the Azure Active Directory to fully disconnect - this can take up to 72 hours but is typically sooner. You do not need to close the installer window while waiting. If you need to, you can disconnect from the RDS and VPN and reconnect later before clicking `Retry`. ### Set AAD sync permissions -The `localadsync@` account needs to be given permissions to change passwords or self-service password reset will not work. +The `localadsync@` account needs to be given permissions to change passwords or self-service password reset will not work. - In Server Manager select `Tools > Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) - Click on the `View` menu item and make sure that `Advanced Features` is enabled - Right click on the root domain (eg. `dsgroupdev.co.uk`) in the left-hand window and select `Properties` @@ -348,7 +348,7 @@ The `localadsync@` account needs to be given permissions to chang - In the pop-up window, go to the `Security` tab and click on the `Advanced` button ![AD permissions security](images/aad_permissions_security.png) - In the pop-up window, click on the `Add` button - - Click on `Select a principal` and then select the `localadsync@` by typing the first few letters into the search box and clicking on `Check Names`. When the `localadsync@` principal is selected, click `OK` to return to the `Permissions Entry for ` window. + - Click on `Select a principal` and then select the `localadsync@` by typing the first few letters into the search box and clicking on `Check Names`. When the `localadsync@` principal is selected, click `OK` to return to the `Permissions Entry for ` window. - In the `Applies to` section, select `Descendant User objects` - Under `Permissions`, ensure that the following options are checked: - `Reset password` @@ -429,56 +429,51 @@ The `localadsync@` account needs to be given permissions to chang ## 8. Deploy and configure Network Policy Server (NPS) -1. Ensure you are logged into Azure within PowerShell and using the correct subscription with the commands: - ```pwsh - Connect-AzAccount - Set-AzContext -SubscriptionId "" - ``` -2. From a clone of the data-safe-haven repository, deploy the NPS server with the following commands (where `` is the one defined in the config file) - ```pwsh - cd safe_haven_management_environment/setup - ./setup_shm_nps.ps1 -shmId - ``` -3. This will take **a few minutes** to run. - - **Troubleshooting:** If you see an error similar to `New-AzResourceGroupDeployment : Resource Microsoft.Compute/virtualMachines/extensions NPS-SHM-shmId/joindomain' failed with message` you may find this error resolves if you wait and retry later. - +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Setup_SHM_NPS.ps1 -shmId `, where the SHM ID is the one specified in the config +- This will take **around 10 minutes** to run. + - **Troubleshooting:** If you see an error similar to `New-AzResourceGroupDeployment : Resource Microsoft.Compute/virtualMachines/extensions NPS-SHM-/joindomain' failed with message` you may find this error resolves if you wait and retry later. Alternatively, you can try deleting the extension from the `NPS-SHM- > Extensions` blade in the Azure portal. ### Configure NPS server 1. Log in to the NPS Server VM using Microsoft Remote Desktop - the private IP address for the SHM NPS VM can be found in the `RG_SHM_NPS` resource group - - the Username and Password are the same as for SHMDC1 and SHMDC2 (ie the credentials you used above to Remote Desktop into the domain controller above): - - To obtain the login credentials again, on the Azure portal navigate to the `RG_SHM_SECRETS` resource group and then the `kv-shm-` key vault and then select `secrets` on the left hand panel. - - The username is the `shm--dcnps-admin-username` secret plus the domain, ie `@custom domain` - - The password in the `shm--dcnps-admin-password` secret. -2. In Server Manager select `Tools -> Network Policy Server` (or open the `Network Policy Server` desktop app directly) + - the Username and Password are the same as for `DC1-SHM` and `DC2-SHM` (ie the credentials you used above to Remote Desktop into the domain controller above): + - To obtain the login credentials again, on the Azure portal navigate to the `RG_SHM_SECRETS` resource group and then the `kv-shm-` key vault and then select `secrets` on the left hand panel. + - The username is the `shm--dcnps-admin-username` secret plus the domain, ie `@custom domain` + - The password in the `shm--dcnps-admin-password` secret. +2. In Server Manager select `Tools > Network Policy Server` (or open the `Network Policy Server` desktop app directly) 3. Configure NPS server to log to text file: - Select `NPS (Local) > Accounting` on the left-hand sidebar ![NPS accounting](images/nps_accounting.png) - Click on `Accounting > Configure Accounting` - - Click "Next" -> "Log to text file on the local computer" then click "Next" -> "Next" -> "Next" -> "Close" + - On the `Introduction` screen, click `Next`. + - On the `Select Accounting Options` screen, select `Log to text file on the local computer` then click `Next`. + - On the `Configure Local File Logging` screen, click `Next`. + - On the `Summary` screen, click `Next`. + - On the `Conclusions` screen, click `Close`. - Click on `Log file properties > Change log file properties` - - On the "Log file" tab, select "Daily" under "Create a new log file" - - Click "Ok" + - On the `Log file` tab, select `Daily` under `Create a new log file` + - Click `Ok` 4. Add NPS policy to allow connections - Select `NPS (Local) > Policies > Network policies` on the left-hand sidebar ![NPS network policies](images/nps_network_policies.png) - - Right click on "Network policies" and select "New" - - Set the policy name to "RDG_CAP" and click "Next" - - Click "Add" to add a restriction - - Select "Day and Time Restrictions" and click "Add" - - Select "Permitted" (the whole weekly calendar should turn blue) and click "OK" then "Next" - - On the `Specify Access Permission` screen: - - Click "Next", leaving `Access granted` checked - - On the `Configure authentication methods` screen: - - Check the "Allow clients to connect without negotiating an authentication method" checkbox - - Click "Next". - - Click "No" on the `Connection Request Policy` pop up. - - On the `Configure constraints` screen: - - Click "Next" - - On the `Configure settings` screen: - - Click "Next" - - On the `Completing network policy` screen: - - Click "Finish" + - Right click on `Network policies` and select `New` + - Set the policy name to `RDG_CAP` and click `Next` + - Click `Add` to add a restriction + - Select `Day and Time Restrictions` and click `Add` + - Select `Permitted` (the whole weekly calendar should turn blue) and click `OK`. + - Back on the `Specify Conditions` screen, click `Next`. + - On the `Specify Access Permission` screen: + - Click `Next`, leaving `Access granted` checked + - On the `Configure authentication methods` screen: + - Check the `Allow clients to connect without negotiating an authentication method` checkbox + - Click `Next`. + - Click `No` on the `Connection Request Policy` pop up. + - On the `Configure constraints` screen, click `Next` + - On the `Configure settings` screen, click `Next` + - On the `Completing network policy` screen, click `Finish` **NOTE:** If this policy is not present, then users will not be prompted for MFA when launching an RDS app. This is because, without this policy, the NPS server will reject their authentication with the following error: @@ -499,32 +494,30 @@ This is because, without this policy, the NPS server will reject their authentic cd "C:\Program Files\Microsoft\AzureMfa\Config" .\AzureMfaNpsExtnConfigSetup.ps1 ``` - - Enter "Y" when prompted - - Enter "A" when prompted + - Enter `A` when prompted - If you are prompted to add webpages to exceptions then accept them. - **NOTE:** You may get a Javascript error. If you do, simply run this script again. - - **Troubleshooting:** If you see an error `New-MsolServicePrincipalCredential : Service principal was not found` you may find this error resolves if you retry later -6. On the webpage pop-up, sign in as the "Global Administrator" (eg. `admin@`) user. Other administrators added as guests will not work for this step. - - If you have not done so already, you may be prompted to add a phone number and backup email for the `admin@` account at this point. + - **Troubleshooting:** If you see an error `New-MsolServicePrincipalCredential : Service principal was not found`, this indicates that the `Azure Multi-Factor Auth Client` is not enabled in Azure Active Directory. + - Look at [the documentation here](https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-nps-extension#troubleshooting). + - Make sure the Safe Haven Azure Active Directory has valid P1 licenses: + - Go to the Azure Portal and click `Azure Active Directories` in the left hand side bar + - Click `Licenses`in the left hand side bar then `Manage > All products` + - You should see `Azure Active Directory Premium P1` in the list of products, with a non-zero number of available licenses. + - If you do not have P1 licences, purchase some following the instructions at the end of the [Add additional administrators](#Add-additional-administrators) section above, making sure to also follow the final step to configure the MFA settings on the Azure Active Directory. + - If you are using the trial `Azure Active Directory Premium P2` licences, you may find that enabling a trial of `Enterprise Mobility + Security E5` licences will resolve this. + - You may also find that the issue resolves itself given enough time. + - **Troubleshooting:** If you get a `New-MsolServicePrincipalCredential: Access denied` error stating `You do not have permissions to call this cmdlet`, check the following: + - Make sure you authenticate as the "Local Administrator" (`admin@`) user when prompted by the script. Other administrators added as guests will not work for this step. + - Make sure you are logged in as a **domain** user rather than a local user. + - The output of the `whoami` command in Powershell should be `\admin` rather than `NPS-SHM-\admin` + - If it is not, reconnect to the remote desktop with the username `admin@`, using the same password as before +6. On the webpage pop-up, sign in as the "Global Administrator" (eg. `admin@`) user. Other administrators added as guests will not work for this step. + - If you have not done so already, you may be prompted to add a phone number and backup email for the `admin@` account at this point. 7. When prompted to `Provide your Tenant ID`, enter your Azure Active Directory ID. To get this: - - In the Azure portal select "Azure Active Directory" in the left hand side bar - - Select "Properties" in the left hand side bar - - Copy the "Directory ID" field -8. At the message "Configuration complete. Press Enter to continue", press "Enter" - -**Troubleshooting MFA configuration:** -If you get a `New-msolserviceprincipalcredential: Access denied` error stating `You do not have permissions to call this cmdlet`, check the following: - - Make sure you authenticate as the "Local Administrator" (`admin@`) user when prompted by the script. Other administrators added as guests will not work for this step. - - Make sure you are logged in as a **domain** user rather than a local user. - - The output of the `whoami` command in powershell should be `netBiosDomain\admin` rather than `SHMNPS\admin` - - If it is not, reconnect to the remote desktop with the username `admin@`, using the same password as before - - Make sure the Safe Haven Azure Active Directory has valid P1 licenses: - - Go to the Azure Portal and click "Azure Active Directories" in the left hand side bar - - Click "Licenses" in the left hand side bar - - You should see "1 product" in the main panel list of products. Click on this. - - You should see "Azure Active Directory Premium P1" in the list of products, with a non-zero number of available licenses. - - If you do not have P1 licences, purchase some following the instructions at the end of the [Add additional administrators](#Add-additional-administrators) section above, making sure to also follow the final step to configure the MFA settings on the Azure Active Directory. - + - In the Azure portal select `Azure Active Directory` in the left hand side bar + - Select `Properties` in the left hand side bar + - Copy the `Directory ID` field +8. At the message `Configuration complete. Press Enter to continue`, press `Enter` ## 9. Deploy package mirrors @@ -571,12 +564,12 @@ In order to tear down the SHM, use the following procedure: ### Disconnect from the Azure Active Directory 1. Using Microsoft Remote Desktop, connect to the `DC1-SHM-` virtual machine (VM). -2. Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal. +2. Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal. 3. If you see a warning dialog that the certificate cannot be verified as root, accept this and continue. 4. Open Powershell as an administrator - Navigate to `C:\Installation` - Run `.\Disconnect_AD.ps1` - - You will need to provide login credentials (including MFA if set up) for `@` + - You will need to provide login credentials (including MFA if set up) for `@` 5. Full disconnection of the Azure Active Directory can take up to 72 hours but is typically less. If you are planning to install a new SHM connected to the same Azure Active Directory you may find the `AzureADConnect` installation step requires you to wait for the previous disconnection to complete. ### Tear down any attached SREs diff --git a/deployment/safe_haven_management_environment/remote/shmnps/remote/Prepare_NPS_Server.ps1 b/deployment/safe_haven_management_environment/remote/create_nps/scripts/Prepare_NPS_Server.ps1 similarity index 100% rename from deployment/safe_haven_management_environment/remote/shmnps/remote/Prepare_NPS_Server.ps1 rename to deployment/safe_haven_management_environment/remote/create_nps/scripts/Prepare_NPS_Server.ps1 diff --git a/deployment/safe_haven_management_environment/setup/setup_shm_nps.ps1 b/deployment/safe_haven_management_environment/setup/Setup_SHM_NPS.ps1 similarity index 74% rename from deployment/safe_haven_management_environment/setup/setup_shm_nps.ps1 rename to deployment/safe_haven_management_environment/setup/Setup_SHM_NPS.ps1 index a7ef60f7f8..3aee40ce6c 100644 --- a/deployment/safe_haven_management_environment/setup/setup_shm_nps.ps1 +++ b/deployment/safe_haven_management_environment/setup/Setup_SHM_NPS.ps1 @@ -4,10 +4,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -32,7 +32,6 @@ $dcNpsAdminPassword = Resolve-KeyVaultSecret -VaultName $config.keyVault.Name -S # Deploy NPS from template # ------------------------ Add-LogMessage -Level Info "Deploying network policy server (NPS) from template..." -$templatePath = Join-Path $PSScriptRoot ".." "arm_templates" "shmnps" "shm-nps-template.json" $params = @{ Administrator_User = $dcNpsAdminUsername Administrator_Password = (ConvertTo-SecureString $dcNpsAdminPassword -AsPlainText -Force) @@ -48,13 +47,13 @@ $params = @{ NPS_IP_Address = $config.nps.ip OU_Path = $config.domain.serviceServerOuPath } -Deploy-ArmTemplate -TemplatePath "$templatePath" -Params $params -ResourceGroupName $config.nps.rg +Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" "shm-nps-template.json") -Params $params -ResourceGroupName $config.nps.rg # Install required Powershell packages # ------------------------------------ Add-LogMessage -Level Info "Installing required Powershell packages on: '$($config.nps.vmName)'..." -$scriptPath = Join-Path $PSScriptRoot ".." ".." "common_powershell" "remote" "Install_Powershell_Modules.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Install_Powershell_Modules.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.nps.vmName -ResourceGroupName $config.nps.rg Write-Output $result.Value @@ -62,7 +61,7 @@ Write-Output $result.Value # Set the OS language to en-GB and install updates # ------------------------------------------------ Add-LogMessage -Level Info "Setting OS language for: '$($config.nps.vmName)' and installing updates..." -$scriptPath = Join-Path $PSScriptRoot ".." ".." "common_powershell" "remote" "Configure_Windows.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.nps.vmName -ResourceGroupName $config.nps.rg Write-Output $result.Value @@ -70,7 +69,7 @@ Write-Output $result.Value # Run configuration script remotely # --------------------------------- Add-LogMessage -Level Info "Configuring NPS server '$($config.nps.vmName)'..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "shmnps" "remote" "Prepare_NPS_Server.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_nps" "scripts" "Prepare_NPS_Server.ps1" $params = @{ remoteDir = "`"C:\Installation`"" } @@ -78,6 +77,17 @@ $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMNam Write-Output $result.Value +# Restart the NPS server +# ---------------------- +Add-LogMessage -Level Info "Restarting $($config.nps.vmName)..." +$_ = Restart-AzVM -Name $config.nps.vmName -ResourceGroupName $config.nps.rg +if ($?) { + Add-LogMessage -Level Success "Restarting NPS $($config.nps.vmName) succeeded" +} else { + Add-LogMessage -Level Fatal "Restarting NPS $($config.nps.vmName) failed!" +} + + # Switch back to original subscription # ------------------------------------ $_ = Set-AzContext -Context $originalContext diff --git a/docs/processes/provider-overview.md b/docs/processes/provider-overview.md index cb3b48dee9..9441e4ef73 100644 --- a/docs/processes/provider-overview.md +++ b/docs/processes/provider-overview.md @@ -202,14 +202,14 @@ At Tier 2, the most significant risks are "workaround breach" and the risk of mi Almost all data at the baseline UK government OFFICIAL classification is likely to be Tier 2, as well as a large proportion of data at the OFFICIAL-SENSITIVE [COMMERCIAL] classification. -All pseudonymised [Personal Data](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/key-definitions/what-is-personal-data/) under the GDPR that is not [Special Category Personal Data](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/lawful-basis-for-processing/special-category-data/) is Tier 2. Note that pseudonymised data is Personal Data under the GDPR. While anonymised data is not considered Personal Data under the GDPR, in practice it is extremely difficult (if not impossible) to guarantee that data is truly anonymous. Therefore, unless we are **absolute** confident in the anonymisation process, we consider all data related to living individuals as Personal Data under the GDPR. +All pseudonymised [Personal Data](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/key-definitions/what-is-personal-data/) under the GDPR that is not [Special Category Personal Data](https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/lawful-basis-for-processing/special-category-data/) is Tier 2. Note that pseudonymised data is Personal Data under the GDPR. While anonymised data is not considered Personal Data under the GDPR, in practice it is extremely difficult (if not impossible) to guarantee that data is truly anonymous. Therefore, unless we are **absolutely** confident in the anonymisation process, we consider all data related to living individuals as Personal Data under the GDPR. ### Tier 3 Tier 3 Environments are used to handle, combine or generate personal data, excluding personal data where there is a risk that disclosure might pose a substantial threat to the personal safety, health or security of the data subjects (which would be Tier 4). -This also includes pseudonymised, synthetic or anonymised information generated from personal data, where we have only weak confidence that the personal data cannot be re-identified. +This also includes pseudonymised, synthetic or anonymised information generated from personal data, where we have only weak confidence that the personal data cannot be re-identified. Tier 3 Environments are also used to handle, combine or generate information, including intellectual property, which is sensitive in commercial, legal, political, or national security terms. This tier anticipates the need to defend against compromise by attackers with bounded capabilities and resources. From 6553bea8e232ac8183aed6e073ec7b87cadedb08 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 23:39:40 +0000 Subject: [PATCH 17/30] Updated package mirror setup --- .../azure-runbooks/shm_build_instructions.md | 39 +++++-------------- ...mirrors.ps1 => Create_Package_Mirrors.ps1} | 16 ++++---- ...rrors.ps1 => Teardown_Package_Mirrors.ps1} | 10 ++--- 3 files changed, 23 insertions(+), 42 deletions(-) rename deployment/safe_haven_management_environment/setup/{create_package_mirrors.ps1 => Create_Package_Mirrors.ps1} (96%) rename deployment/safe_haven_management_environment/setup/{teardown_package_mirrors.ps1 => Teardown_Package_Mirrors.ps1} (83%) diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index fc4183722b..f35b0171a9 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -524,40 +524,21 @@ This is because, without this policy, the NPS server will reject their authentic ### When to deploy mirrors A full set of Tier 2 mirrors take around 4 days to fully synchronise with the external package repositories, so you may want to kick off the building of these mirrors before deploying your first SRE. - ### Deploying package mirrors -1. Ensure you are logged into Azure within PowerShell and using the correct subscription with the commands: - ```pwsh - Connect-AzAccount - Set-AzContext -SubscriptionId "" - ``` -2. From a clone of the data-safe-haven repository, deploy package mirrors (depending on which tiers of SRE you want to support) using the following commands (where `` is the one defined in the config file): - ```pwsh - cd safe_haven_management_environment/setup - ./create_package_mirrors.ps1 -shmId -tier - ``` -3. This will take **around 20 minutes** to run. +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Create_Package_Mirrors.ps1 -shmId -tier `, where the SHM ID is the one specified in the config +- This will take **around 20 minutes** to run. ### [Optional] Tearing down package mirrors During normal usage, you should not need to tear down the package mirrors, but if you decide to do so, use the following procedure: - -1. Ensure you are logged into the Azure CLI (bash) with the commands: - ```bash - az login - az account list - ``` -2. Ensure you are logged into Azure within PowerShell and using the correct subscription with the commands: - ```pwsh - Connect-AzAccount - Set-AzContext -SubscriptionId "" - ``` -3. From a clone of the data-safe-haven repository, teardown package mirrors (depending on which tiers of SRE you want to remove) using the following commands (where `` is the one defined in the config file): - ```pwsh - cd safe_haven_management_environment/setup - ./teardown_package_mirrors.ps1 -shmId -tier - ``` -4. This will take **a few minutes** to run. +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- Deploy and configure the RDS VMs by running `./Teardown_Package_Mirrors.ps1 -shmId -tier `, where the SHM ID is the one specified in the config +- This will take **a few minutes** to run. ## 10. Tearing down the SHM In order to tear down the SHM, use the following procedure: diff --git a/deployment/safe_haven_management_environment/setup/create_package_mirrors.ps1 b/deployment/safe_haven_management_environment/setup/Create_Package_Mirrors.ps1 similarity index 96% rename from deployment/safe_haven_management_environment/setup/create_package_mirrors.ps1 rename to deployment/safe_haven_management_environment/setup/Create_Package_Mirrors.ps1 index 9a01e6699f..de2e7a753c 100644 --- a/deployment/safe_haven_management_environment/setup/create_package_mirrors.ps1 +++ b/deployment/safe_haven_management_environment/setup/Create_Package_Mirrors.ps1 @@ -9,10 +9,10 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Security.psm1 -Force # Get config and original context before changing subscription @@ -30,9 +30,9 @@ $_ = Deploy-ResourceGroup -Name $config.network.vnet.rg -Location $config.locati # Common variable names # --------------------- -$vnetName = "VNET_SHM_$($config.id.ToUpper())_PACKAGE_MIRRORS_TIER${tier}" -$nsgInternalName = "NSG_SHM_$($config.id.ToUpper())_INTERNAL_PACKAGE_MIRRORS_TIER${tier}" -$nsgExternalName = "NSG_SHM_$($config.id.ToUpper())_EXTERNAL_PACKAGE_MIRRORS_TIER${tier}" +$vnetName = "VNET_SHM_$($config.id)_PACKAGE_MIRRORS_TIER${tier}".ToUpper() +$nsgInternalName = "NSG_SHM_$($config.id)_INTERNAL_PACKAGE_MIRRORS_TIER${tier}".ToUpper() +$nsgExternalName = "NSG_SHM_$($config.id)_EXTERNAL_PACKAGE_MIRRORS_TIER${tier}".ToUpper() $subnetExternalName = "ExternalPackageMirrorsTier${tier}Subnet" $subnetInternalName = "${internalMirrorName}PackageMirrorsTier${tier}Subnet" $vnetIpTriplet = "10.20.$tier" @@ -230,7 +230,7 @@ function Deploy-PackageMirror { # Check whether the VM already exists # ----------------------------------- - $vmName = "$($MirrorType.ToUpper())-$($MirrorDirection.ToUpper())-MIRROR-TIER-$tier" + $vmName = "$MirrorType-$MirrorDirection-MIRROR-TIER-$tier".ToUpper() $adminPasswordSecretName = ("shm-" + "$($config.id)".ToLower() + "-package-mirror-" + "$MirrorType".ToLower() + "-" + "$MirrorDirection".ToLower() + "-tier-$tier-admin-password") $_ = Get-AzVM -Name $vmName -ResourceGroupName $config.mirrors.rg -ErrorVariable notExists -ErrorAction SilentlyContinue if ($notExists) { diff --git a/deployment/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 b/deployment/safe_haven_management_environment/setup/Teardown_Package_Mirrors.ps1 similarity index 83% rename from deployment/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 rename to deployment/safe_haven_management_environment/setup/Teardown_Package_Mirrors.ps1 index f3eb49d43b..297beda33c 100644 --- a/deployment/safe_haven_management_environment/setup/teardown_package_mirrors.ps1 +++ b/deployment/safe_haven_management_environment/setup/Teardown_Package_Mirrors.ps1 @@ -7,9 +7,9 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Deployments.psm1 -Force -Import-Module $PSScriptRoot/../../common_powershell/Logging.psm1 -Force +Import-Module $PSScriptRoot/../../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../../common/Deployments.psm1 -Force +Import-Module $PSScriptRoot/../../common/Logging.psm1 -Force # Get config and original context before changing subscription @@ -29,7 +29,7 @@ function Remove-PackageMirror { [ValidateSet("Internal", "External")] $MirrorDirection ) - $vmName = "$($MirrorType.ToUpper())-$($MirrorDirection.ToUpper())-MIRROR-TIER-$tier" + $vmName = "$MirrorType-$MirrorDirection-MIRROR-TIER-$tier".ToUpper() Remove-VirtualMachine -Name $vmName -ResourceGroupName $config.mirrors.rg Remove-VirtualMachineDisk -Name "$vmName-OS-DISK" -ResourceGroupName $config.mirrors.rg Remove-VirtualMachineDisk -Name "$vmName-DATA-DISK" -ResourceGroupName $config.mirrors.rg @@ -42,7 +42,7 @@ function Remove-PackageMirror { $_ = Get-AzResourceGroup -Name $config.mirrors.rg -Location $config.location -ErrorVariable notExists -ErrorAction SilentlyContinue if ($notExists) { - Add-LogMessage -Level InfoSuccess "Resource group '$config.mirrors.rg' does not exist" + Add-LogMessage -Level InfoSuccess "Resource group '$($config.mirrors.rg)' does not exist" } else { # Tear down package mirrors # ------------------------- From 43a50adbe6f2c8d03d88750bd4a31e1574fd3fa2 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 23:49:18 +0000 Subject: [PATCH 18/30] Moved administrative scripts --- .../SHM_Shutdown_Deployment_VMs.ps1} | 5 +++-- .../SHM_Shutdown_IAAM_VMs.ps1} | 7 +++--- .../SHM_Shutdown_Mirror_VMs.ps1} | 5 +++-- .../SHM_Start_Deployment_VMs.ps1} | 5 +++-- .../SHM_Start_IAAM_VMs.ps1} | 11 +++++----- .../SHM_Start_Mirror_VMs.ps1} | 5 +++-- .../SHM_Teardown.ps1} | 6 ++--- .../azure-runbooks/shm_build_instructions.md | 22 ++++++------------- 8 files changed, 32 insertions(+), 34 deletions(-) rename deployment/{safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 => administration/SHM_Shutdown_Deployment_VMs.ps1} (73%) rename deployment/{safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 => administration/SHM_Shutdown_IAAM_VMs.ps1} (75%) rename deployment/{safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 => administration/SHM_Shutdown_Mirror_VMs.ps1} (73%) rename deployment/{safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 => administration/SHM_Start_Deployment_VMs.ps1} (73%) rename deployment/{safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 => administration/SHM_Start_IAAM_VMs.ps1} (61%) rename deployment/{safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 => administration/SHM_Start_Mirror_VMs.ps1} (73%) rename deployment/{safe_haven_management_environment/Teardown_SHM.ps1 => administration/SHM_Teardown.ps1} (94%) diff --git a/deployment/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 b/deployment/administration/SHM_Shutdown_Deployment_VMs.ps1 similarity index 73% rename from deployment/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 rename to deployment/administration/SHM_Shutdown_Deployment_VMs.ps1 index 3ffeb7f6fa..95012c2512 100644 --- a/deployment/safe_haven_management_environment/Shutdown_SHM_Deployment_VMs.ps1 +++ b/deployment/administration/SHM_Shutdown_Deployment_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,7 +14,7 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Stopping all Deployment Servers===" +Add-LogMessage -Level Info "Stopping all Deployment Servers" Get-AzVM -ResourceGroupName "RG_SHM_DEPLOYMENT_POOL" | Stop-AzVM -Force -NoWait # Switch back to original subscription diff --git a/deployment/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 b/deployment/administration/SHM_Shutdown_IAAM_VMs.ps1 similarity index 75% rename from deployment/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 rename to deployment/administration/SHM_Shutdown_IAAM_VMs.ps1 index de8e9abf93..5c0420c7d7 100644 --- a/deployment/safe_haven_management_environment/Shutdown_SHM_IAAM_VMs.ps1 +++ b/deployment/administration/SHM_Shutdown_IAAM_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,9 +14,9 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Stopping NPS Server===" +Add-LogMessage -Level Info "Stopping NPS Server" Stop-AzVM -ResourceGroupName $config.nps.rg -Name $config.nps.vmName -Force -NoWait -Write-Host "===Stopping AD DCs===" +Add-LogMessage -Level Info "Stopping AD DCs" Stop-AzVM -ResourceGroupName $config.dc.rg -Name $config.dc.vmName -Force -NoWait Stop-AzVM -ResourceGroupName $config.dc.rg -Name $config.dcb.vmName -Force -NoWait diff --git a/deployment/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 b/deployment/administration/SHM_Shutdown_Mirror_VMs.ps1 similarity index 73% rename from deployment/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 rename to deployment/administration/SHM_Shutdown_Mirror_VMs.ps1 index 070026621d..ebed14755e 100644 --- a/deployment/safe_haven_management_environment/Shutdown_SHM_Mirror_VMs.ps1 +++ b/deployment/administration/SHM_Shutdown_Mirror_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,7 +14,7 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Stopping all Mirror Servers===" +Add-LogMessage -Level Info "Stopping all Mirror Servers" Get-AzVM -ResourceGroupName "RG_SHM_PKG_MIRRORS" | Stop-AzVM -Force -NoWait # Switch back to original subscription diff --git a/deployment/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 b/deployment/administration/SHM_Start_Deployment_VMs.ps1 similarity index 73% rename from deployment/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 rename to deployment/administration/SHM_Start_Deployment_VMs.ps1 index 8ff69a8d5e..e03de0bdb3 100644 --- a/deployment/safe_haven_management_environment/Start_SHM_Deployment_VMs.ps1 +++ b/deployment/administration/SHM_Start_Deployment_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,7 +14,7 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Stopping all Deployment Servers===" +Add-LogMessage -Level Info "Stopping all Deployment Servers" Get-AzVM -ResourceGroupName "RG_SHM_DEPLOYMENT_POOL" | Restart-AzVM -NoWait # Switch back to original subscription diff --git a/deployment/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 b/deployment/administration/SHM_Start_IAAM_VMs.ps1 similarity index 61% rename from deployment/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 rename to deployment/administration/SHM_Start_IAAM_VMs.ps1 index 56d120fd99..d29aad8f65 100644 --- a/deployment/safe_haven_management_environment/Start_SHM_IAAM_VMs.ps1 +++ b/deployment/administration/SHM_Start_IAAM_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,12 +14,12 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Starting AD DCs===" -Write-Host " - Waiting for Primary AD to start before starting other VMs." +Add-LogMessage -Level Info "Starting AD DCs..." +Add-LogMessage -Level Info " - Waiting for Primary AD to start before starting other VMs." Restart-AzVM -ResourceGroupName $config.dc.rg -Name $config.dc.vmName -Write-Host " - Waiting for Backup AD to start before starting other VMs." +Add-LogMessage -Level Info " - Waiting for Backup AD to start before starting other VMs." Restart-AzVM -ResourceGroupName $config.dc.rg -Name $config.dcb.vmName -Write-Host "===Starting NPS Server===" +Add-LogMessage -Level Info "Starting NPS Server" Restart-AzVM -ResourceGroupName $config.nps.rg -Name $config.nps.vmName # Switch back to original subscription diff --git a/deployment/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 b/deployment/administration/SHM_Start_Mirror_VMs.ps1 similarity index 73% rename from deployment/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 rename to deployment/administration/SHM_Start_Mirror_VMs.ps1 index 7b393d7ee0..6bd787e2be 100644 --- a/deployment/safe_haven_management_environment/Start_SHM_Mirror_VMs.ps1 +++ b/deployment/administration/SHM_Start_Mirror_VMs.ps1 @@ -4,7 +4,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SHM config $config = Get-ShmFullConfig($shmId) @@ -13,7 +14,7 @@ $config = Get-ShmFullConfig($shmId) $prevContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.subscriptionName; -Write-Host "===Starting all Mirror Servers===" +Add-LogMessage -Level Info "Starting all Mirror Servers" Get-AzVM -ResourceGroupName "RG_SHM_PKG_MIRRORS" | Restart-AzVM -NoWait # Switch back to original subscription diff --git a/deployment/safe_haven_management_environment/Teardown_SHM.ps1 b/deployment/administration/SHM_Teardown.ps1 similarity index 94% rename from deployment/safe_haven_management_environment/Teardown_SHM.ps1 rename to deployment/administration/SHM_Teardown.ps1 index 14f3dbf3e9..9385826560 100644 --- a/deployment/safe_haven_management_environment/Teardown_SHM.ps1 +++ b/deployment/administration/SHM_Teardown.ps1 @@ -4,9 +4,9 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force -Import-Module $PSScriptRoot/../common_powershell/Logging.psm1 -Force -Import-Module $PSScriptRoot/../common_powershell/Security.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force +Import-Module $PSScriptRoot/../common/Security.psm1 -Force # Get config and original context before changing subscription # ------------------------------------------------------------ diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index f35b0171a9..c796b53092 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -553,18 +553,10 @@ In order to tear down the SHM, use the following procedure: - You will need to provide login credentials (including MFA if set up) for `@` 5. Full disconnection of the Azure Active Directory can take up to 72 hours but is typically less. If you are planning to install a new SHM connected to the same Azure Active Directory you may find the `AzureADConnect` installation step requires you to wait for the previous disconnection to complete. -### Tear down any attached SREs -1. From a clone of the data-safe-haven repository, run the following commands, where `` is the one defined in the config file. - ```pwsh - cd secure_research_environment/sre_deploy_scripts - ./Teardown_SRE.ps1 -sreId - ``` -2. Repeat this step for all SREs attached to this SHM - - -### Tear down the SHM -1. From a clone of the data-safe-haven repository, run the following commands, where `` is the one defined in the config file. - ```pwsh - cd deployment/administration - ./SRE_Teardown.ps1 -sreId - ``` +### Tear down any attached SREs then the SHM +- Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). +- Open a Powershell terminal and navigate to the `deployment/administration` directory within the Safe Haven repository. +- Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` +- For each SRE that each attached to the SHM, do the following: + - Tear down the SRE by running `./SRE_Teardown.ps1 -sreId `, where the SRE ID is the one specified in the relevant config file +- Tear down the SHM by running `./SHM_Teardown.ps1 -shmId `, where the SHM ID is the one specified in the config From 2bc17550191543b5adc9a673a2a75ff1968a2b71 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Thu, 5 Mar 2020 23:51:06 +0000 Subject: [PATCH 19/30] Renamed directory to match SHM --- .../compute_vm/scripts}/ResetLdapPasswordOnAD.ps1 | 0 .../compute_vm/scripts}/check_ldap_connection.sh | 0 .../compute_vm/scripts}/create_postgres_roles.sh | 0 .../compute_vm/scripts}/rerun_realm_join.sh | 0 .../compute_vm/scripts}/reset_ldap_password.sh | 0 .../compute_vm/scripts}/restart_name_resolution_service.sh | 0 .../compute_vm/scripts}/restart_sssd_service.sh | 0 .../compute_vm/scripts}/upload_smoke_tests.sh | 0 .../{scripts => remote}/compute_vm/tests/README.md | 0 .../{scripts => remote}/compute_vm/tests/run_all_tests.sh | 0 .../compute_vm/tests/test_R_package_installation.R | 0 .../{scripts => remote}/compute_vm/tests/test_clustering.R | 0 .../{scripts => remote}/compute_vm/tests/test_cran.sh | 0 .../compute_vm/tests/test_logistic_regression.R | 0 .../compute_vm/tests/test_logistic_regression.py | 0 .../{scripts => remote}/compute_vm/tests/test_pypi.sh | 0 .../compute_vm/tests/test_python_package_installation.py | 0 .../configure_shm_dc/scripts}/Add_New_SRE_To_DNS_Remote.ps1 | 0 .../scripts}/Create_New_SRE_User_Service_Accounts_Remote.ps1 | 0 .../configure_shm_dc/scripts}/Remove_AD_Trust_Remote.ps1 | 0 .../configure_shm_dc/scripts}/Remove_DNS_Entries_Remote.ps1 | 0 .../scripts}/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../configure_shm_dc/scripts}/Remove_Users_And_Groups_Remote.ps1 | 0 .../create_dataserver/scripts}/Configure_Data_Server_Remote.ps1 | 0 .../create_dataserver/scripts}/Move_Data_Server_VM_Into_OU.ps1 | 0 .../remote_scripts => remote/create_dc/scripts}/Configure_DNS.ps1 | 0 .../create_dc/scripts}/Configure_Domain_Trust.ps1 | 0 .../create_dc/scripts}/Configure_GPOs.ps1 | 0 .../create_dc/scripts}/Create_Users_Groups_OUs.ps1 | 0 .../create_dc/scripts}/Import_Artifacts.ps1 | 0 .../create_rds/scripts}/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 | 0 .../create_rds/scripts}/Import_Artifacts.ps1 | 0 .../create_rds/scripts}/Install_Additional_Powershell_Modules.ps1 | 0 .../create_rds/scripts}/Install_Packages.ps1 | 0 .../create_rds/scripts}/Install_Signed_Ssl_Cert.ps1 | 0 .../create_rds/scripts}/Move_RDS_VMs_Into_OUs.ps1 | 0 .../create_rds/scripts}/Set_OS_Locale_and_DNS.ps1 | 0 .../create_rds/templates/Deploy_RDS_Environment.template.ps1 | 0 .../create_rds/templates/ServerList.template.xml | 0 .../create_rds/templates/Set-RDPublishedName.ps1 | 0 .../network_configuration/scripts}/update_mirror_settings.sh | 0 41 files changed, 0 insertions(+), 0 deletions(-) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/ResetLdapPasswordOnAD.ps1 (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/check_ldap_connection.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/create_postgres_roles.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/rerun_realm_join.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/reset_ldap_password.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/restart_name_resolution_service.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/restart_sssd_service.sh (100%) rename deployment/secure_research_environment/{scripts/compute_vm/remote_scripts => remote/compute_vm/scripts}/upload_smoke_tests.sh (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/README.md (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/run_all_tests.sh (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_R_package_installation.R (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_clustering.R (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_cran.sh (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_logistic_regression.R (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_logistic_regression.py (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_pypi.sh (100%) rename deployment/secure_research_environment/{scripts => remote}/compute_vm/tests/test_python_package_installation.py (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Add_New_SRE_To_DNS_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Create_New_SRE_User_Service_Accounts_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Remove_AD_Trust_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Remove_DNS_Entries_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/configure_shm_dc/remote_scripts => remote/configure_shm_dc/scripts}/Remove_Users_And_Groups_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dataserver/remote_scripts => remote/create_dataserver/scripts}/Configure_Data_Server_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dataserver/remote_scripts => remote/create_dataserver/scripts}/Move_Data_Server_VM_Into_OU.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dc/remote_scripts => remote/create_dc/scripts}/Configure_DNS.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dc/remote_scripts => remote/create_dc/scripts}/Configure_Domain_Trust.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dc/remote_scripts => remote/create_dc/scripts}/Configure_GPOs.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dc/remote_scripts => remote/create_dc/scripts}/Create_Users_Groups_OUs.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_dc/remote_scripts => remote/create_dc/scripts}/Import_Artifacts.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Import_Artifacts.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Install_Additional_Powershell_Modules.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Install_Packages.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Install_Signed_Ssl_Cert.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Move_RDS_VMs_Into_OUs.ps1 (100%) rename deployment/secure_research_environment/{scripts/create_rds/remote_scripts => remote/create_rds/scripts}/Set_OS_Locale_and_DNS.ps1 (100%) rename deployment/secure_research_environment/{scripts => remote}/create_rds/templates/Deploy_RDS_Environment.template.ps1 (100%) rename deployment/secure_research_environment/{scripts => remote}/create_rds/templates/ServerList.template.xml (100%) rename deployment/secure_research_environment/{scripts => remote}/create_rds/templates/Set-RDPublishedName.ps1 (100%) rename deployment/secure_research_environment/{scripts/network_configuration/remote_scripts => remote/network_configuration/scripts}/update_mirror_settings.sh (100%) diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/ResetLdapPasswordOnAD.ps1 b/deployment/secure_research_environment/remote/compute_vm/scripts/ResetLdapPasswordOnAD.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/ResetLdapPasswordOnAD.ps1 rename to deployment/secure_research_environment/remote/compute_vm/scripts/ResetLdapPasswordOnAD.ps1 diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/check_ldap_connection.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/check_ldap_connection.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/check_ldap_connection.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/check_ldap_connection.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/create_postgres_roles.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/create_postgres_roles.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/create_postgres_roles.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/create_postgres_roles.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/rerun_realm_join.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/rerun_realm_join.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/rerun_realm_join.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/rerun_realm_join.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/reset_ldap_password.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/reset_ldap_password.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/reset_ldap_password.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/reset_ldap_password.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_name_resolution_service.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/restart_name_resolution_service.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_name_resolution_service.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/restart_name_resolution_service.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_sssd_service.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/restart_sssd_service.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/restart_sssd_service.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/restart_sssd_service.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/remote_scripts/upload_smoke_tests.sh b/deployment/secure_research_environment/remote/compute_vm/scripts/upload_smoke_tests.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/remote_scripts/upload_smoke_tests.sh rename to deployment/secure_research_environment/remote/compute_vm/scripts/upload_smoke_tests.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/README.md b/deployment/secure_research_environment/remote/compute_vm/tests/README.md similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/README.md rename to deployment/secure_research_environment/remote/compute_vm/tests/README.md diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/run_all_tests.sh b/deployment/secure_research_environment/remote/compute_vm/tests/run_all_tests.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/run_all_tests.sh rename to deployment/secure_research_environment/remote/compute_vm/tests/run_all_tests.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_R_package_installation.R b/deployment/secure_research_environment/remote/compute_vm/tests/test_R_package_installation.R similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_R_package_installation.R rename to deployment/secure_research_environment/remote/compute_vm/tests/test_R_package_installation.R diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_clustering.R b/deployment/secure_research_environment/remote/compute_vm/tests/test_clustering.R similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_clustering.R rename to deployment/secure_research_environment/remote/compute_vm/tests/test_clustering.R diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_cran.sh b/deployment/secure_research_environment/remote/compute_vm/tests/test_cran.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_cran.sh rename to deployment/secure_research_environment/remote/compute_vm/tests/test_cran.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.R b/deployment/secure_research_environment/remote/compute_vm/tests/test_logistic_regression.R similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.R rename to deployment/secure_research_environment/remote/compute_vm/tests/test_logistic_regression.R diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.py b/deployment/secure_research_environment/remote/compute_vm/tests/test_logistic_regression.py similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_logistic_regression.py rename to deployment/secure_research_environment/remote/compute_vm/tests/test_logistic_regression.py diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_pypi.sh b/deployment/secure_research_environment/remote/compute_vm/tests/test_pypi.sh similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_pypi.sh rename to deployment/secure_research_environment/remote/compute_vm/tests/test_pypi.sh diff --git a/deployment/secure_research_environment/scripts/compute_vm/tests/test_python_package_installation.py b/deployment/secure_research_environment/remote/compute_vm/tests/test_python_package_installation.py similarity index 100% rename from deployment/secure_research_environment/scripts/compute_vm/tests/test_python_package_installation.py rename to deployment/secure_research_environment/remote/compute_vm/tests/test_python_package_installation.py diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Add_New_SRE_To_DNS_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Add_New_SRE_To_DNS_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Add_New_SRE_To_DNS_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Add_New_SRE_To_DNS_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Create_New_SRE_User_Service_Accounts_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_AD_Trust_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_AD_Trust_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_AD_Trust_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_AD_Trust_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_DNS_Entries_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_DNS_Entries_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_DNS_Entries_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_DNS_Entries_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_Users_And_Groups_Remote.ps1 b/deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_Users_And_Groups_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/configure_shm_dc/remote_scripts/Remove_Users_And_Groups_Remote.ps1 rename to deployment/secure_research_environment/remote/configure_shm_dc/scripts/Remove_Users_And_Groups_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 b/deployment/secure_research_environment/remote/create_dataserver/scripts/Configure_Data_Server_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Configure_Data_Server_Remote.ps1 rename to deployment/secure_research_environment/remote/create_dataserver/scripts/Configure_Data_Server_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 b/deployment/secure_research_environment/remote/create_dataserver/scripts/Move_Data_Server_VM_Into_OU.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dataserver/remote_scripts/Move_Data_Server_VM_Into_OU.ps1 rename to deployment/secure_research_environment/remote/create_dataserver/scripts/Move_Data_Server_VM_Into_OU.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_DNS.ps1 b/deployment/secure_research_environment/remote/create_dc/scripts/Configure_DNS.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_DNS.ps1 rename to deployment/secure_research_environment/remote/create_dc/scripts/Configure_DNS.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_Domain_Trust.ps1 b/deployment/secure_research_environment/remote/create_dc/scripts/Configure_Domain_Trust.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_Domain_Trust.ps1 rename to deployment/secure_research_environment/remote/create_dc/scripts/Configure_Domain_Trust.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_GPOs.ps1 b/deployment/secure_research_environment/remote/create_dc/scripts/Configure_GPOs.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dc/remote_scripts/Configure_GPOs.ps1 rename to deployment/secure_research_environment/remote/create_dc/scripts/Configure_GPOs.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 b/deployment/secure_research_environment/remote/create_dc/scripts/Create_Users_Groups_OUs.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dc/remote_scripts/Create_Users_Groups_OUs.ps1 rename to deployment/secure_research_environment/remote/create_dc/scripts/Create_Users_Groups_OUs.ps1 diff --git a/deployment/secure_research_environment/scripts/create_dc/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/remote/create_dc/scripts/Import_Artifacts.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_dc/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/remote/create_dc/scripts/Import_Artifacts.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Add_RDS_Gateway_RADIUS_Client_Remote.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Import_Artifacts.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Import_Artifacts.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Import_Artifacts.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Import_Artifacts.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Install_Additional_Powershell_Modules.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Additional_Powershell_Modules.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Install_Additional_Powershell_Modules.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Packages.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Install_Packages.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Packages.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Install_Packages.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Install_Signed_Ssl_Cert.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Install_Signed_Ssl_Cert.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Install_Signed_Ssl_Cert.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Move_RDS_VMs_Into_OUs.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Move_RDS_VMs_Into_OUs.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Move_RDS_VMs_Into_OUs.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 b/deployment/secure_research_environment/remote/create_rds/scripts/Set_OS_Locale_and_DNS.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/remote_scripts/Set_OS_Locale_and_DNS.ps1 rename to deployment/secure_research_environment/remote/create_rds/scripts/Set_OS_Locale_and_DNS.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/templates/Deploy_RDS_Environment.template.ps1 b/deployment/secure_research_environment/remote/create_rds/templates/Deploy_RDS_Environment.template.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/templates/Deploy_RDS_Environment.template.ps1 rename to deployment/secure_research_environment/remote/create_rds/templates/Deploy_RDS_Environment.template.ps1 diff --git a/deployment/secure_research_environment/scripts/create_rds/templates/ServerList.template.xml b/deployment/secure_research_environment/remote/create_rds/templates/ServerList.template.xml similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/templates/ServerList.template.xml rename to deployment/secure_research_environment/remote/create_rds/templates/ServerList.template.xml diff --git a/deployment/secure_research_environment/scripts/create_rds/templates/Set-RDPublishedName.ps1 b/deployment/secure_research_environment/remote/create_rds/templates/Set-RDPublishedName.ps1 similarity index 100% rename from deployment/secure_research_environment/scripts/create_rds/templates/Set-RDPublishedName.ps1 rename to deployment/secure_research_environment/remote/create_rds/templates/Set-RDPublishedName.ps1 diff --git a/deployment/secure_research_environment/scripts/network_configuration/remote_scripts/update_mirror_settings.sh b/deployment/secure_research_environment/remote/network_configuration/scripts/update_mirror_settings.sh similarity index 100% rename from deployment/secure_research_environment/scripts/network_configuration/remote_scripts/update_mirror_settings.sh rename to deployment/secure_research_environment/remote/network_configuration/scripts/update_mirror_settings.sh From 0a720d896e1c6dd4513c98299a1b67ac0b674fd4 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 00:08:24 +0000 Subject: [PATCH 20/30] Reconfigured artifacts --- .../sre-dc-ad-setup-scripts/dc-create.zip | Bin .../source/CreateADPDC.ps1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.ps1 | 0 .../MSFT_xADCommon/MSFT_xADCommon.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.psm1 | 0 .../MSFT_xADComputer/MSFT_xADComputer.schema.mof | 0 .../MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.psm1 | 0 .../MSFT_xADDomain/MSFT_xADDomain.schema.mof | 0 .../MSFT_xADDomainController.psm1 | 0 .../MSFT_xADDomainController.schema.mof | 0 .../MSFT_xADDomainDefaultPasswordPolicy.psm1 | 0 ...SFT_xADDomainDefaultPasswordPolicy.schema.mof | 0 .../MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 | 0 .../MSFT_xADDomainTrust.schema.mof | 0 .../MSFT_xADGroup/MSFT_xADGroup.psm1 | 0 .../MSFT_xADGroup/MSFT_xADGroup.schema.mof | 0 .../MSFT_xADOrganizationalUnit.psm1 | 0 .../MSFT_xADOrganizationalUnit.schema.mof | 0 .../Examples/xActiveDirectory_xADRecycleBin.ps1 | 0 .../MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 | 0 .../MSFT_xADRecycleBin.schema.mof | 0 .../GeneratexADRecycleBinSchema.ps1 | 0 .../DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 | 0 .../MSFT_xADUser/MSFT_xADUser.schema.mof | 0 .../MSFT_xWaitForADDomain.psm1 | 0 .../MSFT_xWaitForADDomain.schema.mof | 0 .../xActiveDirectory/xActiveDirectory.psd1 | 0 .../MSFT_xDNSServerAddress.psm1 | 0 .../MSFT_xDNSServerAddress.schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.Schema.mof | Bin .../MSFT_xFirewall/MSFT_xFirewall.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.psm1 | 0 .../MSFT_xIPAddress/MSFT_xIPAddress.schema.mof | 0 .../Examples/Sample_xDnsServerAddress.ps1 | 0 .../Sample_xFirewall_AddFirewallRule.ps1 | 0 ..._xFirewall_AddFirewallRuleToExistingGroup.ps1 | 0 ...ample_xFirewall_AddFirewallRuleToNewGroup.ps1 | 0 ...mple_xFirewall_DisableAccessToApplication.ps1 | 0 .../Examples/Sample_xIPAddress_FixedValue.ps1 | 0 .../Examples/Sample_xIPAddress_Parameterized.ps1 | 0 .../source/xNetworking/xNetworking.psd1 | 0 .../xNetworking_TechNetDocumentation.html | 0 .../MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 | 0 .../MSFT_xPendingReboot.schema.mof | 0 .../source/xPendingReboot/0.3.0.0/LICENSE | 0 .../xPendingReboot/0.3.0.0/PSGetModuleInfo.xml | Bin .../source/xPendingReboot/0.3.0.0/README.md | 0 .../0.3.0.0/Tests/xPendingReboot.tests.ps1 | 0 .../source/xPendingReboot/0.3.0.0/appveyor.yml | 0 .../xPendingReboot/0.3.0.0/xPendingReboot.psd1 | 0 .../DSCResources/CommonResourceHelper.psm1 | 0 .../DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 | 0 .../MSFT_xDisk/MSFT_xDisk.schema.mof | 0 .../MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 | 0 .../MSFT_xDiskAccessPath.psm1 | 0 .../MSFT_xDiskAccessPath.schema.mof | 0 .../en-us/MSFT_xDiskAccessPath.strings.psd1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.psm1 | 0 .../MSFT_xMountImage/MSFT_xMountImage.schema.mof | 0 .../en-us/MSFT_xMountImage.strings.psd1 | 0 .../MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 | 0 .../MSFT_xWaitForDisk.schema.mof | 0 .../en-us/MSFT_xWaitForDisk.strings.psd1 | 0 .../MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 | 0 .../MSFT_xWaitForVolume.schema.mof | 0 .../en-us/MSFT_xWaitForVolume.strings.psd1 | 0 .../StorageCommon/StorageCommon.psm1 | 0 .../en-us/StorageCommon.strings.psd1 | 0 .../Examples/Sample_InitializeDataDisk.ps1 | 0 .../Sample_InitializeDataDiskWithAccessPath.ps1 | 0 .../Examples/Sample_xMountImage_DismountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountISO.ps1 | 0 .../Examples/Sample_xMountImage_MountVHD.ps1 | 0 .../source/xStorage/2.9.0.0/LICENSE | 0 .../source/xStorage/2.9.0.0/PSGetModuleInfo.xml | Bin .../source/xStorage/2.9.0.0/README.md | 0 .../Integration/IntegrationTestsCommon.psm1 | 0 .../Integration/MSFT_xDisk.Integration.Tests.ps1 | 0 .../Tests/Integration/MSFT_xDisk.config.ps1 | 0 .../MSFT_xDiskAccessPath.Integration.Tests.ps1 | 0 .../Integration/MSFT_xDiskAccessPath.config.ps1 | 0 .../MSFT_xMountImage_ISO.Integration.Tests.ps1 | 0 .../MSFT_xMountImage_VHD.Integration.Tests.ps1 | 0 .../MSFT_xMountImage_dismount.config.ps1 | 0 .../MSFT_xMountImage_mount.config.ps1 | 0 .../MSFT_xWaitForDisk.Integration.Tests.ps1 | 0 .../Integration/MSFT_xWaitForDisk.config.ps1 | 0 .../MSFT_xWaitForVolume.Integration.Tests.ps1 | 0 .../Integration/MSFT_xWaitForVolume.config.ps1 | 0 .../Tests/TestHelpers/CommonTestHelper.psm1 | 0 .../2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 | 0 .../Tests/Unit/MSFT_xMountImage.tests.ps1 | 0 .../Tests/Unit/MSFT_xWaitForDisk.tests.ps1 | 0 .../Tests/Unit/MSFT_xWaitForVolume.tests.ps1 | 0 .../2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 | 0 .../source/xStorage/2.9.0.0/xStorage.psd1 | 0 .../artifacts/sre-dc-configuration/GPOs.zip | Bin .../StartMenuLayoutModification.xml | 0 .../source/GPOs/manifest.xml | 0 .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../microsoft/windows nt/SecEdit/GptTmpl.inf | Bin .../DomainSysvol/GPO/Machine/registry.pol | Bin .../DomainSysvol/GPO/User/comment.cmtx | 0 .../DomainSysvol/GPO/User/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../GPO/User/Preferences/Drives/Drives.xml | 0 .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../Backup.xml | 0 .../DomainSysvol/GPO/Machine/comment.cmtx | 0 .../DomainSysvol/GPO/Machine/registry.pol | Bin .../bkupInfo.xml | 0 .../gpreport.xml | Bin .../setup/Prepare_SHM.ps1 | 4 ++-- .../setup/Setup_SRE_DC.ps1 | 15 +++++++-------- 128 files changed, 9 insertions(+), 10 deletions(-) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/dc-create.zip (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/GPOs.zip (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/manifest.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml (100%) rename deployment/secure_research_environment/{ => remote/create_dc}/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml (100%) diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/dc-create.zip b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/dc-create.zip rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/dc-create.zip diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/CreateADPDC.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADCommon/MSFT_xADCommon.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/MSFT_xADComputer.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADComputer/en-US/MSFT_xADComputer.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomain/MSFT_xADDomain.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainController/MSFT_xADDomainController.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainDefaultPasswordPolicy/MSFT_xADDomainDefaultPasswordPolicy.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADDomainTrust/MSFT_xADDomainTrust.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADGroup/MSFT_xADGroup.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADOrganizationalUnit/MSFT_xADOrganizationalUnit.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/Examples/xActiveDirectory_xADRecycleBin.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/MSFT_xADRecycleBin.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADRecycleBin/ResourceDesignerScripts/GeneratexADRecycleBinSchema.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xADUser/MSFT_xADUser.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/DSCResources/MSFT_xWaitForADDomain/MSFT_xWaitForADDomain.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xActiveDirectory/xActiveDirectory.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xDNSServerAddress/MSFT_xDNSServerAddress.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.Schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xFirewall/MSFT_xFirewall.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/DSCResources/MSFT_xIPAddress/MSFT_xIPAddress.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xDnsServerAddress.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRule.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToExistingGroup.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_AddFirewallRuleToNewGroup.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xFirewall_DisableAccessToApplication.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_FixedValue.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/Examples/Sample_xIPAddress_Parameterized.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xNetworking/xNetworking_TechNetDocumentation.html diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/DSCResources/MSFT_xPendingReboot/MSFT_xPendingReboot.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/LICENSE diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/PSGetModuleInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/README.md diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/Tests/xPendingReboot.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/appveyor.yml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xPendingReboot/0.3.0.0/xPendingReboot.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/CommonResourceHelper.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/MSFT_xDisk.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDisk/en-us/MSFT_xDisk.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/MSFT_xDiskAccessPath.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xDiskAccessPath/en-us/MSFT_xDiskAccessPath.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/MSFT_xMountImage.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xMountImage/en-us/MSFT_xMountImage.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/MSFT_xWaitForDisk.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForDisk/en-us/MSFT_xWaitForDisk.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/MSFT_xWaitForVolume.schema.mof diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/MSFT_xWaitForVolume/en-us/MSFT_xWaitForVolume.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/StorageCommon.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/DSCResources/StorageCommon/en-us/StorageCommon.strings.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDisk.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_InitializeDataDiskWithAccessPath.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_DismountISO.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountISO.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Examples/Sample_xMountImage_MountVHD.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/LICENSE diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/PSGetModuleInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/README.md diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/IntegrationTestsCommon.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDisk.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xDiskAccessPath.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_ISO.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_VHD.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_dismount.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xMountImage_mount.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForDisk.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.Integration.Tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Integration/MSFT_xWaitForVolume.config.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/TestHelpers/CommonTestHelper.psm1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDisk.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xDiskAssignPath.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xMountImage.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForDisk.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/MSFT_xWaitForVolume.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/Tests/Unit/StorageCommon.tests.ps1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-ad-setup-scripts/source/xStorage/2.9.0.0/xStorage.psd1 diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/GPOs.zip b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/GPOs.zip similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/GPOs.zip rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/GPOs.zip diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/StartMenuLayoutModification.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/manifest.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/manifest.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/manifest.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/Backup.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/bkupInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{0AF343A0-248D-4CA5-B19E-5FA46DAE9F9C}/gpreport.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/Backup.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/bkupInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{742211F9-1482-4D06-A8DE-BA66101933EB}/gpreport.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/Backup.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/microsoft/windows nt/SecEdit/GptTmpl.inf diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/Machine/registry.pol diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/comment.cmtx diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/DomainSysvol/GPO/User/registry.pol diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/bkupInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{B0A14FC3-292E-4A23-B280-9CC172D92FD5}/gpreport.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/Backup.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/DomainSysvol/GPO/User/Preferences/Drives/Drives.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/bkupInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{D320C1D9-52EF-47D8-80A7-1E73A457CDAD}/gpreport.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/Backup.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/comment.cmtx diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/DomainSysvol/GPO/Machine/registry.pol diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/bkupInfo.xml diff --git a/deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml b/deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml similarity index 100% rename from deployment/secure_research_environment/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml rename to deployment/secure_research_environment/remote/create_dc/artifacts/sre-dc-configuration/source/GPOs/{EE9EF278-1F3F-461C-9F7A-97F2B82C04B4}/gpreport.xml diff --git a/deployment/secure_research_environment/setup/Prepare_SHM.ps1 b/deployment/secure_research_environment/setup/Prepare_SHM.ps1 index 7e70c725a0..f7ce172719 100644 --- a/deployment/secure_research_environment/setup/Prepare_SHM.ps1 +++ b/deployment/secure_research_environment/setup/Prepare_SHM.ps1 @@ -47,7 +47,7 @@ $testResearcherPasswordEncrypted = ConvertTo-SecureString $testResearcherPasswor # ------------------------------- Add-LogMessage -Level Info "[ ] Adding SRE users and groups to SHM..." $_ = Set-AzContext -Subscription $config.shm.subscriptionName -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Create_New_SRE_User_Service_Accounts_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "configure_shm_dc" "scripts" "Create_New_SRE_User_Service_Accounts_Remote.ps1" $params = @{ shmFqdn = "`"$($config.shm.domain.fqdn)`"" sreFqdn = "`"$($config.sre.domain.fqdn)`"" @@ -77,7 +77,7 @@ Write-Output $result.Value # Add SRE DNS entries to SHM # -------------------------- Add-LogMessage -Level Info "[ ] Adding SRE DNS records to SHM..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "configure_shm_dc" "remote_scripts" "Add_New_SRE_To_DNS_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "configure_shm_dc" "scripts" "Add_New_SRE_To_DNS_Remote.ps1" $params = @{ shmFqdn = "`"$($config.shm.domain.fqdn)`"" sreFqdn = "`"$($config.sre.domain.fqdn)`"" diff --git a/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 b/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 index c9e80e0d12..27419567a3 100644 --- a/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 +++ b/deployment/secure_research_environment/setup/Setup_SRE_DC.ps1 @@ -76,7 +76,7 @@ ForEach ($folderFilePair in (($artifactsFolderNameCreate, $dcCreationZipFileName ($artifactsFolderNameConfig, "GPOs.zip"), ($artifactsFolderNameConfig, "StartMenuLayoutModification.xml"))) { $artifactsFolderName, $artifactsFileName = $folderFilePair - $_ = Set-AzStorageBlobContent -Container $artifactsFolderName -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "artifacts" $artifactsFolderName $artifactsFileName) -Force + $_ = Set-AzStorageBlobContent -Container $artifactsFolderName -Context $storageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_dc" "artifacts" $artifactsFolderName $artifactsFileName) -Force if ($?) { Add-LogMessage -Level Success "Uploaded '$artifactsFileName' to '$artifactsFolderName'" } else { @@ -141,7 +141,7 @@ Add-LogMessage -Level Info "Importing configuration artifacts for: $($config.sre $blobNames = Get-AzStorageBlob -Container $artifactsFolderNameConfig -Context $storageAccount.Context | ForEach-Object { $_.Name } $artifactSasToken = New-ReadOnlyAccountSasToken -subscriptionName $config.sre.subscriptionName -resourceGroup $config.sre.storage.artifacts.rg -accountName $config.sre.storage.artifacts.accountName # Run import script remotely -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Import_Artifacts.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Import_Artifacts.ps1" $params = @{ remoteDir = "`"$remoteUploadDir`"" pipeSeparatedBlobNames = "`"$($blobNames -join "|")`"" @@ -164,7 +164,7 @@ Write-Output $result.Value # Configure DNS # ------------- Add-LogMessage -Level Info "Configuring DNS for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_DNS.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Configure_DNS.ps1" $params = @{ identitySubnetCidr = "`"$($config.sre.network.subnets.identity.cidr)`"" rdsSubnetCidr = "`"$($config.sre.network.subnets.rds.cidr)`"" @@ -179,7 +179,7 @@ Write-Output $result.Value # Create users, groups and OUs # ---------------------------- Add-LogMessage -Level Info "Creating users, groups and OUs for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Create_Users_Groups_OUs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Create_Users_Groups_OUs.ps1" $params = @{ sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" sreDn = "`"$($config.sre.domain.dn)`"" @@ -190,12 +190,10 @@ $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMNam Write-Output $result.Value - - # Configure GPOs # -------------- Add-LogMessage -Level Info "Configuring GPOs for: $($config.sre.dc.vmName)..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_GPOs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Configure_GPOs.ps1" $params = @{ oubackuppath = "`"$remoteUploadDir\GPOs`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -234,7 +232,7 @@ $_ = Set-AzContext -Subscription $config.shm.subscriptionName $dcAdminPasswordEncrypted = ConvertTo-SecureString $dcAdminPassword -AsPlainText -Force | ConvertFrom-SecureString -Key (1..16) # Run domain configuration script remotely -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dc" "remote_scripts" "Configure_Domain_Trust.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dc" "scripts" "Configure_Domain_Trust.ps1" $params = @{ sreDcAdminPasswordEncrypted = "`"$dcAdminPasswordEncrypted`"" sreDcAdminUsername = "`"$dcAdminUsername`"" @@ -249,6 +247,7 @@ Write-Output $result.Value $_ = Set-AzContext -Subscription $config.sre.subscriptionName Add-VmToNSG -VMName $config.sre.dc.vmName -NSGName $nsg.Name + # Switch back to original subscription # ------------------------------------ $_ = Set-AzContext -Context $originalContext \ No newline at end of file From cc59af30c8076cf4b49f46065d730bc09409b05f Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 00:55:02 +0000 Subject: [PATCH 21/30] Updated RDS servers --- .../azure-runbooks/shm_build_instructions.md | 2 +- .../azure-runbooks/sre_build_instructions.md | 29 ++++++++++--------- .../CreateUpdate_Signed_Ssl_Certificate.ps1 | 2 +- .../setup/Setup_SRE_RDS_Servers.ps1 | 18 ++++++------ 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md index c796b53092..511d0bfde9 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md @@ -529,7 +529,7 @@ A full set of Tier 2 mirrors take around 4 days to fully synchronise with the ex - Open a Powershell terminal and navigate to the `deployment/safe_haven_management_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into Azure within PowerShell using the command: `Connect-AzAccount` - Deploy and configure the RDS VMs by running `./Create_Package_Mirrors.ps1 -shmId -tier `, where the SHM ID is the one specified in the config -- This will take **around 20 minutes** to run. +- This will take **around 30 minutes** to run. ### [Optional] Tearing down package mirrors diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index f0070f5054..eb9490257a 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -197,36 +197,37 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor ![Remote Desktop Gateway Manager](images/rd_gateway_manager_01.png) - In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" ![RDS server properties](images/rd_gateway_manager_02.png) -- Select "RD CAP Store" tab -- Select the "Central Server Running NPS" +- Select `RD CAP Store` tab +- Select the `Central Server Running NPS` - Enter the IP address of the NPS within the management domain (this will be `10..0.248`, you can see it from the Azure portal (`Resource Groups -> RG_SHM_NPS -> NPS-SHM-`) - Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). ![RD CAP store](images/rd_gateway_manager_03.png) -- Click "OK" to close the dialogue box. +- Click `OK` to close the dialogue box. #### Set the security groups for access to session hosts - Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` -- Right click on "RDG_AllDomainComputers" and select "Properties` +- Right click on `RDG_AllDomainComputers` and select "Properties` ![Session host security groups](images/rd_gateway_session_hosts_01.png) -- On the "User Groups" tab click "Add" -- Click "Locations" and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click "OK" -- Enter "SG" into the "Enter the object names to select" box and click on "Check Names" select the `SG Research Users`security group from the list. +- On the `User Groups` tab click `Add` +- Click `Locations` and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click `OK` +- Enter `SG` into the `Enter the object names to select` box and click on `Check Names` +- Select the `SG Research Users`security group from the list. ![Session host security groups](images/rd_gateway_session_hosts_02.png) -- Click "OK" and the group will be added to the "User Groups" screen +- Click `OK` and the group will be added to the "User Groups" screen ![Session host security groups](images/rd_gateway_session_hosts_03.png) -- Click "OK" to exit the dialogue box -- Right click on "RDG_RDConnectionBrokers" policy and select "Properties" +- Click `OK` to exit the dialogue box +- Right click on `RDG_RDConnectionBrokers` policy and select `Properties` ![Session host security groups](images/rd_gateway_session_hosts_04.png) -- Repeat the process you did for the "RDG_AllDomainComputers" policy, again adding the `SG Research Users`security group from the list. +- Repeat the process you did for the `RDG_AllDomainComputers` policy, again adding the `SG Research Users` security group from the list. #### Increase the authorisation timeout to allow for MFA - In "Server Manager", select `Tools -> Network Policy Server` - Expand `NPS (Local) -> RADIUS Clients and Servers -> Remote RADIUS Server Groups` and double click on `TS GATEWAY SERVER GROUP` ![Remote RADIUS server](images/media/rds_local_nps_remote_server_selection.png) -- Highlight the server shown in the “RADIUS Server” column and click “Edit” -- Change to the “Load Balancing” tab and change the parameters to match the screen below +- Highlight the server shown in the `RADIUS Server` column and click `Edit` +- Change to the `Load Balancing` tab and change the parameters to match the screen below ![Load balancing](images/media/rds_local_nps_remote_server_timeouts.png) -- Click “OK” twice and close “Network Policy Server” MMC +- Click `OK` twice and close `Network Policy Server` MMC ### Configuration of SSL on RDS Gateway - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). diff --git a/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 b/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 index 423bca902f..69baaba8e7 100644 --- a/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 +++ b/deployment/secure_research_environment/setup/CreateUpdate_Signed_Ssl_Certificate.ps1 @@ -201,7 +201,7 @@ if ($doInstall) { # Configure RDS Gateway VM to use signed certificate # -------------------------------------------------- Add-LogMessage -Level Info "Configuring RDS Gateway VM to use SSL certificate" - $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Signed_Ssl_Cert.ps1" + $scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Install_Signed_Ssl_Cert.ps1" $params = @{ rdsFqdn = "`"$rdsFqdn`"" certThumbPrint = "`"$($kvCertificate.Thumbprint)`"" diff --git a/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 index 6338a3adc1..036d3744fe 100644 --- a/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 @@ -150,12 +150,12 @@ Add-LogMessage -Level Info "Upload RDS deployment scripts to storage..." # Expand deploy script $deployScriptLocalFilePath = (New-TemporaryFile).FullName -$template = Get-Content (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "Deploy_RDS_Environment.template.ps1") -Raw +$template = Get-Content (Join-Path $PSScriptRoot ".." "remote" "create_rds" "templates" "Deploy_RDS_Environment.template.ps1") -Raw $ExecutionContext.InvokeCommand.ExpandString($template) | Out-File $deployScriptLocalFilePath # Expand server list XML $serverListLocalFilePath = (New-TemporaryFile).FullName -$template = Get-Content (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "ServerList.template.xml") -Raw +$template = Get-Content (Join-Path $PSScriptRoot ".." "remote" "create_rds" "templates" "ServerList.template.xml") -Raw $ExecutionContext.InvokeCommand.ExpandString($template) | Out-File $serverListLocalFilePath # Copy existing files @@ -172,7 +172,7 @@ if ($?) { Add-LogMessage -Level Info "[ ] Uploading RDS gateway scripts to storage account '$sreStorageAccountName'" Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File $deployScriptLocalFilePath -Blob "Deploy_RDS_Environment.ps1" -Force Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File $serverListLocalFilePath -Blob "ServerList.xml" -Force -Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "templates" "Set-RDPublishedName.ps1") -Blob "Set-RDPublishedName.ps1" -Force +Set-AzStorageBlobContent -Container $containerNameGateway -Context $sreStorageAccount.Context -File (Join-Path $PSScriptRoot ".." "remote" "create_rds" "templates" "Set-RDPublishedName.ps1") -Blob "Set-RDPublishedName.ps1" -Force if ($?) { Add-LogMessage -Level Success "File uploading succeeded" } else { @@ -227,7 +227,7 @@ if ($?) { Add-LogMessage -Level Info "Adding RDS Gateway as RADIUS client on SHM NPS" $_ = Set-AzContext -SubscriptionId $config.shm.subscriptionName # Run remote script -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Add_RDS_Gateway_RADIUS_Client_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Add_RDS_Gateway_RADIUS_Client_Remote.ps1" $params = @{ rdsGatewayIp = "`"$($config.sre.rds.gateway.ip)`"" rdsGatewayFqdn = "`"$($config.sre.rds.gateway.fqdn)`"" @@ -243,7 +243,7 @@ Write-Output $result.Value Add-LogMessage -Level Info "Adding RDS VMs to correct OUs" $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName # Run remote script -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Move_RDS_VMs_Into_OUs.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Move_RDS_VMs_Into_OUs.ps1" $params = @{ sreDn = "`"$($config.sre.domain.dn)`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -259,7 +259,7 @@ Write-Output $result.Value # -------------------------------------------------- Add-LogMessage -Level Info "Configuring Windows and setting DNS on RDS servers..." $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName -$templateScript = Get-Content -Path (Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Set_OS_Locale_and_DNS.ps1") -Raw +$templateScript = Get-Content -Path (Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Set_OS_Locale_and_DNS.ps1") -Raw $configurationScript = Get-Content -Path (Join-Path $PSScriptRoot ".." ".." "common" "remote" "Configure_Windows.ps1") -Raw $setLocaleDnsAndUpdate = $templateScript.Replace("# LOCALE CODE IS PROGRAMATICALLY INSERTED HERE", $configurationScript) $params = @{ @@ -309,7 +309,7 @@ Add-LogMessage -Level Success "Found $($filePathsSh1.Count + $filePathsSh2.Count # Get SAS token to download files from storage account $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName $sasToken = New-ReadOnlyAccountSasToken -subscriptionName $config.sre.subscriptionName -resourceGroup $sreStorageAccountRg -accountName $sreStorageAccountName -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Import_Artifacts.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Import_Artifacts.ps1" # Copy software and/or scripts to RDS Gateway Add-LogMessage -Level Info "[ ] Copying $($filePathsGateway.Count) files to RDS Gateway" @@ -360,7 +360,7 @@ foreach ($nameVMNameParamsPair in $vmNamePairs) { $name, $vmName = $nameVMNameParamsPair if ($name -ne "RDS Gateway") { Add-LogMessage -Level Info "[ ] Installing packages on ${name}: '$vmName'" - $scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Packages.ps1" + $scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Install_Packages.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $vmName -ResourceGroupName $config.sre.rds.rg Write-Output $result.Value } @@ -370,7 +370,7 @@ foreach ($nameVMNameParamsPair in $vmNamePairs) { # Install required Powershell modules on RDS Gateway # -------------------------------------------------- Add-LogMessage -Level Info "[ ] Installing required Powershell modules on RDS Gateway..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_rds" "remote_scripts" "Install_Additional_Powershell_Modules.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Install_Additional_Powershell_Modules.ps1" $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.sre.rds.gateway.vmName -ResourceGroupName $config.sre.rds.rg Write-Output $result.Value From 2b35aa961c852f18481a37ba3368c3f835a81971 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 10:22:26 +0000 Subject: [PATCH 22/30] Updated webapp servers --- .../azure-runbooks/sre_build_instructions.md | 88 +++++++++++-------- .../cloud-init-gitlab.template.yaml | 0 .../cloud-init-hackmd.template.yaml | 0 .../setup/Create_Web_App_Servers.ps1 | 20 ++--- .../setup/Setup_Data_Server.ps1 | 4 +- 5 files changed, 60 insertions(+), 52 deletions(-) rename {environment_configs => deployment/secure_research_environment}/cloud_init/cloud-init-gitlab.template.yaml (100%) rename {environment_configs => deployment/secure_research_environment}/cloud_init/cloud-init-hackmd.template.yaml (100%) diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index eb9490257a..81fb64173f 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -104,7 +104,7 @@ The following core SHM properties must be defined in a JSON file named `shm__core_config.json`. +The following core SRE properties must be defined in a JSON file named `sre__core_config.json`. ```json { @@ -132,8 +132,8 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - Open a Powershell terminal and navigate to the top-level folder within the Safe Haven repository. - Generate a new full configuration file for the new SRE using the following commands. - `Import-Module ./deployment/common/Configuration.psm1 -Force` - - `Add-SreConfig -sreId `, where `` is a short string, e.g. `sandbox` for `sandbox.dsgroupdev.co.uk` -- A full configuration file for the new SRE will be created at `environment_configs/full/sre__full_config.json`. This file is used by the subsequent steps in the SRE deployment. + - `Add-SreConfig -sreId `, where `` is a short string, e.g. `sandbox` for `sandbox.dsgroupdev.co.uk` +- A full configuration file for the new SRE will be created at `environment_configs/full/sre__full_config.json`. This file is used by the subsequent steps in the SRE deployment. - Commit this new full configuration file to the Safe Haven repository ## 3. Prepare Safe Haven Management deployment @@ -160,7 +160,7 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - The VNet peerings may take a few minutes to provision after the script completes. ### Set up a VPN connection to the SRE -- In the **SRE subscription** open `Resource Groups -> RG_SRE_NETWORKING -> VNET_SRE__GW` +- In the **SRE subscription** open `Resource Groups -> RG_SRE_NETWORKING -> VNET_SRE__GW` - Select "**Point to Site Configuration**" from the left-hand navigation - Download the VPN client from the "Point to Site configuration" menu ![VPN client](images/vpn_client.png) @@ -185,7 +185,7 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor ### Install and configure RDS Environment and webclient - Connect to the **RDS Gateway** via Remote Desktop client over the SRE VPN connection - The IP address can be found using the Azure portal by navigating to the Virtual Machine (`Resource Groups -> RG_SRE_RDS -> RDG-SRE-`) -- Login as the **SRE domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) +- Login as the **SRE domain** admin user eg. `sresandboxadmin@sandbox.dsgroupdev.co.uk`) where the admin username and password are stored in the SRE KeyVault `Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-` as `sre--dc-admin-username` and `sre--dc-admin-password`. (NB. all SRE Windows servers use the same admin credentials.) #### Install RDS environment and webclient - Open a PowerShell command window with elevated privileges - make sure to use the `Windows PowerShell` application, not the `Windows PowerShell (x86)` application. The required server management commandlets are not installed on the x86 version. @@ -195,30 +195,30 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor #### Configure RDS to use SHM NPS server for client access policies - In "Server Manager", open `Tools -> Remote Desktop Services -> Remote Desktop Gateway Manager` ![Remote Desktop Gateway Manager](images/rd_gateway_manager_01.png) -- In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" +- In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" ![RDS server properties](images/rd_gateway_manager_02.png) - Select `RD CAP Store` tab - Select the `Central Server Running NPS` - Enter the IP address of the NPS within the management domain (this will be `10..0.248`, you can see it from the Azure portal (`Resource Groups -> RG_SHM_NPS -> NPS-SHM-`) -- Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). +- Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). ![RD CAP store](images/rd_gateway_manager_03.png) - Click `OK` to close the dialogue box. #### Set the security groups for access to session hosts -- Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` +- Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` - Right click on `RDG_AllDomainComputers` and select "Properties` ![Session host security groups](images/rd_gateway_session_hosts_01.png) - On the `User Groups` tab click `Add` - Click `Locations` and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click `OK` - Enter `SG` into the `Enter the object names to select` box and click on `Check Names` -- Select the `SG Research Users`security group from the list. +- Select the `SG Research Users`security group from the list. ![Session host security groups](images/rd_gateway_session_hosts_02.png) - Click `OK` and the group will be added to the "User Groups" screen ![Session host security groups](images/rd_gateway_session_hosts_03.png) - Click `OK` to exit the dialogue box - Right click on `RDG_RDConnectionBrokers` policy and select `Properties` ![Session host security groups](images/rd_gateway_session_hosts_04.png) -- Repeat the process you did for the `RDG_AllDomainComputers` policy, again adding the `SG Research Users` security group from the list. +- Repeat the process you did for the `RDG_AllDomainComputers` policy, again adding the `SG Research Users` security group from the list. #### Increase the authorisation timeout to allow for MFA - In "Server Manager", select `Tools -> Network Policy Server` @@ -243,16 +243,30 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - Log in as a **domain** user (ie. `@`) using the username and password obtained from the Azure portal. They are in the `RG_SHM_SECRETS` resource group, in the `kv-shm-` key vault, under "SECRETS". - The username is the `shm--dcnps-admin-username` secret plus `@` where you add your custom SHM domain. For example `shmtestbadmin@testb.dsgroupdev.co.uk` - The password in the `shm--dcnps-admin-password` secret. -- **NB. Before performing the remaining steps, ensure that you have created a non-privileged user account that you can use for testing. You must ensure that you have assigned a licence to this user so that MFA will work correctly. In the following example, we assume that you are using the automatically-created test researcher.** -- In the "Server Management" app, click `Tools -> Active Directory Users and Computers` -- Open the `Safe Haven Security Groups` OU -- Right click the `SG Research Users` security group and select "Properties" -- Click on the "Members" tab and click the "Add" button -- Enter the start of the `` and click "Check names" -- Select the ` Test Researcher` and click "Ok" -- Click "Ok" again to exit the add users dialogue -- At this point please ensure that this account is fully set-up (including MFA) as [detailed in the user guide](../../docs/safe_haven_user_guide.md) -- Launch a local web browser and go to `https://.` (eg. `https://sandbox.dsgroupdev.co.uk/`) and log in. + +- **NB. Before performing the remaining steps, ensure that you have created a non-privileged user account that you can use for testing. This user should be created in the local Active Directory and must have been synchronised to the Azure Active Directory. You must ensure that you have assigned a licence to this user so that MFA will work correctly.** + +1. Ensuring that a non-privileged user account exists +- In the `Server Management` app, click `Tools -> Active Directory Users and Computers` +- Open the `Safe Haven Research Users` OU +- Ensure that the non-privileged user account that you want to use is listed here, or if it is not then create it. + +2. Adding the user account to the correct Security Group +- Still in the `Active Directory Users and Computers` app, open the `Safe Haven Security Groups` OU +- Right click the `SG Research Users` security group and select `Properties` +- Click on the `Members` tab. +- If the user you plan to use is not already listed here you must add them to the group (*the automatically-created test researcher should already be in the correct group*) + - Click the `Add` button + - Enter the start of the `` and click "Check names" + - Select the ` Test Researcher` and click `Ok` + - Click `Ok` again to exit the add users dialogue + +3. Ensure that the account has MFA enabled +- If you have just created the account, you will need to synchronise with Azure Active Directory +- Please ensure that this account is fully set-up (including MFA) as [detailed in the user guide](../../docs/safe_haven_user_guide.md) + +4. Test using the RDG web interface +- Launch a local web browser and go to `https://.` (eg. `https://sandbox.dsgroupdev.co.uk/`) and log in. - **Troubleshooting** If you get a "404 resource not found" error when accessing the webclient URL, it is likely that you missed the step of installing the RDS webclient. - Go back to the previous section and run the webclient installation step. - Once the webclient is installed, you will need to manually run the steps from the SSL certificate generation script to install the SSL certificate on the webclient. Still on the RDS Gateway, run the commands below, replacing `` with the path to the `xxx_full_chain.pem` file in the `C:\Certificates` folder. @@ -261,15 +275,15 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - **Troubleshooting** If you get an "unexpected server authentication certificate error", your browser has probably cached a previous certificate for this domain. - Do a [hard reload](https://www.getfilecloud.com/blog/2015/03/tech-tip-how-to-do-hard-refresh-in-browsers/) of the page (permanent fix) - OR open a new private / incognito browser window and visit the page. - - **Troubleshooting** If you can see an empty screen with "Work resources" but no app icons, your user has not been correctly added to the security group. -- Once you have logged in, click on the "Presentation server" app icon. You should receive an MFA request to your phone or authentication app. + - **Troubleshooting** If you can see an empty screen with `Work resources` but no app icons, your user has not been correctly added to the security group. +- Once you have logged in, click on the `Presentation server` app icon. You should receive an MFA request to your phone or authentication app. - **Troubleshooting** If you can log in to the initial webclient authentication but don't get the MFA request, then the issue is likely that the configuration of the connection between the SHM NPS server and the RDS Gateway server is not correct. - Ensure that both the SHM NPS server and the RDS Gateway are running - Ensure that the [SHM NPS server RADIUS Client configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) is using the **private** IP address of the RDS Gateway and **not** its public one. - Use the Event viewer on the SRE RDS Gateway (`Custom views > Server roles > Network Policy and Access Services`) to check whether the NPS server is contactable and whether it is discarding requests - Use the Event viewer on the SHM NPS server (`Custom views > Server roles > Network Policy and Access Services`) to check whether NPS requests are being received and whether the NPS server has an LDAP connection to the SHM DC. - One common error on the NPS server is `A RADIUS message was received from the invalid RADIUS client IP address x.x.x.x`. [This help page](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd316135(v=ws.10)) might be useful. This may indicate that the shared secret is different between the SHM and SRE. - - Ensure the same shared secret from the `sre--nps-secret` in the SRE KeyVault is used in **both** the SHM NPS server RADIUS Client configuration (you can set this manually by connecting to the Network Policy Server) and the [SRE RDS Gateway RD CAP Store configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) (see previous sections for instructions). + - Ensure the same shared secret from the `sre--nps-secret` in the SRE KeyVault is used in **both** the SHM NPS server RADIUS Client configuration (you can set this manually by connecting to the Network Policy Server) and the [SRE RDS Gateway RD CAP Store configuration](sre_build_instructions.md#configure-rds-to-use-shm-nps-server-for-client-access-policies) (see previous sections for instructions). - Ensure that the `Windows Firewall` is set to `Domain Network` on both the SHM NPS server and the SRE RDS Gateway - **Troubleshooting** If you get a "We couldn't connect to the gateway because of an error" message, it's likely that the "Remote RADIUS Server" authentication timeouts have not been [increased as described in a previous section](sre_build_instructions.md#increase-the-authorisation-timeout-to-allow-for-mfa). It seems that these are reset everytime the "Central CAP store" shared RADIUS secret is changed. - **Troubleshooting** If you get multiple MFA requests with no change in the "Opening ports" message, it may be that the shared RADIUS secret does not match on the SHM server and SRE RDS Gateway. It is possible that this may occur if the password is too long. We previously experienced this issue with a 20 character shared secret and this error went away when we reduced the length of the secret to 12 characters. We then got a "We couldn't connect to the gateway because of an error" message, but were then able to connect successfully after again increasing the authorisation timeout for the remote RADIUS server on the RDS Gateway. @@ -295,15 +309,15 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor ### Test GitLab Server - There is a built-in `root` user, whose password is stored in the SRE KeyVault (see SRE config file for KeyVault and secret names). -- You can test Gitlab from inside the RDS environment by connecting to `.151` and logging in with the full `username@` of a user in the `SG Research Users` security group. +- You can test Gitlab from inside the RDS environment by connecting to `.151` and logging in with the full `username@` of a user in the `SG Research Users` security group. ### Test HackMD Server -- You can test HackMD from inside the RDS environment by connecting to `.152:3000` and logging in with the full `username@` of a user in the `SG DSGROUP Research Users` security group. +- You can test HackMD from inside the RDS environment by connecting to `.152:3000` and logging in with the full `username@` of a user in the `SG DSGROUP Research Users` security group. ## 9. Deploy initial shared compute VM ### [OPTIONAL] Create a custom cloud init file for the SRE if required - By default, compute VM deployments will use the `cloud-init-compute-vm.template.yaml` configuration file in the `/environment_configs/cloud_init/` folder. This does all the necessary steps to configure the VM to work with LDAP log on etc. - - If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. + - If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. ### Deploy a compute VM - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). @@ -321,9 +335,9 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - Click on the VM in the SRE subscription under the `RG_DSG_COMPUTE` resource group. It will have the last octet of its IP address at the end of its name. - Click on the "Serial console" item near the bottom of the VM menu on the left hand side of the VM information panel - If you are not prompted with `login:`, hit enter until the prompt appears -- Enter the username from the `-dsvm-admin-username` secret in the SRE KeyVault. -- Enter the password from the `-dsvm-admin-password` secret in the SRE KeyVault. -- To validate that our custom `cloud-init.yaml` file has been successfully uploaded, run `sudo cat /var/lib/cloud/instance/user-data.txt`. You should see the contents of the `secure_research_environment/azure-vms/environment_configs/cloud-init-compute-vm-sre-.template.yaml` file in the Safe Haven git repository. +- Enter the username from the `-dsvm-admin-username` secret in the SRE KeyVault. +- Enter the password from the `-dsvm-admin-password` secret in the SRE KeyVault. +- To validate that our custom `cloud-init.yaml` file has been successfully uploaded, run `sudo cat /var/lib/cloud/instance/user-data.txt`. You should see the contents of the `secure_research_environment/azure-vms/environment_configs/cloud-init-compute-vm-sre-.template.yaml` file in the Safe Haven git repository. - To see the output of our custom `cloud-init.yaml` file, run `sudo tail -n 200 /var/log/cloud-init-output.log` and scroll up. ## 10. Apply network configuration @@ -356,14 +370,14 @@ To run the smoke tests: ## Server list - The following virtual machines are created as a result of these instructions: - - `DC-SRE-` (domain controller) - - `DAT-SRE-` (data server) - - `HACKMD-SRE-` (HackMD server) - - `GITLAB-SRE-` (GitLab server) - - `RDG-SRE-` (Remote Desktop Gateway) - - `APP-SRE-` (Remote Desktop app server) - - `DKP-SRE-` (Remote Desktop desktop server) - - `SRE--160-DSVM-0-1-2019082900` (initial shared compute VM at IP address `.160`) + - `DC-SRE-` (domain controller) + - `DAT-SRE-` (data server) + - `HACKMD-SRE-` (HackMD server) + - `GITLAB-SRE-` (GitLab server) + - `RDG-SRE-` (Remote Desktop Gateway) + - `APP-SRE-` (Remote Desktop app server) + - `DKP-SRE-` (Remote Desktop desktop server) + - `SRE--160-DSVM-0-1-2019082900` (initial shared compute VM at IP address `.160`) ## Tearing down the SRE From a clone of the data-safe-haven repository, run the following commands, where `` is the one defined in the config file. diff --git a/environment_configs/cloud_init/cloud-init-gitlab.template.yaml b/deployment/secure_research_environment/cloud_init/cloud-init-gitlab.template.yaml similarity index 100% rename from environment_configs/cloud_init/cloud-init-gitlab.template.yaml rename to deployment/secure_research_environment/cloud_init/cloud-init-gitlab.template.yaml diff --git a/environment_configs/cloud_init/cloud-init-hackmd.template.yaml b/deployment/secure_research_environment/cloud_init/cloud-init-hackmd.template.yaml similarity index 100% rename from environment_configs/cloud_init/cloud-init-hackmd.template.yaml rename to deployment/secure_research_environment/cloud_init/cloud-init-hackmd.template.yaml diff --git a/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 index e8ccecc60b..0b0a7b24b6 100644 --- a/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 @@ -17,12 +17,6 @@ $originalContext = Get-AzContext $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName -# # Make sure terms for the GitLab image are accepted -# # ------------------------------------------------- -# $_ = Get-AzMarketplaceTerms -Publisher gitlab -Product gitlab-ce -Name gitlab-ce | Set-AzMarketplaceTerms -Accept -# $_ = Get-AzMarketplaceTerms -Publisher bitnami -Product gitlab -Name 8-5 | Set-AzMarketplaceTerms -Accept - - # Retrieve passwords from the keyvault # ------------------------------------ Add-LogMessage -Level Info "Creating/retrieving secrets from key vault '$($config.sre.keyVault.name)'..." @@ -53,7 +47,7 @@ $shmDcFqdn = ($config.shm.dc.hostname + "." + $config.shm.domain.fqdn) $gitlabFqdn = $config.sre.webapps.gitlab.hostname + "." + $config.sre.domain.fqdn $gitlabLdapUserDn = "CN=" + $config.sre.users.ldap.gitlab.name + "," + $config.shm.domain.serviceOuPath $gitlabUserFilter = "(&(objectClass=user)(memberOf=CN=" + $config.sre.domain.securityGroups.researchUsers.name + "," + $config.shm.domain.securityOuPath + "))" -$gitlabCloudInitTemplate = Join-Path $PSScriptRoot ".." ".." ".." "environment_configs" "cloud_init" "cloud-init-gitlab.template.yaml" | Get-Item | Get-Content -Raw +$gitlabCloudInitTemplate = Join-Path $PSScriptRoot ".." "cloud_init" "cloud-init-gitlab.template.yaml" | Get-Item | Get-Content -Raw $gitlabCloudInit = $gitlabCloudInitTemplate.Replace('', $shmDcFqdn). Replace('', $gitlabLdapUserDn). Replace('',$gitlabLdapPassword). @@ -74,7 +68,7 @@ $hackmdFqdn = $config.sre.webapps.hackmd.hostname + "." + $config.sre.domain.fqd $hackmdUserFilter = "(&(objectClass=user)(memberOf=CN=" + $config.sre.domain.securityGroups.researchUsers.name + "," + $config.shm.domain.securityOuPath + ")(userPrincipalName={{username}}))" $hackmdLdapUserDn = "CN=" + $config.sre.users.ldap.hackmd.name + "," + $config.shm.domain.serviceOuPath $hackMdLdapUrl = "ldap://" + $config.shm.dc.fqdn -$hackmdCloudInitTemplate = Join-Path $PSScriptRoot ".." ".." ".." "environment_configs" "cloud_init" "cloud-init-hackmd.template.yaml" | Get-Item | Get-Content -Raw +$hackmdCloudInitTemplate = Join-Path $PSScriptRoot ".." "cloud_init" "cloud-init-hackmd.template.yaml" | Get-Item | Get-Content -Raw $hackmdCloudInit = $hackmdCloudInitTemplate.Replace('', $hackmdLdapUserDn). Replace('', $hackmdLdapPassword). Replace('',$hackmdUserFilter). @@ -134,7 +128,7 @@ while ((-not ($gitlabStatuses.Contains("PowerState/stopped") -and $gitlabStatuse # While webapp servers are off, ensure they are bound to correct NSG # ------------------------------------------------------------------ Add-LogMessage -Level Info "Ensure webapp servers and compute VMs are bound to correct NSG..." -foreach ($vmName in ($config.sre.webapps.gitlab.vmName, $config.sre.webapps.hackmd.vmName)) { +foreach ($vmName in ($config.sre.webapps.hackmd.vmName, $config.sre.webapps.gitlab.vmName)) { Add-VmToNSG -VMName $vmName -NSGName $nsg.Name } Start-Sleep -Seconds 30 @@ -144,14 +138,14 @@ Add-LogMessage -Level Info "Summary: NICs associated with '$($nsg.Name)' NSG" # Finally, reboot the webapp servers # ---------------------------------- -foreach ($nameVMNameParamsPair in (("GitLab", $config.sre.webapps.gitlab.vmName), ("HackMD", $config.sre.webapps.hackmd.vmName))) { +foreach ($nameVMNameParamsPair in (("HackMD", $config.sre.webapps.hackmd.vmName), ("GitLab", $config.sre.webapps.gitlab.vmName))) { $name, $vmName = $nameVMNameParamsPair - Add-LogMessage -Level Info "Rebooting the ${name} VM: '$vmName'" + Add-LogMessage -Level Info "Rebooting the $name VM: '$vmName'" $_ = Restart-AzVM -Name $vmName -ResourceGroupName $config.sre.webapps.rg if ($?) { - Add-LogMessage -Level Success "Rebooting the ${name} VM succeeded" + Add-LogMessage -Level Success "Rebooting the $name VM ($vmName) succeeded" } else { - Add-LogMessage -Level Fatal "Rebooting the ${name} VM failed!" + Add-LogMessage -Level Fatal "Rebooting the $name VM ($vmName) failed!" } } diff --git a/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 b/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 index e760f320a4..68233fbe99 100644 --- a/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 +++ b/deployment/secure_research_environment/setup/Setup_Data_Server.ps1 @@ -62,7 +62,7 @@ Deploy-ArmTemplate -TemplatePath (Join-Path $PSScriptRoot ".." "arm_templates" " # Move Data Server VM into correct OU # ----------------------------------- Add-LogMessage -Level Info "Adding data server to correct security group..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dataserver" "remote_scripts" "Move_Data_Server_VM_Into_OU.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dataserver" "scripts" "Move_Data_Server_VM_Into_OU.ps1" $params = @{ sreDn = "`"$($config.sre.domain.dn)`"" sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" @@ -104,7 +104,7 @@ Invoke-WindowsConfigureAndUpdate -VMName $config.sre.dataserver.vmName -Resource # Configure data server # --------------------- Add-LogMessage -Level Info "Configuring data server VM..." -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "create_dataserver" "remote_scripts" "Configure_Data_Server_Remote.ps1" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_dataserver" "scripts" "Configure_Data_Server_Remote.ps1" $params = @{ sreNetbiosName = "`"$($config.sre.domain.netbiosName)`"" shmNetbiosName = "`"$($config.shm.domain.netbiosName)`"" From ad410fc465b18f198d6fd8d25a6127c0f4922441 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 11:07:32 +0000 Subject: [PATCH 23/30] Fixed wait-until-done condition for webapp servers --- .../setup/Create_Web_App_Servers.ps1 | 4 ++-- .../setup/Setup_SRE_RDS_Servers.ps1 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 index 0b0a7b24b6..808d12f028 100644 --- a/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Create_Web_App_Servers.ps1 @@ -115,8 +115,8 @@ Add-LogMessage -Level Info "Waiting for cloud-init provisioning to finish (this $progress = 0 $gitlabStatuses = (Get-AzVM -Name $config.sre.webapps.gitlab.vmName -ResourceGroupName $config.sre.webapps.rg -Status).Statuses.Code $hackmdStatuses = (Get-AzVM -Name $config.sre.webapps.hackmd.vmName -ResourceGroupName $config.sre.webapps.rg -Status).Statuses.Code -while ((-not ($gitlabStatuses.Contains("PowerState/stopped") -and $gitlabStatuses.Contains("ProvisioningState/succeeded"))) -and - (-not ($hackmdStatuses.Contains("PowerState/stopped") -and $hackmdStatuses.Contains("ProvisioningState/succeeded")))) { +while (-Not ($gitlabStatuses.Contains("ProvisioningState/succeeded") -and $gitlabStatuses.Contains("PowerState/stopped") -and + $hackmdStatuses.Contains("ProvisioningState/succeeded") -and $hackmdStatuses.Contains("PowerState/stopped"))) { $progress = [math]::min(100, $progress + 1) $gitlabStatuses = (Get-AzVM -Name $config.sre.webapps.gitlab.vmName -ResourceGroupName $config.sre.webapps.rg -Status).Statuses.Code $hackmdStatuses = (Get-AzVM -Name $config.sre.webapps.hackmd.vmName -ResourceGroupName $config.sre.webapps.rg -Status).Statuses.Code diff --git a/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 index 036d3744fe..d76527e502 100644 --- a/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 +++ b/deployment/secure_research_environment/setup/Setup_SRE_RDS_Servers.ps1 @@ -231,7 +231,7 @@ $scriptPath = Join-Path $PSScriptRoot ".." "remote" "create_rds" "scripts" "Add_ $params = @{ rdsGatewayIp = "`"$($config.sre.rds.gateway.ip)`"" rdsGatewayFqdn = "`"$($config.sre.rds.gateway.fqdn)`"" - npsSecret = "`"$($npsSecret)`"" + npsSecret = "`"$npsSecret`"" sreId = "`"$($config.sre.id)`"" } $result = Invoke-RemoteScript -Shell "PowerShell" -ScriptPath $scriptPath -VMName $config.shm.nps.vmName -ResourceGroupName $config.shm.nps.rg -Parameter $params From 8ef18f3c8f1a5b28f943961d78b14a0c0e7d8bfa Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 11:31:40 +0000 Subject: [PATCH 24/30] Updated compute VM deployment --- .../azure-runbooks/sre_build_instructions.md | 4 ++-- .../cloud_init/cloud-init-compute-vm.template.yaml | 0 .../setup/Create_Compute_VM.ps1 | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) rename {environment_configs => deployment/secure_research_environment}/cloud_init/cloud-init-compute-vm.template.yaml (100%) mode change 100755 => 100644 deployment/secure_research_environment/setup/Create_Compute_VM.ps1 diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index 81fb64173f..aab5c29fe6 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -316,8 +316,8 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor ## 9. Deploy initial shared compute VM ### [OPTIONAL] Create a custom cloud init file for the SRE if required - - By default, compute VM deployments will use the `cloud-init-compute-vm.template.yaml` configuration file in the `/environment_configs/cloud_init/` folder. This does all the necessary steps to configure the VM to work with LDAP log on etc. - - If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. +- By default, compute VM deployments will use the `cloud-init-compute-vm.template.yaml` configuration file in the `deployment/secure_research_environment/cloud_init/` folder. This does all the necessary steps to configure the VM to work with LDAP. +- If you require additional steps to be taken at deploy time while the VM still has access to the internet (e.g. to install some additional project-specific software), copy the default cloud init file to a file named `cloud-init-compute-vm-sre-.template.yaml` in the same folder and add any additional required steps in the `SRE-SPECIFIC COMMANDS` block marked with comments. ### Deploy a compute VM - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). diff --git a/environment_configs/cloud_init/cloud-init-compute-vm.template.yaml b/deployment/secure_research_environment/cloud_init/cloud-init-compute-vm.template.yaml similarity index 100% rename from environment_configs/cloud_init/cloud-init-compute-vm.template.yaml rename to deployment/secure_research_environment/cloud_init/cloud-init-compute-vm.template.yaml diff --git a/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 b/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 old mode 100755 new mode 100644 index 40f4ffd48d..e92ecdc1f4 --- a/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 +++ b/deployment/secure_research_environment/setup/Create_Compute_VM.ps1 @@ -168,7 +168,7 @@ Add-LogMessage -Level Success "PyPI host: '$($addresses.pypi.host)'" # -------------------------------------------------------------- Add-LogMessage -Level Info "Constructing cloud-init from template..." # Load cloud-init template -$cloudInitBasePath = Join-Path $PSScriptRoot ".." ".." ".." "environment_configs" "cloud_init" -Resolve +$cloudInitBasePath = Join-Path $PSScriptRoot ".." "cloud_init" -Resolve $cloudInitFilePath = Get-ChildItem -Path $cloudInitBasePath | Where-Object { $_.Name -eq "cloud-init-compute-vm-sre-${sreId}.template.yaml" } | ForEach-Object { $_.FullName } if (-not $cloudInitFilePath) { $cloudInitFilePath = Join-Path $cloudInitBasePath "cloud-init-compute-vm.template.yaml" } $cloudInitTemplate = Get-Content $cloudInitFilePath -Raw @@ -218,11 +218,11 @@ $_ = Deploy-UbuntuVirtualMachine @params # Poll VM to see whether it has finished running Add-LogMessage -Level Info "Waiting for cloud-init provisioning to finish (this will take 5+ minutes)..." -$statuses = (Get-AzVM -Name $vmName -ResourceGroupName $config.sre.dsvm.rg -Status).Statuses.Code $progress = 0 -while (-not ($statuses.Contains("PowerState/stopped") -and $statuses.Contains("ProvisioningState/succeeded"))) { +$statuses = (Get-AzVM -Name $vmName -ResourceGroupName $config.sre.dsvm.rg -Status).Statuses.Code +while (-Not ($statuses.Contains("ProvisioningState/succeeded") -and $statuses.Contains("PowerState/stopped"))) { $statuses = (Get-AzVM -Name $vmName -ResourceGroupName $config.sre.dsvm.rg -Status).Statuses.Code - $progress += 1 + $progress = [math]::min(100, $progress + 1) Write-Progress -Activity "Deployment status" -Status "$($statuses[0]) $($statuses[1])" -PercentComplete $progress Start-Sleep 10 } @@ -248,7 +248,7 @@ if ($?) { # Create Postgres roles # --------------------- Add-LogMessage -Level Info "[ ] Ensuring Postgres DB roles and initial shared users exist on VM $vmName" -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "remote_scripts" "create_postgres_roles.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "compute_vm" "scripts" "create_postgres_roles.sh" $params = @{ DBADMINROLE = "admin" DBADMINUSER = "dbadmin" @@ -270,7 +270,7 @@ Add-LogMessage -Level Info "Creating smoke test package for the DSVM..." $zipFilePath = Join-Path $PSScriptRoot "smoke_tests.zip" $tempDir = New-Item -ItemType Directory -Path (Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName()) "smoke_tests") Copy-Item (Join-Path $PSScriptRoot ".." ".." ".." "environment_configs" "package_lists") -Filter *.* -Destination (Join-Path $tempDir package_lists) -Recurse -Copy-Item (Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "tests") -Filter *.* -Destination (Join-Path $tempDir tests) -Recurse +Copy-Item (Join-Path $PSScriptRoot ".." "remote" "compute_vm" "tests") -Filter *.* -Destination (Join-Path $tempDir tests) -Recurse if (Test-Path $zipFilePath) { Remove-Item $zipFilePath } Add-LogMessage -Level Info "[ ] Creating zip file at $zipFilePath..." Compress-Archive -CompressionLevel NoCompression -Path $tempDir -DestinationPath $zipFilePath @@ -288,7 +288,7 @@ Add-LogMessage -Level Info "Uploading smoke tests to the DSVM..." $zipFileEncoded = [Convert]::ToBase64String((Get-Content $zipFilePath -Raw -AsByteStream)) Remove-Item -Path $zipFilePath # Run remote script -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "compute_vm" "remote_scripts" "upload_smoke_tests.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "compute_vm" "scripts" "upload_smoke_tests.sh" $params = @{ PAYLOAD = $zipFileEncoded ADMIN_USERNAME = $dsvmAdminUsername From bcd633bf44e90bd3f098de4f5c95a0dcd032a4c4 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 12:00:41 +0000 Subject: [PATCH 25/30] Updated network configuration --- .../setup/Apply_Network_Configuration.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 b/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 index 4443f9f772..f4c1808cf1 100644 --- a/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 +++ b/deployment/secure_research_environment/setup/Apply_Network_Configuration.ps1 @@ -97,7 +97,7 @@ Invoke-Expression -Command "$(Join-Path $PSScriptRoot Unpeer_Sre_And_Mirror_Netw # Re-peer to the correct network for this SRE Add-LogMessage -Level Info "Peering to the correct mirror network..." if (!$config.sre.mirrors.vnet.Name) { - Write-Host -ForegroundColor DarkGreen "No mirror VNet is configured for Tier $($config.sre.tier) SRE $($config.sre.id). Nothing to do." + Add-LogMessage -Level Info "No mirror VNet is configured for Tier $($config.sre.tier) SRE $($config.sre.id). Nothing to do." } else { # Fetch SRE and mirror VNets $sreVnet = Get-AzVirtualNetwork -Name $config.sre.network.vnet.Name -ResourceGroupName $config.sre.network.vnet.rg @@ -137,7 +137,7 @@ Add-LogMessage -Level Info "PyPI host: '$($addresses.pypi.host)'" # Set PyPI and CRAN locations on the compute VM $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName -$scriptPath = Join-Path $PSScriptRoot ".." "scripts" "network_configuration" "remote_scripts" "update_mirror_settings.sh" +$scriptPath = Join-Path $PSScriptRoot ".." "remote" "network_configuration" "scripts" "update_mirror_settings.sh" foreach ($vmName in $computeVMs) { Add-LogMessage -Level Info "Setting PyPI and CRAN locations on compute VM: $($vmName)" $params = @{ From c04014e5a4a07dc156173a40b444663434b115f7 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 11:57:19 +0000 Subject: [PATCH 26/30] Moved diagnostic scripts and guides to administration folder --- .../README.md} | 15 +++------- .../SRE_DSVM_Remote_Diagnostics.ps1} | 14 ++++----- .../SRE_DSVM_Reset_Ldap.ps1} | 29 ++++++++++--------- 3 files changed, 26 insertions(+), 32 deletions(-) rename deployment/{secure_research_environment/azure-runbooks/troubleshooting.md => administration/README.md} (96%) rename deployment/{secure_research_environment/setup/Run_Remote_Diagnostics.ps1 => administration/SRE_DSVM_Remote_Diagnostics.ps1} (79%) rename deployment/{secure_research_environment/setup/Reset_Ldap_Password.ps1 => administration/SRE_DSVM_Reset_Ldap.ps1} (65%) diff --git a/deployment/secure_research_environment/azure-runbooks/troubleshooting.md b/deployment/administration/README.md similarity index 96% rename from deployment/secure_research_environment/azure-runbooks/troubleshooting.md rename to deployment/administration/README.md index c40653f6e4..d387d8b237 100644 --- a/deployment/secure_research_environment/azure-runbooks/troubleshooting.md +++ b/deployment/administration/README.md @@ -6,25 +6,19 @@ Troubleshooting Compute VM deployments There are several different ways in which logging into the environment can fail. Here we go through the login procedure and discuss possible problems at each step ### 1. Certificate expiry before getting to the environment - ![01_certificate_expiry](images/environment_access/01_certificate_expiry.png) #### Possible problems and solutions The expired certificate can be ignored but login will not be possible. #### Replace the SSL certificate with a new one -- Ensure you have [Certbot](https://certbot.eff.org/) installed. This required using a Mac or Linux computer. - - Ensure you have the latest version of the Safe Haven repository from [https://github.com/alan-turing-institute/data-safe-haven](https://github.com/alan-turing-institute/data-safe-haven). - -- Open a Powershell terminal and navigate to the `secure_research_environment/sre_deploy_scripts/04_create_rds/` directory of the Safe Haven repository - +- Open a Powershell terminal and navigate to the `deployment/secure_research_environment/setup` directory within the Safe Haven repository. - Ensure you are logged into the Azure within PowerShell using the command: `Connect-AzAccount` +- Run the `./CreateUpdate_Signed_Ssl_Certificate.ps1 -sreId `, where the SRE ID is the one specified in the config. -- Run the `./CreateUpdate_Signed_Ssl_Certificate.ps1` script, providing the SRE ID when prompted ### 2. Failure when logging into the environment via web browser - ![environment_access_02_password_login](images/environment_access/02_password_login.png) #### Possible problems and solutions @@ -33,7 +27,6 @@ The expired certificate can be ignored but login will not be possible. ### 3. Failure when authenticating with the Shared VM or presentation server - ![environment_access_03_shared_vm](images/environment_access/03_shared_vm.png) #### Possible problems and solutions @@ -59,11 +52,11 @@ there are a couple of possible causes. 2. the computer is unable to communicate with the login server - This can happen for a variety of reasons (DNS problems, broken services on the compute VM etc.) -- Run the script under `sre_deploy_scripts/07_deploy_compute_vms/Run_Remote_Diagnostics.ps1`, providing the group and last IP octet of the problematic compute VM +- Run the script under `deployment/administration/SRE_DSVM_Remote_Diagnostics.ps1`, providing the group and last IP octet of the problematic compute VM - You should see output like the following: ``` -PS /home/atiadmin/data-safe-haven/secure_research_environment/sre_deploy_scripts/07_deploy_compute_vms> ./Run_Remote_Diagnostics.ps1 -sreId 2 -ipLastOctet 160 +PS /home/atiadmin/data-safe-haven/deployment/administration> ./SRE_DSVM_Remote_Diagnostics.ps1 -sreId 2 -ipLastOctet 160 Name Account SubscriptionName Environment TenantId ---- ------- ---------------- ----------- -------- diff --git a/deployment/secure_research_environment/setup/Run_Remote_Diagnostics.ps1 b/deployment/administration/SRE_DSVM_Remote_Diagnostics.ps1 similarity index 79% rename from deployment/secure_research_environment/setup/Run_Remote_Diagnostics.ps1 rename to deployment/administration/SRE_DSVM_Remote_Diagnostics.ps1 index e4799a6c02..d5ab5707a3 100644 --- a/deployment/secure_research_environment/setup/Run_Remote_Diagnostics.ps1 +++ b/deployment/administration/SRE_DSVM_Remote_Diagnostics.ps1 @@ -6,20 +6,20 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../../../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SRE config # -------------- $config = Get-SreConfig ($sreId); $originalContext = Get-AzContext - $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName; # Find VM with private IP address matching the provided last octect ## Turn provided last octect into full IP address in the data subnet $vmIpAddress = ($config.sre.network.subnets.data.prefix + "." + $ipLastOctet) -Write-Host " - Finding VM with IP $vmIpAddress" +Add-LogMessage -Level Info "Finding VM with IP ${vmIpAddress}..." ## Get all compute VMs $computeVms = Get-AzVM -ResourceGroupName $config.sre.dsvm.rg ## Get the NICs attached to all the compute VMs @@ -29,7 +29,7 @@ $computeVmNics = ($computeVmNicIds | ForEach-Object { Get-AzNetworkInterface -Re $computeVmName = ($computeVmNics | Where-Object { $_.IpConfigurations.PrivateIpAddress -match $vmIpAddress })[0].VirtualMachine.Id.Split("/")[-1] # Run remote scripts -$diagnostic_scripts = @("check_ldap_connection.sh","restart_name_resolution_service.sh","rerun_realm_join.sh","restart_sssd_service.sh") +$diagnostic_scripts = @("check_ldap_connection.sh", "restart_name_resolution_service.sh", "rerun_realm_join.sh", "restart_sssd_service.sh") $testHost = $config.shm.dc.fqdn $ldapUser = $config.sre.users.ldap.dsvm.samAccountName $domainLower = $config.shm.domain.fqdn @@ -42,13 +42,13 @@ $params = @{ SERVICE_PATH = "'" + $config.shm.domain.serviceOuPath + "'" } -Write-Host " - Running diagnostic scripts on VM $computeVmName" +Add-LogMessage -Level Info "Running diagnostic scripts on VM ${computeVmName}..." foreach ($diagnostic_script in $diagnostic_scripts) { $scriptPath = Join-Path $PSScriptRoot "remote_scripts" $diagnostic_script $result = Invoke-AzVMRunCommand -ResourceGroupName $config.sre.dsvm.rg -Name "$computeVmName" ` - -CommandId 'RunShellScript' -ScriptPath $scriptPath ` - -Parameter $params + -CommandId 'RunShellScript' -ScriptPath $scriptPath ` + -Parameter $params Write-Output $result.Value; } diff --git a/deployment/secure_research_environment/setup/Reset_Ldap_Password.ps1 b/deployment/administration/SRE_DSVM_Reset_Ldap.ps1 similarity index 65% rename from deployment/secure_research_environment/setup/Reset_Ldap_Password.ps1 rename to deployment/administration/SRE_DSVM_Reset_Ldap.ps1 index 9c6216bf3c..95725b4b55 100644 --- a/deployment/secure_research_environment/setup/Reset_Ldap_Password.ps1 +++ b/deployment/administration/SRE_DSVM_Reset_Ldap.ps1 @@ -6,7 +6,8 @@ param( ) Import-Module Az -Import-Module $PSScriptRoot/../common_powershell/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Configuration.psm1 -Force +Import-Module $PSScriptRoot/../common/Logging.psm1 -Force # Get SRE config $config = Get-SreConfig ($sreId); @@ -16,25 +17,25 @@ $prevContext = Get-AzContext # Find VM with private IP address matching the provided last octet # ---------------------------------------------------------------- $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName; -Write-Host "Finding VM with last IP octet: $ipLastOctet" +Add-LogMessage -Level Info "Finding VM with last IP octet: $ipLastOctet" $vmId = Get-AzNetworkInterface -ResourceGroupName $config.sre.dsvm.rg | Where-Object { ($_.IpConfigurations.PrivateIpAddress).Split(".") -eq $ipLastOctet } | ForEach-Object { $_.VirtualMachine.Id } $vm = Get-AzVM -ResourceGroupName $config.sre.dsvm.rg | Where-Object { $_.Id -eq $vmId } if ($?) { - Write-Host "Found VM: $($vm.Name)" + Add-LogMessage -Level Success "Found VM: $($vm.Name)" } else { - throw "Could not find VM with last IP octet '$ipLastOctet'" + Add-LogMessage -Level Fatal "Could not find VM with last IP octet '$ipLastOctet'" } # Get LDAP secret from the KeyVault # --------------------------------- $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName; -Write-Host "Checking LDAP secret in KeyVault: $($config.sre.keyVault.name)" +Add-LogMessage -Level Info "Checking LDAP secret in KeyVault: $($config.sre.keyVault.name)" $kvLdapPassword = (Get-AzKeyVaultSecret -VaultName $config.sre.keyVault.Name -Name $config.sre.keyVault.secretNames.dsvmLdapPassword).SecretValueText; if ($kvLdapPassword -ne $null) { - Write-Host "Found LDAP secret in the KeyVault" + Add-LogMessage -Level Success "Found LDAP secret in the KeyVault" } else { - throw "Could not load LDAP secret from KeyVault '$($config.sre.keyVault.name)'" + Add-LogMessage -Level Fatal "Could not load LDAP secret from KeyVault '$($config.sre.keyVault.name)'" } @@ -46,29 +47,29 @@ $params = @{ samAccountName = "`"$($config.sre.users.ldap.dsvm.samAccountName)`"" ldapPassword = "`"$kvLdapPassword`"" } -Write-Host "Setting LDAP secret in local AD on: $($config.shm.dc.vmName)" +Add-LogMessage -Level Info "Setting LDAP secret in local AD on: $($config.shm.dc.vmName)" $result = Invoke-AzVMRunCommand -ResourceGroupName $config.shm.dc.rg -Name $config.shm.dc.vmName ` - -CommandId 'RunPowerShellScript' -ScriptPath $scriptPath ` - -Parameter $params + -CommandId 'RunPowerShellScript' -ScriptPath $scriptPath ` + -Parameter $params $success = $? Write-Output $result.Value if ($success) { - Write-Host "Setting LDAP secret on SHM DC was successful" + Add-LogMessage -Level Success "Setting LDAP secret on SHM DC was successful" } # Set LDAP secret on the VM # ------------------------- -Write-Host "Setting LDAP secret on compute VM: $($vm.Name)" +Add-LogMessage -Level Info "Setting LDAP secret on compute VM: $($vm.Name)" $_ = Set-AzContext -SubscriptionId $config.sre.subscriptionName; $scriptPath = Join-Path $PSScriptRoot "remote_scripts" "reset_ldap_password.sh" $params = @{ ldapPassword = "`"$kvLdapPassword`"" } $result = Invoke-AzVMRunCommand -ResourceGroupName $config.sre.dsvm.rg -Name $vm.Name ` - -CommandId 'RunShellScript' -ScriptPath $scriptPath -Parameter $params + -CommandId 'RunShellScript' -ScriptPath $scriptPath -Parameter $params $success = $? Write-Output $result.Value if ($success) { - Write-Host "Setting LDAP secret on compute VM was successful" + Add-LogMessage -Level Success "Setting LDAP secret on compute VM was successful" } From d773751961449250e90b88a2cd98cc493bab8f72 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 12:06:02 +0000 Subject: [PATCH 27/30] Updated smoke test instructions --- .../azure-runbooks/sre_build_instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md index aab5c29fe6..236af8a722 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md @@ -363,7 +363,7 @@ These tests should be run **after** the network lock down and peering the DSG an To run the smoke tests: - Connect to a **remote desktop** on the Main VM (e.g. `https://sandbox.dsgroupdev.co.uk/`) using the "Main VM (Desktop)" app - Open a terminal session -- Copy the tests folder using `cp ~/smoke_tests ~/smoke_tests` +- Copy the tests folder using `cp -R ~/smoke_tests ~/smoke_tests` - Enter the test directory using `cd ~/smoke_tests/test` - Run `source run_all_tests.sh`. Check `README.md` if anything is unclear. - If all test results are expected you are done! Otherwise, contact Turing REG for help diagnosing test failures. From 359982fd7eb4a52ea5338a1dff99d2b249c55a8c Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 12:13:31 +0000 Subject: [PATCH 28/30] Moved runbooks into docs folder --- README.md | 4 +- .../deploy_shm_instructions.md | 28 +++---- .../deploy_sre_instructions.md | 24 +++--- .../images => docs/images/deploy_shm}/AAD.png | Bin .../deploy_shm}/aad_dns_record_details.png | Bin .../images/deploy_shm}/aad_mfa_settings.png | Bin .../aad_permissions_properties.png | Bin .../deploy_shm}/aad_permissions_security.png | Bin .../images/deploy_shm}/blobstorage.png | Bin .../deploy_shm}/certificate_details.png | Bin .../deploy_shm}/create_aad_dns_record.png | Bin .../deploy_shm}/enable_passwordreset.png | Bin .../images/deploy_shm}/enable_writeback.png | Bin .../images/deploy_shm}/nps_accounting.png | Bin .../deploy_shm}/nps_network_policies.png | Bin .../images/deploy_shm}/resource_groups.png | Bin .../images/deploy_shm}/set_user_location.png | Bin .../deploy_shm}/sre-rds-sh-packages.png | Bin .../deploy_shm}/synchronisation_rules.png | Bin .../01_certificate_expiry.png | Bin .../environment_access/02_password_login.png | Bin .../environment_access/03_shared_vm.png | Bin .../04_compute_vm_login.png | Bin .../04_compute_vm_login_failure.png | Bin ...est_files_from_dataserver_to_shared_vm.png | Bin .../images/deploy_sre}/media/image10.png | Bin .../images/deploy_sre}/media/image11.png | Bin .../images/deploy_sre}/media/image12.png | Bin .../images/deploy_sre}/media/image13.png | Bin .../images/deploy_sre}/media/image14.png | Bin .../images/deploy_sre}/media/image15.png | Bin .../images/deploy_sre}/media/image16.png | Bin .../images/deploy_sre}/media/image17.png | Bin .../images/deploy_sre}/media/image18.png | Bin .../images/deploy_sre}/media/image19.png | Bin .../images/deploy_sre}/media/image2.png | Bin .../images/deploy_sre}/media/image20.png | Bin .../images/deploy_sre}/media/image28.png | Bin .../images/deploy_sre}/media/image29.png | Bin .../images/deploy_sre}/media/image3.png | Bin .../images/deploy_sre}/media/image30.png | Bin .../images/deploy_sre}/media/image31.png | Bin .../images/deploy_sre}/media/image32.png | Bin .../images/deploy_sre}/media/image33.png | Bin .../images/deploy_sre}/media/image34.png | Bin .../images/deploy_sre}/media/image35.png | Bin .../images/deploy_sre}/media/image36.png | Bin .../images/deploy_sre}/media/image37.png | Bin .../images/deploy_sre}/media/image38.png | Bin .../images/deploy_sre}/media/image5.png | Bin .../images/deploy_sre}/media/image6.png | Bin .../images/deploy_sre}/media/image7.png | Bin .../images/deploy_sre}/media/image8.png | Bin .../images/deploy_sre}/media/image9.png | Bin .../rds_local_nps_remote_server_selection.png | Bin .../rds_local_nps_remote_server_timeouts.png | Bin .../transfer_test_files_to_dataserver.png | Bin .../01_internal_mirror_packages.png | Bin .../deploy_sre}/rd_gateway_manager_01.png | Bin .../deploy_sre}/rd_gateway_manager_02.png | Bin .../deploy_sre}/rd_gateway_manager_03.png | Bin .../rd_gateway_session_hosts_01.png | Bin .../rd_gateway_session_hosts_02.png | Bin .../rd_gateway_session_hosts_03.png | Bin .../rd_gateway_session_hosts_04.png | Bin .../deploy_sre}/subdomain_ns_record.png | Bin .../images/deploy_sre}/vpn/point_to_site.png | Bin .../images/deploy_sre}/vpn_client.png | Bin .../{ => user_guide}/1st_logon_putty.png | Bin .../1st_logon_sharedVMdesktop.png | Bin .../Azurestorageexplorer1.png | Bin .../Azurestorageexplorer2.png | Bin .../{ => user_guide}/No_folders_present.png | Bin .../RDS_app_selection_options.png | Bin docs/images/{ => user_guide}/VM_arrived.png | Bin docs/images/{ => user_guide}/WinSCP_logon.png | Bin .../{ => user_guide}/WinSCP_screenshot.png | Bin .../cheat_sheet_DSH_gitlab.png | Bin .../cheat_sheet_DSH_hackmd.png | Bin .../cheat_sheet_DSH_intro_screen.png | Bin .../cheat_sheet_DSH_linux_vm.png | Bin .../example-conversation-in-issue.jpg | Bin .../{ => user_guide}/gitlab_screenshot.png | Bin .../gitlab_screenshot_login.png | Bin docs/images/{ => user_guide}/hackmd_logon.png | Bin .../{ => user_guide}/hackmd_screenshot.png | Bin docs/images/{ => user_guide}/login_1.png | Bin docs/images/{ => user_guide}/login_2.png | Bin docs/images/{ => user_guide}/login_3.png | Bin docs/images/{ => user_guide}/login_4.png | Bin docs/images/{ => user_guide}/login_gitlab.png | Bin .../images/{ => user_guide}/login_putty_1.png | Bin .../images/{ => user_guide}/login_putty_2.png | Bin .../images/{ => user_guide}/login_putty_3.png | Bin .../{ => user_guide}/logon_VMdesktop.png | Bin .../{ => user_guide}/logon_environment.PNG | Bin docs/images/{ => user_guide}/merge1.png | Bin docs/images/{ => user_guide}/merge2.png | Bin .../{ => user_guide}/project_clone_url.png | Bin .../repository_url_copy_icon.png | Bin .../{ => user_guide}/resetpassword_1.png | Bin .../{ => user_guide}/resetpassword_2.png | Bin .../{ => user_guide}/resetpassword_3.png | Bin .../{ => user_guide}/resetpassword_4.png | Bin .../{ => user_guide}/resetpassword_5.png | Bin .../resetpassword_incorrect_1.PNG | Bin docs/images/{ => user_guide}/setup_mfa.png | Bin .../{ => user_guide}/setup_mfa_app_1.png | Bin .../{ => user_guide}/setup_mfa_app_2.png | Bin .../{ => user_guide}/setup_mfa_app_3.png | Bin .../{ => user_guide}/setup_mfa_app_4.png | Bin .../{ => user_guide}/setup_mfa_phone_1.png | Bin .../{ => user_guide}/setup_mfa_phone_2.png | Bin .../unexpected_certificate_error.png | Bin docs/safe_haven_user_guide.md | 70 +++++++++--------- 115 files changed, 63 insertions(+), 63 deletions(-) rename deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md => docs/deploy_shm_instructions.md (97%) rename deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md => docs/deploy_sre_instructions.md (97%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/AAD.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/aad_dns_record_details.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/aad_mfa_settings.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/aad_permissions_properties.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/aad_permissions_security.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/blobstorage.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/certificate_details.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/create_aad_dns_record.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/enable_passwordreset.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/enable_writeback.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/nps_accounting.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/nps_network_policies.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/resource_groups.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/set_user_location.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/sre-rds-sh-packages.png (100%) rename {deployment/safe_haven_management_environment/azure-runbooks/images => docs/images/deploy_shm}/synchronisation_rules.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/environment_access/01_certificate_expiry.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/environment_access/02_password_login.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/environment_access/03_shared_vm.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/environment_access/04_compute_vm_login.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/environment_access/04_compute_vm_login_failure.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/copy_test_files_from_dataserver_to_shared_vm.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image10.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image11.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image12.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image13.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image14.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image15.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image16.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image17.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image18.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image19.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image2.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image20.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image28.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image29.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image3.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image30.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image31.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image32.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image33.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image34.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image35.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image36.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image37.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image38.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image5.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image6.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image7.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image8.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/image9.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/rds_local_nps_remote_server_selection.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/rds_local_nps_remote_server_timeouts.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/media/transfer_test_files_to_dataserver.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/package_mirrors/01_internal_mirror_packages.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_manager_01.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_manager_02.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_manager_03.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_session_hosts_01.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_session_hosts_02.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_session_hosts_03.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/rd_gateway_session_hosts_04.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/subdomain_ns_record.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/vpn/point_to_site.png (100%) rename {deployment/secure_research_environment/azure-runbooks/images => docs/images/deploy_sre}/vpn_client.png (100%) rename docs/images/{ => user_guide}/1st_logon_putty.png (100%) rename docs/images/{ => user_guide}/1st_logon_sharedVMdesktop.png (100%) rename docs/images/{ => user_guide}/Azurestorageexplorer1.png (100%) rename docs/images/{ => user_guide}/Azurestorageexplorer2.png (100%) rename docs/images/{ => user_guide}/No_folders_present.png (100%) rename docs/images/{ => user_guide}/RDS_app_selection_options.png (100%) rename docs/images/{ => user_guide}/VM_arrived.png (100%) rename docs/images/{ => user_guide}/WinSCP_logon.png (100%) rename docs/images/{ => user_guide}/WinSCP_screenshot.png (100%) rename docs/images/{ => user_guide}/cheat_sheet_DSH_gitlab.png (100%) rename docs/images/{ => user_guide}/cheat_sheet_DSH_hackmd.png (100%) rename docs/images/{ => user_guide}/cheat_sheet_DSH_intro_screen.png (100%) rename docs/images/{ => user_guide}/cheat_sheet_DSH_linux_vm.png (100%) rename docs/images/{ => user_guide}/example-conversation-in-issue.jpg (100%) rename docs/images/{ => user_guide}/gitlab_screenshot.png (100%) rename docs/images/{ => user_guide}/gitlab_screenshot_login.png (100%) rename docs/images/{ => user_guide}/hackmd_logon.png (100%) rename docs/images/{ => user_guide}/hackmd_screenshot.png (100%) rename docs/images/{ => user_guide}/login_1.png (100%) rename docs/images/{ => user_guide}/login_2.png (100%) rename docs/images/{ => user_guide}/login_3.png (100%) rename docs/images/{ => user_guide}/login_4.png (100%) rename docs/images/{ => user_guide}/login_gitlab.png (100%) rename docs/images/{ => user_guide}/login_putty_1.png (100%) rename docs/images/{ => user_guide}/login_putty_2.png (100%) rename docs/images/{ => user_guide}/login_putty_3.png (100%) rename docs/images/{ => user_guide}/logon_VMdesktop.png (100%) rename docs/images/{ => user_guide}/logon_environment.PNG (100%) rename docs/images/{ => user_guide}/merge1.png (100%) rename docs/images/{ => user_guide}/merge2.png (100%) rename docs/images/{ => user_guide}/project_clone_url.png (100%) rename docs/images/{ => user_guide}/repository_url_copy_icon.png (100%) rename docs/images/{ => user_guide}/resetpassword_1.png (100%) rename docs/images/{ => user_guide}/resetpassword_2.png (100%) rename docs/images/{ => user_guide}/resetpassword_3.png (100%) rename docs/images/{ => user_guide}/resetpassword_4.png (100%) rename docs/images/{ => user_guide}/resetpassword_5.png (100%) rename docs/images/{ => user_guide}/resetpassword_incorrect_1.PNG (100%) rename docs/images/{ => user_guide}/setup_mfa.png (100%) rename docs/images/{ => user_guide}/setup_mfa_app_1.png (100%) rename docs/images/{ => user_guide}/setup_mfa_app_2.png (100%) rename docs/images/{ => user_guide}/setup_mfa_app_3.png (100%) rename docs/images/{ => user_guide}/setup_mfa_app_4.png (100%) rename docs/images/{ => user_guide}/setup_mfa_phone_1.png (100%) rename docs/images/{ => user_guide}/setup_mfa_phone_2.png (100%) rename docs/images/{ => user_guide}/unexpected_certificate_error.png (100%) diff --git a/README.md b/README.md index 4d3001bb3f..a0eaa9e3e5 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ Secure environments for analysis of sensitive datasets are essential for researc You can set up a data safe haven yourself. -[Safe Haven Management](safe_haven_management_environment/azure-runbooks/shm_build_instructions.md) - Instructions on how to build a Safe Haven Management environment in Azure. +[Safe Haven Management](docs/deploy_shm_instructions.md) - Instructions on how to build a Safe Haven Management environment in Azure. -[Secure Research Environment](secure_research_environment/azure-runbooks/sre_build_instructions.md) - Instructions on how to build a Secure Research Environment in Azure. +[Secure Research Environment](docs/deploy_sre_instructions.md) - Instructions on how to build a Secure Research Environment in Azure. [Azure VMs](vm_image_management/README.md) - Instructions on how to build the VM image that is used for data analysis in your secure environment. diff --git a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md b/docs/deploy_shm_instructions.md similarity index 97% rename from deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md rename to docs/deploy_shm_instructions.md index 511d0bfde9..ef8c10c74a 100644 --- a/deployment/safe_haven_management_environment/azure-runbooks/shm_build_instructions.md +++ b/docs/deploy_shm_instructions.md @@ -97,7 +97,7 @@ Once the new DNS Zone for your domain/subdomain has been deployed, you need to a ### Create a new AAD 1. Login to the [Azure Portal](https://azure.microsoft.com/en-gb/features/azure-portal/) 2. Click `Create a Resource` and search for `Azure Active Directory` - ![AAD](images/AAD.png) + ![AAD](images/deploy_shm/AAD.png) 3. Click `Create` 4. Set the "Organisation Name" to ` Safe Haven `, e.g. `Turing Safe Haven Test A` 5. Set the "Initial Domain Name" to the "Organisation Name" all lower case with spaces removed @@ -107,10 +107,10 @@ Once the new DNS Zone for your domain/subdomain has been deployed, you need to a ### Add the custom domain to the new AAD 1. Navigate to `Active Directory` and then click `Custom domain names` in the left panel. Click `Add custom domain` at the top and create a new domain name (e.g. `testa.dsgroupdev.co.uk`) 2. If the Custom domain name blade shows `Status Verified` and no DNS details are displayed, you can skip to the next section. Otherwise, if you see DNS record details similar to the image below, you need to verify the domain. Note down the required details displayed and complete the following steps. - ![AAD DNS record details](images/aad_dns_record_details.png) + ![AAD DNS record details](images/deploy_shm/aad_dns_record_details.png) 3. In a separate Azure portal window, switch to the Turing directory and navigate to the DNS Zone for your custom domain within the `RG_SHM_DNS` resource group in the management subscription. 4. Create a new record using the details provided (the `@` goes in the `Name` field and the TTL of 3600 is in seconds) - ![Create AAD DNS Record](images/create_aad_dns_record.png) + ![Create AAD DNS Record](images/deploy_shm/create_aad_dns_record.png) 5. Navigate back to the custom domain creation screen in the new AAD and click `Verify` 6. Wait a few minutes then click on the domain that you just added and click the `Make primary` button. @@ -192,7 +192,7 @@ To enable MFA, purchase sufficient licences and add them to all the new users. - Click on `Users` in the left hand sidebar - For each user you want to add a licence to, click on their username - Ensure that the user has `usage location` set under "Settings" (see image below): - ![Set user location](images/set_user_location.png) + ![Set user location](images/deploy_shm/set_user_location.png) - Click on `Licences` in the left hand sidebar - Click on `+ Assignments` in the top bar - Assign `Azure Active Directory Premium P1` and `Microsoft Azure Multi-Factor Authentication` then click `Save` @@ -209,7 +209,7 @@ To enable MFA, purchase sufficient licences and add them to all the new users. - In "Remember multi-factor authentication" section - ensure "Allow users to remember multi-factor authentication on devices they trust" is **unchecked** - Click "Save" and close window - ![AAD MFA settings](images/aad_mfa_settings.png) + ![AAD MFA settings](images/deploy_shm/aad_mfa_settings.png) 8. Require MFA for all admins - Sign in to the Azure portal as a user administrator or global administrator. - Go to `Azure Active Directory` then click `Manage > Security` in the left hand side bar @@ -228,7 +228,7 @@ To enable MFA, purchase sufficient licences and add them to all the new users. - Deploy and configure the RDS VMs by running `./Setup_SHM_DC.ps1 -shmId `, where the SHM ID is the one specified in the config - This will take **around one hour** to run. - Once the script exits successfully you should see the following resource groups under the SHM subscription: - ![Resource groups](images/resource_groups.png) + ![Resource groups](images/deploy_shm/resource_groups.png) ### Download a client VPN certificate for the Safe Haven Management VNet @@ -244,7 +244,7 @@ To enable MFA, purchase sufficient licences and add them to all the new users. 1. Navigate to the Safe Haven Management (SHM) VNet gateway in the SHM subscription via `Resource Groups -> RG_SHM_NETWORKING -> VNET_SHM__GW`, where `` will be the one defined in the config file. 2. Once there open the "Point-to-site configuration page under the "Settings" section in the left hand sidebar (see image below). 3. Click the "Download VPN client" link at the top of the page to get the root certificate (`VpnServerRoot.cer`) and VPN configuration file (`VpnSettings.xml`) - ![certificate details](images/certificate_details.png) + ![certificate details](images/deploy_shm/certificate_details.png) 4. Read through the following notes, then follow the [VPN set up instructions](https://docs.microsoft.com/en-us/azure/vpn-gateway/point-to-site-vpn-client-configuration-azure-cert) using the Windows or Mac sections as appropriate. **NOTES:** @@ -344,9 +344,9 @@ The `localadsync@` account needs to be given permissions to change p - In Server Manager select `Tools > Active Directory Users and Computers` (or open the `Active Directory Users and Computers` desktop app directly) - Click on the `View` menu item and make sure that `Advanced Features` is enabled - Right click on the root domain (eg. `dsgroupdev.co.uk`) in the left-hand window and select `Properties` - ![AD permissions properties](images/aad_permissions_properties.png) + ![AD permissions properties](images/deploy_shm/aad_permissions_properties.png) - In the pop-up window, go to the `Security` tab and click on the `Advanced` button - ![AD permissions security](images/aad_permissions_security.png) + ![AD permissions security](images/deploy_shm/aad_permissions_security.png) - In the pop-up window, click on the `Add` button - Click on `Select a principal` and then select the `localadsync@` by typing the first few letters into the search box and clicking on `Check Names`. When the `localadsync@` principal is selected, click `OK` to return to the `Permissions Entry for ` window. - In the `Applies to` section, select `Descendant User objects` @@ -367,7 +367,7 @@ The `localadsync@` account needs to be given permissions to change p ### Additional AAD Connect Configuration 1. Open `Azure AD Connect > Synchronization Rules Editor` from the start menu - ![synchronisation rules](images/synchronisation_rules.png) + ![synchronisation rules](images/deploy_shm/synchronisation_rules.png) 2. Change the `Direction` drop down to `Outbound` 3. Select the `Out to AAD - User Join` rule. @@ -420,11 +420,11 @@ The `localadsync@` account needs to be given permissions to change p - Select `Manage > Password reset` from the left hand menu 2. Select `On-premises integration` from the left hand side bar - Ensure `Write back passwords to your on-premises directory` is set to yes. - ![Enable writeback](images/enable_writeback.png) + ![Enable writeback](images/deploy_shm/enable_writeback.png) - If you changed this setting, click the `Save` icon - Select `Properties` from the left hand side bar - Make sure that `Self service password reset enabled` is set to `All` - ![Enable password reset](images/enable_passwordreset.png) + ![Enable password reset](images/deploy_shm/enable_passwordreset.png) - If you changed this setting, click the `Save` icon @@ -446,7 +446,7 @@ The `localadsync@` account needs to be given permissions to change p 2. In Server Manager select `Tools > Network Policy Server` (or open the `Network Policy Server` desktop app directly) 3. Configure NPS server to log to text file: - Select `NPS (Local) > Accounting` on the left-hand sidebar - ![NPS accounting](images/nps_accounting.png) + ![NPS accounting](images/deploy_shm/nps_accounting.png) - Click on `Accounting > Configure Accounting` - On the `Introduction` screen, click `Next`. - On the `Select Accounting Options` screen, select `Log to text file on the local computer` then click `Next`. @@ -458,7 +458,7 @@ The `localadsync@` account needs to be given permissions to change p - Click `Ok` 4. Add NPS policy to allow connections - Select `NPS (Local) > Policies > Network policies` on the left-hand sidebar - ![NPS network policies](images/nps_network_policies.png) + ![NPS network policies](images/deploy_shm/nps_network_policies.png) - Right click on `Network policies` and select `New` - Set the policy name to `RDG_CAP` and click `Next` - Click `Add` to add a restriction diff --git a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md b/docs/deploy_sre_instructions.md similarity index 97% rename from deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md rename to docs/deploy_sre_instructions.md index 236af8a722..c789509ed1 100644 --- a/deployment/secure_research_environment/azure-runbooks/sre_build_instructions.md +++ b/docs/deploy_sre_instructions.md @@ -43,7 +43,7 @@ The following instructions will walk you through deploying a Secure Research Env - On Windows do not rename the vpn client as this will break it - Note that on OSX double clicking on the root certificate may not result in any pop-up dialogue, but the certificate should still be installed. You can view the details of the downloaded certificate by highlighting the certificate file in Finder and pressing the spacebar. You can then look for the certificate of the same name in the login KeyChain and view it's details by double clicking the list entry. If the details match the certificate has been successfully installed. - ![Point-to-site connection](images/vpn/point_to_site.png) + ![Point-to-site connection](images/deploy_sre/vpn/point_to_site.png) - Continue to follow the set up instructions from the link above, using SSTP (Windows) or IKEv2 (OSX) for the VPN type and naming the VPN connection "Safe Haven Management Gateway (``)", where `` is defined in the config file. @@ -65,7 +65,7 @@ The following instructions will walk you through deploying a Secure Research Env - if this is a subdomain of an existing Azure domain (eg. `sandbox.dsgroupdev.co.uk` then: - go to the DNS zone for the top-level domain in Azure - add a new NS record using the 4 nameservers you copied down above - ![Subdomain NS record](images/subdomain_ns_record.png) + ![Subdomain NS record](images/deploy_sre/subdomain_ns_record.png) ### Deploying multiple SREs in parallel **NOTE:** You can only deploy to **one SRE at a time** from a given computer as both the `Az` CLI and the `Az` Powershell module can only work within one Azure subscription at a time. For convenience we recommend using one of the Safe Haven deployment VMs on Azure for all production deploys. This will also let you deploy compute VMs in parallel to as many SREs as you have deployment VMs. See the [parallel deployment guide](../azure-vms/README-parallel-deploy-using-azure-vms.md) for details. @@ -163,7 +163,7 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor - In the **SRE subscription** open `Resource Groups -> RG_SRE_NETWORKING -> VNET_SRE__GW` - Select "**Point to Site Configuration**" from the left-hand navigation - Download the VPN client from the "Point to Site configuration" menu - ![VPN client](images/vpn_client.png) + ![VPN client](images/deploy_sre/vpn_client.png) - Install the VPN on your PC and test. See the [Configure a VPN connection to the Safe Haven Management VNet](#Configure-a-VPN-connection-to-the-Safe-Haven-Management-VNet) section in the [Prerequisites](#Prerequisites) list above for instructions. You can re-use the same client certificate as used for the VPN to the management VNet gateway. ## 5. Deploy SRE Domain Controller @@ -194,39 +194,39 @@ Each SRE must be assigned it's own unique IP address space, and it is very impor #### Configure RDS to use SHM NPS server for client access policies - In "Server Manager", open `Tools -> Remote Desktop Services -> Remote Desktop Gateway Manager` - ![Remote Desktop Gateway Manager](images/rd_gateway_manager_01.png) + ![Remote Desktop Gateway Manager](images/deploy_sre/rd_gateway_manager_01.png) - In the left pane, underneath "RD Gateway Manager", right click on the `RDG-SRE- (Local)` object and select "Properties" - ![RDS server properties](images/rd_gateway_manager_02.png) + ![RDS server properties](images/deploy_sre/rd_gateway_manager_02.png) - Select `RD CAP Store` tab - Select the `Central Server Running NPS` - Enter the IP address of the NPS within the management domain (this will be `10..0.248`, you can see it from the Azure portal (`Resource Groups -> RG_SHM_NPS -> NPS-SHM-`) - Set the "Shared Secret" to the value of the `sre--nps-secret` in the SRE Key Vault (`Resource Groups -> RG_SRE_SECRETS -> kv-shm--sre-`). - ![RD CAP store](images/rd_gateway_manager_03.png) + ![RD CAP store](images/deploy_sre/rd_gateway_manager_03.png) - Click `OK` to close the dialogue box. #### Set the security groups for access to session hosts - Expand the `RDG-SRE- (Local)` server object and select `Policies -> Resource Authorization Policies` - Right click on `RDG_AllDomainComputers` and select "Properties` - ![Session host security groups](images/rd_gateway_session_hosts_01.png) + ![Session host security groups](images/deploy_sre/rd_gateway_session_hosts_01.png) - On the `User Groups` tab click `Add` - Click `Locations` and select the management domain (e.g. `testa.dsgroupdev.co.uk`) and click `OK` - Enter `SG` into the `Enter the object names to select` box and click on `Check Names` - Select the `SG Research Users`security group from the list. - ![Session host security groups](images/rd_gateway_session_hosts_02.png) + ![Session host security groups](images/deploy_sre/rd_gateway_session_hosts_02.png) - Click `OK` and the group will be added to the "User Groups" screen - ![Session host security groups](images/rd_gateway_session_hosts_03.png) + ![Session host security groups](images/deploy_sre/rd_gateway_session_hosts_03.png) - Click `OK` to exit the dialogue box - Right click on `RDG_RDConnectionBrokers` policy and select `Properties` - ![Session host security groups](images/rd_gateway_session_hosts_04.png) + ![Session host security groups](images/deploy_sre/rd_gateway_session_hosts_04.png) - Repeat the process you did for the `RDG_AllDomainComputers` policy, again adding the `SG Research Users` security group from the list. #### Increase the authorisation timeout to allow for MFA - In "Server Manager", select `Tools -> Network Policy Server` - Expand `NPS (Local) -> RADIUS Clients and Servers -> Remote RADIUS Server Groups` and double click on `TS GATEWAY SERVER GROUP` - ![Remote RADIUS server](images/media/rds_local_nps_remote_server_selection.png) + ![Remote RADIUS server](images/deploy_sre/media/rds_local_nps_remote_server_selection.png) - Highlight the server shown in the `RADIUS Server` column and click `Edit` - Change to the `Load Balancing` tab and change the parameters to match the screen below - ![Load balancing](images/media/rds_local_nps_remote_server_timeouts.png) + ![Load balancing](images/deploy_sre/media/rds_local_nps_remote_server_timeouts.png) - Click `OK` twice and close `Network Policy Server` MMC ### Configuration of SSL on RDS Gateway diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/AAD.png b/docs/images/deploy_shm/AAD.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/AAD.png rename to docs/images/deploy_shm/AAD.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png b/docs/images/deploy_shm/aad_dns_record_details.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/aad_dns_record_details.png rename to docs/images/deploy_shm/aad_dns_record_details.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png b/docs/images/deploy_shm/aad_mfa_settings.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/aad_mfa_settings.png rename to docs/images/deploy_shm/aad_mfa_settings.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png b/docs/images/deploy_shm/aad_permissions_properties.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_properties.png rename to docs/images/deploy_shm/aad_permissions_properties.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png b/docs/images/deploy_shm/aad_permissions_security.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/aad_permissions_security.png rename to docs/images/deploy_shm/aad_permissions_security.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/blobstorage.png b/docs/images/deploy_shm/blobstorage.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/blobstorage.png rename to docs/images/deploy_shm/blobstorage.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/certificate_details.png b/docs/images/deploy_shm/certificate_details.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/certificate_details.png rename to docs/images/deploy_shm/certificate_details.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png b/docs/images/deploy_shm/create_aad_dns_record.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/create_aad_dns_record.png rename to docs/images/deploy_shm/create_aad_dns_record.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png b/docs/images/deploy_shm/enable_passwordreset.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/enable_passwordreset.png rename to docs/images/deploy_shm/enable_passwordreset.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/enable_writeback.png b/docs/images/deploy_shm/enable_writeback.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/enable_writeback.png rename to docs/images/deploy_shm/enable_writeback.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/nps_accounting.png b/docs/images/deploy_shm/nps_accounting.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/nps_accounting.png rename to docs/images/deploy_shm/nps_accounting.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png b/docs/images/deploy_shm/nps_network_policies.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/nps_network_policies.png rename to docs/images/deploy_shm/nps_network_policies.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/resource_groups.png b/docs/images/deploy_shm/resource_groups.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/resource_groups.png rename to docs/images/deploy_shm/resource_groups.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/set_user_location.png b/docs/images/deploy_shm/set_user_location.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/set_user_location.png rename to docs/images/deploy_shm/set_user_location.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png b/docs/images/deploy_shm/sre-rds-sh-packages.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/sre-rds-sh-packages.png rename to docs/images/deploy_shm/sre-rds-sh-packages.png diff --git a/deployment/safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png b/docs/images/deploy_shm/synchronisation_rules.png similarity index 100% rename from deployment/safe_haven_management_environment/azure-runbooks/images/synchronisation_rules.png rename to docs/images/deploy_shm/synchronisation_rules.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png b/docs/images/deploy_sre/environment_access/01_certificate_expiry.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/environment_access/01_certificate_expiry.png rename to docs/images/deploy_sre/environment_access/01_certificate_expiry.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png b/docs/images/deploy_sre/environment_access/02_password_login.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/environment_access/02_password_login.png rename to docs/images/deploy_sre/environment_access/02_password_login.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png b/docs/images/deploy_sre/environment_access/03_shared_vm.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/environment_access/03_shared_vm.png rename to docs/images/deploy_sre/environment_access/03_shared_vm.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png b/docs/images/deploy_sre/environment_access/04_compute_vm_login.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login.png rename to docs/images/deploy_sre/environment_access/04_compute_vm_login.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png b/docs/images/deploy_sre/environment_access/04_compute_vm_login_failure.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/environment_access/04_compute_vm_login_failure.png rename to docs/images/deploy_sre/environment_access/04_compute_vm_login_failure.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png b/docs/images/deploy_sre/media/copy_test_files_from_dataserver_to_shared_vm.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/copy_test_files_from_dataserver_to_shared_vm.png rename to docs/images/deploy_sre/media/copy_test_files_from_dataserver_to_shared_vm.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image10.png b/docs/images/deploy_sre/media/image10.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image10.png rename to docs/images/deploy_sre/media/image10.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image11.png b/docs/images/deploy_sre/media/image11.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image11.png rename to docs/images/deploy_sre/media/image11.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image12.png b/docs/images/deploy_sre/media/image12.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image12.png rename to docs/images/deploy_sre/media/image12.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image13.png b/docs/images/deploy_sre/media/image13.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image13.png rename to docs/images/deploy_sre/media/image13.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image14.png b/docs/images/deploy_sre/media/image14.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image14.png rename to docs/images/deploy_sre/media/image14.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image15.png b/docs/images/deploy_sre/media/image15.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image15.png rename to docs/images/deploy_sre/media/image15.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image16.png b/docs/images/deploy_sre/media/image16.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image16.png rename to docs/images/deploy_sre/media/image16.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image17.png b/docs/images/deploy_sre/media/image17.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image17.png rename to docs/images/deploy_sre/media/image17.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image18.png b/docs/images/deploy_sre/media/image18.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image18.png rename to docs/images/deploy_sre/media/image18.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image19.png b/docs/images/deploy_sre/media/image19.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image19.png rename to docs/images/deploy_sre/media/image19.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image2.png b/docs/images/deploy_sre/media/image2.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image2.png rename to docs/images/deploy_sre/media/image2.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image20.png b/docs/images/deploy_sre/media/image20.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image20.png rename to docs/images/deploy_sre/media/image20.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image28.png b/docs/images/deploy_sre/media/image28.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image28.png rename to docs/images/deploy_sre/media/image28.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image29.png b/docs/images/deploy_sre/media/image29.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image29.png rename to docs/images/deploy_sre/media/image29.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image3.png b/docs/images/deploy_sre/media/image3.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image3.png rename to docs/images/deploy_sre/media/image3.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image30.png b/docs/images/deploy_sre/media/image30.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image30.png rename to docs/images/deploy_sre/media/image30.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image31.png b/docs/images/deploy_sre/media/image31.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image31.png rename to docs/images/deploy_sre/media/image31.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image32.png b/docs/images/deploy_sre/media/image32.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image32.png rename to docs/images/deploy_sre/media/image32.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image33.png b/docs/images/deploy_sre/media/image33.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image33.png rename to docs/images/deploy_sre/media/image33.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image34.png b/docs/images/deploy_sre/media/image34.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image34.png rename to docs/images/deploy_sre/media/image34.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image35.png b/docs/images/deploy_sre/media/image35.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image35.png rename to docs/images/deploy_sre/media/image35.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image36.png b/docs/images/deploy_sre/media/image36.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image36.png rename to docs/images/deploy_sre/media/image36.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image37.png b/docs/images/deploy_sre/media/image37.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image37.png rename to docs/images/deploy_sre/media/image37.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image38.png b/docs/images/deploy_sre/media/image38.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image38.png rename to docs/images/deploy_sre/media/image38.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image5.png b/docs/images/deploy_sre/media/image5.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image5.png rename to docs/images/deploy_sre/media/image5.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image6.png b/docs/images/deploy_sre/media/image6.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image6.png rename to docs/images/deploy_sre/media/image6.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image7.png b/docs/images/deploy_sre/media/image7.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image7.png rename to docs/images/deploy_sre/media/image7.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image8.png b/docs/images/deploy_sre/media/image8.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image8.png rename to docs/images/deploy_sre/media/image8.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/image9.png b/docs/images/deploy_sre/media/image9.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/image9.png rename to docs/images/deploy_sre/media/image9.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png b/docs/images/deploy_sre/media/rds_local_nps_remote_server_selection.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_selection.png rename to docs/images/deploy_sre/media/rds_local_nps_remote_server_selection.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png b/docs/images/deploy_sre/media/rds_local_nps_remote_server_timeouts.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/rds_local_nps_remote_server_timeouts.png rename to docs/images/deploy_sre/media/rds_local_nps_remote_server_timeouts.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png b/docs/images/deploy_sre/media/transfer_test_files_to_dataserver.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/media/transfer_test_files_to_dataserver.png rename to docs/images/deploy_sre/media/transfer_test_files_to_dataserver.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png b/docs/images/deploy_sre/package_mirrors/01_internal_mirror_packages.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/package_mirrors/01_internal_mirror_packages.png rename to docs/images/deploy_sre/package_mirrors/01_internal_mirror_packages.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png b/docs/images/deploy_sre/rd_gateway_manager_01.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_01.png rename to docs/images/deploy_sre/rd_gateway_manager_01.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png b/docs/images/deploy_sre/rd_gateway_manager_02.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_02.png rename to docs/images/deploy_sre/rd_gateway_manager_02.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png b/docs/images/deploy_sre/rd_gateway_manager_03.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_manager_03.png rename to docs/images/deploy_sre/rd_gateway_manager_03.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png b/docs/images/deploy_sre/rd_gateway_session_hosts_01.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_01.png rename to docs/images/deploy_sre/rd_gateway_session_hosts_01.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png b/docs/images/deploy_sre/rd_gateway_session_hosts_02.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_02.png rename to docs/images/deploy_sre/rd_gateway_session_hosts_02.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png b/docs/images/deploy_sre/rd_gateway_session_hosts_03.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_03.png rename to docs/images/deploy_sre/rd_gateway_session_hosts_03.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png b/docs/images/deploy_sre/rd_gateway_session_hosts_04.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/rd_gateway_session_hosts_04.png rename to docs/images/deploy_sre/rd_gateway_session_hosts_04.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/subdomain_ns_record.png b/docs/images/deploy_sre/subdomain_ns_record.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/subdomain_ns_record.png rename to docs/images/deploy_sre/subdomain_ns_record.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/vpn/point_to_site.png b/docs/images/deploy_sre/vpn/point_to_site.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/vpn/point_to_site.png rename to docs/images/deploy_sre/vpn/point_to_site.png diff --git a/deployment/secure_research_environment/azure-runbooks/images/vpn_client.png b/docs/images/deploy_sre/vpn_client.png similarity index 100% rename from deployment/secure_research_environment/azure-runbooks/images/vpn_client.png rename to docs/images/deploy_sre/vpn_client.png diff --git a/docs/images/1st_logon_putty.png b/docs/images/user_guide/1st_logon_putty.png similarity index 100% rename from docs/images/1st_logon_putty.png rename to docs/images/user_guide/1st_logon_putty.png diff --git a/docs/images/1st_logon_sharedVMdesktop.png b/docs/images/user_guide/1st_logon_sharedVMdesktop.png similarity index 100% rename from docs/images/1st_logon_sharedVMdesktop.png rename to docs/images/user_guide/1st_logon_sharedVMdesktop.png diff --git a/docs/images/Azurestorageexplorer1.png b/docs/images/user_guide/Azurestorageexplorer1.png similarity index 100% rename from docs/images/Azurestorageexplorer1.png rename to docs/images/user_guide/Azurestorageexplorer1.png diff --git a/docs/images/Azurestorageexplorer2.png b/docs/images/user_guide/Azurestorageexplorer2.png similarity index 100% rename from docs/images/Azurestorageexplorer2.png rename to docs/images/user_guide/Azurestorageexplorer2.png diff --git a/docs/images/No_folders_present.png b/docs/images/user_guide/No_folders_present.png similarity index 100% rename from docs/images/No_folders_present.png rename to docs/images/user_guide/No_folders_present.png diff --git a/docs/images/RDS_app_selection_options.png b/docs/images/user_guide/RDS_app_selection_options.png similarity index 100% rename from docs/images/RDS_app_selection_options.png rename to docs/images/user_guide/RDS_app_selection_options.png diff --git a/docs/images/VM_arrived.png b/docs/images/user_guide/VM_arrived.png similarity index 100% rename from docs/images/VM_arrived.png rename to docs/images/user_guide/VM_arrived.png diff --git a/docs/images/WinSCP_logon.png b/docs/images/user_guide/WinSCP_logon.png similarity index 100% rename from docs/images/WinSCP_logon.png rename to docs/images/user_guide/WinSCP_logon.png diff --git a/docs/images/WinSCP_screenshot.png b/docs/images/user_guide/WinSCP_screenshot.png similarity index 100% rename from docs/images/WinSCP_screenshot.png rename to docs/images/user_guide/WinSCP_screenshot.png diff --git a/docs/images/cheat_sheet_DSH_gitlab.png b/docs/images/user_guide/cheat_sheet_DSH_gitlab.png similarity index 100% rename from docs/images/cheat_sheet_DSH_gitlab.png rename to docs/images/user_guide/cheat_sheet_DSH_gitlab.png diff --git a/docs/images/cheat_sheet_DSH_hackmd.png b/docs/images/user_guide/cheat_sheet_DSH_hackmd.png similarity index 100% rename from docs/images/cheat_sheet_DSH_hackmd.png rename to docs/images/user_guide/cheat_sheet_DSH_hackmd.png diff --git a/docs/images/cheat_sheet_DSH_intro_screen.png b/docs/images/user_guide/cheat_sheet_DSH_intro_screen.png similarity index 100% rename from docs/images/cheat_sheet_DSH_intro_screen.png rename to docs/images/user_guide/cheat_sheet_DSH_intro_screen.png diff --git a/docs/images/cheat_sheet_DSH_linux_vm.png b/docs/images/user_guide/cheat_sheet_DSH_linux_vm.png similarity index 100% rename from docs/images/cheat_sheet_DSH_linux_vm.png rename to docs/images/user_guide/cheat_sheet_DSH_linux_vm.png diff --git a/docs/images/example-conversation-in-issue.jpg b/docs/images/user_guide/example-conversation-in-issue.jpg similarity index 100% rename from docs/images/example-conversation-in-issue.jpg rename to docs/images/user_guide/example-conversation-in-issue.jpg diff --git a/docs/images/gitlab_screenshot.png b/docs/images/user_guide/gitlab_screenshot.png similarity index 100% rename from docs/images/gitlab_screenshot.png rename to docs/images/user_guide/gitlab_screenshot.png diff --git a/docs/images/gitlab_screenshot_login.png b/docs/images/user_guide/gitlab_screenshot_login.png similarity index 100% rename from docs/images/gitlab_screenshot_login.png rename to docs/images/user_guide/gitlab_screenshot_login.png diff --git a/docs/images/hackmd_logon.png b/docs/images/user_guide/hackmd_logon.png similarity index 100% rename from docs/images/hackmd_logon.png rename to docs/images/user_guide/hackmd_logon.png diff --git a/docs/images/hackmd_screenshot.png b/docs/images/user_guide/hackmd_screenshot.png similarity index 100% rename from docs/images/hackmd_screenshot.png rename to docs/images/user_guide/hackmd_screenshot.png diff --git a/docs/images/login_1.png b/docs/images/user_guide/login_1.png similarity index 100% rename from docs/images/login_1.png rename to docs/images/user_guide/login_1.png diff --git a/docs/images/login_2.png b/docs/images/user_guide/login_2.png similarity index 100% rename from docs/images/login_2.png rename to docs/images/user_guide/login_2.png diff --git a/docs/images/login_3.png b/docs/images/user_guide/login_3.png similarity index 100% rename from docs/images/login_3.png rename to docs/images/user_guide/login_3.png diff --git a/docs/images/login_4.png b/docs/images/user_guide/login_4.png similarity index 100% rename from docs/images/login_4.png rename to docs/images/user_guide/login_4.png diff --git a/docs/images/login_gitlab.png b/docs/images/user_guide/login_gitlab.png similarity index 100% rename from docs/images/login_gitlab.png rename to docs/images/user_guide/login_gitlab.png diff --git a/docs/images/login_putty_1.png b/docs/images/user_guide/login_putty_1.png similarity index 100% rename from docs/images/login_putty_1.png rename to docs/images/user_guide/login_putty_1.png diff --git a/docs/images/login_putty_2.png b/docs/images/user_guide/login_putty_2.png similarity index 100% rename from docs/images/login_putty_2.png rename to docs/images/user_guide/login_putty_2.png diff --git a/docs/images/login_putty_3.png b/docs/images/user_guide/login_putty_3.png similarity index 100% rename from docs/images/login_putty_3.png rename to docs/images/user_guide/login_putty_3.png diff --git a/docs/images/logon_VMdesktop.png b/docs/images/user_guide/logon_VMdesktop.png similarity index 100% rename from docs/images/logon_VMdesktop.png rename to docs/images/user_guide/logon_VMdesktop.png diff --git a/docs/images/logon_environment.PNG b/docs/images/user_guide/logon_environment.PNG similarity index 100% rename from docs/images/logon_environment.PNG rename to docs/images/user_guide/logon_environment.PNG diff --git a/docs/images/merge1.png b/docs/images/user_guide/merge1.png similarity index 100% rename from docs/images/merge1.png rename to docs/images/user_guide/merge1.png diff --git a/docs/images/merge2.png b/docs/images/user_guide/merge2.png similarity index 100% rename from docs/images/merge2.png rename to docs/images/user_guide/merge2.png diff --git a/docs/images/project_clone_url.png b/docs/images/user_guide/project_clone_url.png similarity index 100% rename from docs/images/project_clone_url.png rename to docs/images/user_guide/project_clone_url.png diff --git a/docs/images/repository_url_copy_icon.png b/docs/images/user_guide/repository_url_copy_icon.png similarity index 100% rename from docs/images/repository_url_copy_icon.png rename to docs/images/user_guide/repository_url_copy_icon.png diff --git a/docs/images/resetpassword_1.png b/docs/images/user_guide/resetpassword_1.png similarity index 100% rename from docs/images/resetpassword_1.png rename to docs/images/user_guide/resetpassword_1.png diff --git a/docs/images/resetpassword_2.png b/docs/images/user_guide/resetpassword_2.png similarity index 100% rename from docs/images/resetpassword_2.png rename to docs/images/user_guide/resetpassword_2.png diff --git a/docs/images/resetpassword_3.png b/docs/images/user_guide/resetpassword_3.png similarity index 100% rename from docs/images/resetpassword_3.png rename to docs/images/user_guide/resetpassword_3.png diff --git a/docs/images/resetpassword_4.png b/docs/images/user_guide/resetpassword_4.png similarity index 100% rename from docs/images/resetpassword_4.png rename to docs/images/user_guide/resetpassword_4.png diff --git a/docs/images/resetpassword_5.png b/docs/images/user_guide/resetpassword_5.png similarity index 100% rename from docs/images/resetpassword_5.png rename to docs/images/user_guide/resetpassword_5.png diff --git a/docs/images/resetpassword_incorrect_1.PNG b/docs/images/user_guide/resetpassword_incorrect_1.PNG similarity index 100% rename from docs/images/resetpassword_incorrect_1.PNG rename to docs/images/user_guide/resetpassword_incorrect_1.PNG diff --git a/docs/images/setup_mfa.png b/docs/images/user_guide/setup_mfa.png similarity index 100% rename from docs/images/setup_mfa.png rename to docs/images/user_guide/setup_mfa.png diff --git a/docs/images/setup_mfa_app_1.png b/docs/images/user_guide/setup_mfa_app_1.png similarity index 100% rename from docs/images/setup_mfa_app_1.png rename to docs/images/user_guide/setup_mfa_app_1.png diff --git a/docs/images/setup_mfa_app_2.png b/docs/images/user_guide/setup_mfa_app_2.png similarity index 100% rename from docs/images/setup_mfa_app_2.png rename to docs/images/user_guide/setup_mfa_app_2.png diff --git a/docs/images/setup_mfa_app_3.png b/docs/images/user_guide/setup_mfa_app_3.png similarity index 100% rename from docs/images/setup_mfa_app_3.png rename to docs/images/user_guide/setup_mfa_app_3.png diff --git a/docs/images/setup_mfa_app_4.png b/docs/images/user_guide/setup_mfa_app_4.png similarity index 100% rename from docs/images/setup_mfa_app_4.png rename to docs/images/user_guide/setup_mfa_app_4.png diff --git a/docs/images/setup_mfa_phone_1.png b/docs/images/user_guide/setup_mfa_phone_1.png similarity index 100% rename from docs/images/setup_mfa_phone_1.png rename to docs/images/user_guide/setup_mfa_phone_1.png diff --git a/docs/images/setup_mfa_phone_2.png b/docs/images/user_guide/setup_mfa_phone_2.png similarity index 100% rename from docs/images/setup_mfa_phone_2.png rename to docs/images/user_guide/setup_mfa_phone_2.png diff --git a/docs/images/unexpected_certificate_error.png b/docs/images/user_guide/unexpected_certificate_error.png similarity index 100% rename from docs/images/unexpected_certificate_error.png rename to docs/images/user_guide/unexpected_certificate_error.png diff --git a/docs/safe_haven_user_guide.md b/docs/safe_haven_user_guide.md index 1d932a1d58..63bcbd1d92 100644 --- a/docs/safe_haven_user_guide.md +++ b/docs/safe_haven_user_guide.md @@ -86,14 +86,14 @@ For security reasons, you must (re-)set your password before you can log in: 4. There will then be a password prompt. The first time you log in you need to click **“Forgotten my password”** - ![](images/resetpassword_1.png) + ![](images/user_guide/resetpassword_1.png) **NOTE:** If you do reset your password during the week, wait 5-10 mins before logging in again, to allow the user management to sync up with the new password. 5. Complete the requested information (a captcha and the phone number you provided on registration). - ![](images/resetpassword_2.png) - ![](images/resetpassword_3.png) + ![](images/user_guide/resetpassword_2.png) + ![](images/user_guide/resetpassword_3.png) 6. Generate a new password using the [Secure Password Generator we set up](https://passwordsgenerator.net/?length=20&symbols=0&numbers=1&lowercase=1&uppercase=1&similar=1&ambiguous=0&client=1&autoselect=1). @@ -111,8 +111,8 @@ If you feel you may struggle to remember your password, make a note of it on a s 7. Enter your password into the ‘new password’ and ‘confirm new password’ fields. - ![](images/resetpassword_4.png) - ![](images/resetpassword_5.png) + ![](images/user_guide/resetpassword_4.png) + ![](images/user_guide/resetpassword_5.png) 8. Log into your account @@ -120,8 +120,8 @@ If you feel you may struggle to remember your password, make a note of it on a s This is **not** MFA. You still need to set up MFA in the next section, otherwise you will be unable to launch any apps. - ![](images/login_1.png) - ![](images/login_2.png) + ![](images/user_guide/login_1.png) + ![](images/user_guide/login_2.png) If you get a message saying "account or password is incorrect" , check that you: * typed the right username @@ -129,11 +129,11 @@ If you feel you may struggle to remember your password, make a note of it on a s 9. Answer your phone when it rings! - ![](images/login_3.png) + ![](images/user_guide/login_3.png) 10. Finish logging in - ![](images/login_4.png) + ![](images/user_guide/login_4.png) ### Configuring Multi-Factor Authentication @@ -148,14 +148,14 @@ Once you have logged in, you need to setup multi-factor authentication before yo 4. Set up the second authentication method following the instructions on screen. If you select phone verification, go to step 5. If you select app verification, go to step 6. - ![](images/setup_mfa.png) + ![](images/user_guide/setup_mfa.png) 5. **Phone option**: If you choose to set up the authentication by phone call you will receive a call straight away. Note that some people get a call that says, *"press the pound key"* and others receive *"press the hash key"* – both mean hit the `#` button. - ![](images/setup_mfa_phone_1.png) - ![](images/setup_mfa_phone_2.png) + ![](images/user_guide/setup_mfa_phone_1.png) + ![](images/user_guide/setup_mfa_phone_2.png) **NOTE:** when you click `close` the page will switch to your dashboard. You can close your browser at this point. @@ -181,13 +181,13 @@ Once you have logged in, you need to setup multi-factor authentication before yo viii. Click **"Next"** again to test the app, you will get a verification on your app. - ![](images/setup_mfa_app_1.png) - ![](images/setup_mfa_app_2.png) - ![](images/setup_mfa_app_3.png) + ![](images/user_guide/setup_mfa_app_1.png) + ![](images/user_guide/setup_mfa_app_2.png) + ![](images/user_guide/setup_mfa_app_3.png) 7. When confirmed you can close the browser. - ![](images/setup_mfa_app_4.png) + ![](images/user_guide/setup_mfa_app_4.png) #### MFA:Top tips @@ -243,7 +243,7 @@ Follow the steps below to access the Azure safe haven environment: - ![](images/logon_environment.PNG) + ![](images/user_guide/logon_environment.PNG) 4. Enter the username you’ve been provided, ensuring that you use the following format: @@ -255,7 +255,7 @@ Follow the steps below to access the Azure safe haven environment: If successful, you’ll see the following screen - welcome to the Data Safe Haven! - ![](images/RDS_app_selection_options.png) + ![](images/user_guide/RDS_app_selection_options.png) 7. *(First time only)* Follow the steps in Section 3.3 if this is the first time you are logging in. @@ -274,15 +274,15 @@ The first time you use the safe haven, you’ll have to set up your user account 1. Run the "Shared VM (SSH)" app. You will need to first authenticate using MFA. - ![](images/login_putty_2.png) + ![](images/user_guide/login_putty_2.png) If you don't respond fast enough to the MFA, or it has failed, you will likely get an error that looks like this: - ![](images/login_putty_3.png) + ![](images/user_guide/login_putty_3.png) 2. When you get in the first time, there will be a security alert. Dismiss security alert (that looks like the screenshot below) by clicking `"yes"` (this only happens on the first log in). - ![](images/1st_logon_putty.png) + ![](images/user_guide/1st_logon_putty.png) 3. Run the "Shared VM (Desktop)" app. Verify using MFA, then login with: @@ -290,11 +290,11 @@ The first time you use the safe haven, you’ll have to set up your user account Check the box in the security alert below and confirm by clicking the `"Yes"` button. - ![](images/1st_logon_sharedVMdesktop.png) + ![](images/user_guide/1st_logon_sharedVMdesktop.png) 4. Insert your credentials as per the example below: - ![](images/logon_VMdesktop.png) + ![](images/user_guide/logon_VMdesktop.png) If you get a warning: @@ -323,7 +323,7 @@ The first time you use the safe haven, you’ll have to set up your user account The Safe Haven contains a Linux VM for data analysis, with different packages installed on to it. The VM allows you to carry out data science research, completely isolated from the internet. You can access different applications from the terminal, including RStudio, Atom, jupyter notebook and Spider Integrated Development Environment. You can also access HackMD and Gitlab, through the browser in the VM. The analytics environment can be accessed through the `Shared VM` (desktop) app. Please log in with username `firstname.lastname` and password `password`. -![](images/VM_arrived.png) +![](images/user_guide/VM_arrived.png) When you get to this screen, it is important that you select the "Use default config" option. @@ -345,7 +345,7 @@ This VM can also be used to directly access `GitLab` and `HackMD`, via the brosw 1. Point firefox to the url provided by the resource dashboard for GitLab/HackMD 2. Read and write access – the repository URL can be copied using via the clipboard icon highlighted in the screenshot below. - ![](images/gitlab_screenshot.png) + ![](images/user_guide/gitlab_screenshot.png) 3. If you create a new repository, we recommend you make it **public**. As each challenge has it's own secure environment, this will make the repository accessible to your colleagues working on the same challenge but not to anyone else (who will not have access to the challenge environment). @@ -421,7 +421,7 @@ You can access the same GitLab repositories from the Work Resources page or via Login with username `firstname.lastname@turingsafehaven.ac.uk` and `password`. -![](images/gitlab_screenshot_login.png) +![](images/user_guide/gitlab_screenshot_login.png) Please make all your repositories public so they are easy to share within your group. (Note that they are not really public as the server is only available inside your team’s virtual environment.) @@ -438,7 +438,7 @@ You can find a really great markdown cheat sheet at You can access a local installation of HackMD from the Work Resources page. Login with your username `firtname.lastname@turingsafehaven.ac.uk` and `password`, as below. -![](images/hackmd_logon.png) +![](images/user_guide/hackmd_logon.png) We have provided some example report templates for you which outline a structure we recommend. @@ -454,7 +454,7 @@ We recommend that one person start the document, then let everyone know the URL > ( `I /= l` ) > Try the one you didn’t try first time round if you don't get to the right place. -![](images/hackmd_screenshot.png) +![](images/user_guide/hackmd_screenshot.png) ### 4.5: Accessing the data and exporting figures @@ -465,13 +465,13 @@ You can use Windows File Explorer to move data within the Windows environment. You can transfer the data to the Linux environment using the `File Transfer` WinSCP app. (See [Appendix A](#appendix-a-migrating-to-a-new-data-science-vm-post-package-update)) To access the data science VM’s file system, enter username `username` and `password` into the login mask, as shown below, and confirm with "login". -![](images/WinSCP_logon.png) +![](images/user_guide/WinSCP_logon.png) > TOP TIP: Although the default says not to save the password – you’re in a super secure environment so your life will be easier if you do save it. You can now drag and drop any files between the data science VM and the Windows Azure environment, as in the screenshot below. -![](images/WinSCP_screenshot.png) +![](images/user_guide/WinSCP_screenshot.png) If only one person in your group completes this step, everyone will then be able to access the data. @@ -627,7 +627,7 @@ In Git, when you copy a project you say you “clone” it. To work on a git pro When you are on your Dashboard, click on the project that you’d like to clone. To work in the project, you can copy a link to the Git repository through a SSH or a HTTPS protocol. SSH is easier to use after it’s been set up, [you can find the details here](https://docs.gitlab.com/ee/gitlab-basics/create-your-ssh-keys.html). While you are at the Project tab, select HTTPS or SSH from the dropdown menu and copy the link using the Copy URL to clipboard button (you’ll have to paste it on your shell in the next step). -![](images/project_clone_url.png) +![](images/user_guide/project_clone_url.png) Go to your computer’s shell and type the following command with your SSH or HTTPS URL: ``` @@ -759,12 +759,12 @@ Merge requests are useful to integrate separate changes that you’ve made to a 3. Click on New merge request on the right side of the screen. 4. From there on, you have the option to select the source branch and the target branch you’d like to compare to. The default target project is the upstream repository, but you can choose to compare across any of its forks. - ![](images/merge1.png) + ![](images/user_guide/merge1.png) 5. When ready, click on the Compare branches and continue button. 6. At a minimum, add a title and a description to your merge request. Optionally, select a user to review your merge request and to accept or close it. You may also select a milestone and labels. - ![](images/merge2.png) + ![](images/user_guide/merge2.png) 7. When ready, click on the Submit merge request button. Your merge request will be ready to be approved and merged. @@ -777,7 +777,7 @@ Your merge request will be ready to be approved and merged. - You can successfully log into the RDS webclient at `https://rds.dsgroupX.co.uk/RDWeb/weblient` - You do not see any available apps - ![](images/No_folders_present.png) + ![](images/user_guide/No_folders_present.png) #### Cause You have not yet set up your two factor authentication. @@ -792,7 +792,7 @@ Follow the two factor authentication section from the [logging in section](https - When you try and launch an app, you receive an error saying "Your session ended because an unexpected server authentication certificate was received from the remote PC." - When you click on the padlock icon in the address bar and view the SSL certificate, the "SHA-1 Fingerprint" in the certificate matches the "SHA-1 Thumbprint" in the error message. - ![](images/unexpected_certificate_error.png) + ![](images/user_guide/unexpected_certificate_error.png) ### Cause The SSL certificate protecting your connection to the RDS webclient expires every three months and is renewed every two months. From 6b4ebb42d000071cff1529328d06ecee15c34243 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 12:15:27 +0000 Subject: [PATCH 29/30] Moved VM images folder --- {vm_image_management => deployment/dsvm_images}/README.md | 0 {vm_image_management => deployment/dsvm_images}/configs/images.sh | 0 {vm_image_management => deployment/dsvm_images}/configs/text.sh | 0 .../dsvm_images}/images_build_azure_compute_vm.sh | 0 .../dsvm_images}/images_convert_azure_vm_to_image.sh | 0 .../dsvm_images}/images_register_azure_image_in_gallery.sh | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename {vm_image_management => deployment/dsvm_images}/README.md (100%) rename {vm_image_management => deployment/dsvm_images}/configs/images.sh (100%) rename {vm_image_management => deployment/dsvm_images}/configs/text.sh (100%) rename {vm_image_management => deployment/dsvm_images}/images_build_azure_compute_vm.sh (100%) rename {vm_image_management => deployment/dsvm_images}/images_convert_azure_vm_to_image.sh (100%) rename {vm_image_management => deployment/dsvm_images}/images_register_azure_image_in_gallery.sh (100%) diff --git a/vm_image_management/README.md b/deployment/dsvm_images/README.md similarity index 100% rename from vm_image_management/README.md rename to deployment/dsvm_images/README.md diff --git a/vm_image_management/configs/images.sh b/deployment/dsvm_images/configs/images.sh similarity index 100% rename from vm_image_management/configs/images.sh rename to deployment/dsvm_images/configs/images.sh diff --git a/vm_image_management/configs/text.sh b/deployment/dsvm_images/configs/text.sh similarity index 100% rename from vm_image_management/configs/text.sh rename to deployment/dsvm_images/configs/text.sh diff --git a/vm_image_management/images_build_azure_compute_vm.sh b/deployment/dsvm_images/images_build_azure_compute_vm.sh similarity index 100% rename from vm_image_management/images_build_azure_compute_vm.sh rename to deployment/dsvm_images/images_build_azure_compute_vm.sh diff --git a/vm_image_management/images_convert_azure_vm_to_image.sh b/deployment/dsvm_images/images_convert_azure_vm_to_image.sh similarity index 100% rename from vm_image_management/images_convert_azure_vm_to_image.sh rename to deployment/dsvm_images/images_convert_azure_vm_to_image.sh diff --git a/vm_image_management/images_register_azure_image_in_gallery.sh b/deployment/dsvm_images/images_register_azure_image_in_gallery.sh similarity index 100% rename from vm_image_management/images_register_azure_image_in_gallery.sh rename to deployment/dsvm_images/images_register_azure_image_in_gallery.sh From 712118d0a9e3d36d811d645da2cf76f8d85b7074 Mon Sep 17 00:00:00 2001 From: James Robinson Date: Fri, 6 Mar 2020 12:17:42 +0000 Subject: [PATCH 30/30] Updated logistic CSV location --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7e16b649c6..5c16e8fe8c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # System files *.DS_Store .idea/ -deployment/secure_research_environment/scripts/compute_vm/tests/logistic.csv +deployment/secure_research_environment/remote/compute_vm/tests/logistic.csv # All secrets folders, no matter how nested secrets/