From b9b9de2a384b78676c5f098b19ed44dd302f0c2f Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 30 Oct 2023 18:44:32 -0500 Subject: [PATCH 1/5] Add local test ignores --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8dd22420f..2d42a350b 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,8 @@ Deploy-Baseline.ps1 workload/bicep/parameters/deploy-baseline-parameters-MSA.json # local test files -localTest \ No newline at end of file +localTest + +# Ignore files that might be used for local testing +/workload/bicep/*.json +/workload/bicep/*.bicepparam From 014b900cbe631130f27338b731958decfa1ae00b Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:19:29 -0500 Subject: [PATCH 2/5] Update casing in file name --- ...{script-domainjoinstorage.ps1 => Script-DomainJoinStorage.ps1} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename workload/scripts/DSCStorageScripts/{script-domainjoinstorage.ps1 => Script-DomainJoinStorage.ps1} (100%) diff --git a/workload/scripts/DSCStorageScripts/script-domainjoinstorage.ps1 b/workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 similarity index 100% rename from workload/scripts/DSCStorageScripts/script-domainjoinstorage.ps1 rename to workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 From 17a183d184b62d3d10f36c21549eb531a47e6fa3 Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:22:33 -0500 Subject: [PATCH 3/5] Disable deleting drive mapping. Update zip. --- workload/scripts/DSCStorageScripts.zip | Bin 82678 -> 82703 bytes .../Script-DomainJoinStorage.ps1 | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/workload/scripts/DSCStorageScripts.zip b/workload/scripts/DSCStorageScripts.zip index da77018698fd4c91f7e22a6d759c4d42fdfc738b..031ee38067c523f6c33853b2aac78aa7d4dc6fc8 100644 GIT binary patch delta 2414 zcmV-!36b{pg$0j>1%R{x+&E);qFz@HU&`g@2mk`~VP|D7aC0%`S#59I$PxbR0QnCCTBzjKWMU%;il8aLN^(wjwk4QK(ra@# ztjU$M7mCa5l9uJv|Gk$#IRO`cUv{5A+XRI#wbtgv{jV&q0C8Hji~e7KEsO{F63K(n?Es8&}RHrk+VS% zTtgw@9O*gFk!KR<9l%m#Wx@9lG%A=X{3zu-2Ok+jW{HM3FA2N>KP^>8@NzbTPa;d? zO2bSjzG7(_00HsBKjp=ddxz0K6DbG3da!}J50mm7wZeauxFBQvVaCo=RO^W7jiin; zT_6JbF8)H{)`O^0r*GOITgx@OiI$j zY@Wy!ZdmX%Z3j6FUIq6+gjazJI(_fLs>t5A4*j;0>dU?B&bXE(uDFr>{F#_R?|ak( zKK}~ca4?9vd+-h8yLO;X2Ayemb%ZCRe^{R@k-*Xj#S`6s>9`O75c#o;8HGCrIeO0T zFGQM*3cdsv;giV5_?eXGSKNgO2wnsDkHM9oZvkW@V7vJByzzAm^86rs(cfm?i@g9Y@yOMunQ(q$`tCT!hz|$Fl$_!r2~UKl_2c7 zf++UkEDEQ<63lji#KuSza)C@WEU^j_C%DxJeXl)Fp31qZ1C?G8?|CT61K^!$Rs>tv!65RF2T?Gk1MoJR zDPXv&AU$$~9}axOR1sNCDbs2%Gx*8IQPyJck?SwFzNNie-)^LwQ~J7kpY^$@ATwZ_xQQu*r%GTUv3rc5b~>73bv| zLsjfqjTLRsm>n!toF(h}M8cE6cujG1YGxgAy;acqGRshX6Mz!aC`04~giGT}D8jgf zet6{sgI^^(`0mvxxoP6J1 zo7)<;Y3*A}-K*(3=g_Uf+P&<8KUQ;=i7Qh{So$Fo#XwLAnwJ7eD6#0aTgJthx+`*j zpgfHQ^zVh$$4C_=52V$W1Y~)_OMUfn!toKND&H^}+T35Kjr8u`(^b z6Hum%>>~XwB{oyxO>ZR?4nztAk;DUk&QXPusbgg)$PL1l1ZO&xb8+c-urt7Mh#zCE zK(c-Z-JiQg)OU9;^>?@a-EOTh{0W&y+`bL9?GY?A1`O($W}fX(Yh`X^YLh_s^XD%7 zscja=w_W$Gy2U|^*jCahc2O9oh<=2kcwas z-yks)4|J%x+hE4yHpmsza9crR`xJYtt(v*`@ywiLCc+ zd)GKuzjoyS5lYO8bd5ekB}%^MYH8<##-7n>@(#QgCH{VE8jsH{ig{c87VWMKc?)$g zv$8_?iPMFOQFxnw=+na}=pOEW*=ubw5#ACHHKbqo`oJ@-W!(k}Q!p_HsS8vz(rzpTx(h!-nvnmLvt+$mpGuJDORjUS@5#t}R?F}*9@PX$=YkoL@f2tA4VHvl+n z&r4cyjAR8p&&Grww76E^GIO65IJq`+l`;oBlRh-rVt6d8GUXqoU5hK=I)7j=_op;l3<7-W-*TG z+oAbF*}CKX?ZfDJIy(K_EI@bdoGX^mni2Nonki%mpEC9?DJ+r%`IX7SOfZoUhhKqaZufWZrr1P9apyhpN1`onanu0 z6~ym%PeI|JdwbXnE1|^3x!sTef|Z(1>_o&$YB?)lh=rZOXmbIhxjn#z)P>#$V+$Q- z1JD`QjPj0QNV=T9xzw)}&NfSF+dT)|`DS3R-@5Z`HPVT$JKn@>qa0+LL@`-mPscVs zcalQIVY~1{*#GG+E#O3AZ+Opn%!qJB0W&62I@H~E5{4HEj==?QYGg&0nM-`{5jp?x z%=-^={oj|`K>^4OdZJ!e4qwXU=Li4*YL~A<0TnV+V{&P5bS*@0ZDDC{N^fayQ*>`~ gVP|D7aC0$GO9ci10000400aOA0RRB=K>+{&0NEI#YybcN delta 2384 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 C?1yOp diff --git a/workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 b/workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 index bda935181..4a8380c8b 100644 --- a/workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 +++ b/workload/scripts/DSCStorageScripts/Script-DomainJoinStorage.ps1 @@ -182,7 +182,8 @@ Try { Write-Log "Unmounting drive" # Remove-PSDrive -Name $DriveLetter -Force - net use ${DriveLetter} /delete + # HACK: Disabled because it fails + #net use ${DriveLetter} /delete Write-Log "Drive unmounted" } Catch { From 9d5c5bdafa1368f0322a782cad76551e959ccc2a Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:48:59 -0500 Subject: [PATCH 4/5] Enclose SecurityPrincipalName in `"` Delete unused variables to avoid Bicep warnings Bicep linting --- .../bicep/modules/storageAzureFiles/deploy.bicep | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/workload/bicep/modules/storageAzureFiles/deploy.bicep b/workload/bicep/modules/storageAzureFiles/deploy.bicep index 0eb4c9cc3..ce8bada79 100644 --- a/workload/bicep/modules/storageAzureFiles/deploy.bicep +++ b/workload/bicep/modules/storageAzureFiles/deploy.bicep @@ -99,7 +99,6 @@ param storageAccountFqdn string // Variable declaration // // =========== // var varAzureCloudName = environment().name -var varStoragePurposeLower = toLower(storagePurpose) var varAvdFileShareLogsDiagnostic = [ 'allLogs' ] @@ -107,9 +106,10 @@ var varAvdFileShareMetricsDiagnostic = [ 'Transaction' ] var varWrklStoragePrivateEndpointName = 'pe-${storageAccountName}-file' -var varDirectoryServiceOptions = (identityServiceProvider == 'AADDS') ? 'AADDS': (identityServiceProvider == 'AAD') ? 'AADKERB': 'None' -var varSecurityPrincipalName = !empty(securityPrincipalName)? securityPrincipalName : 'none' -var varStorageToDomainScriptArgs = '-DscPath ${dscAgentPackageLocation} -StorageAccountName ${storageAccountName} -StorageAccountRG ${storageObjectsRgName} -StoragePurpose ${storagePurpose} -DomainName ${identityDomainName} -IdentityServiceProvider ${identityServiceProvider} -AzureCloudEnvironment ${varAzureCloudName} -SubscriptionId ${workloadSubsId} -DomainAdminUserName ${domainJoinUserName} -CustomOuPath ${storageCustomOuPath} -OUName ${ouStgPath} -ShareName ${fileShareName} -ClientId ${managedIdentityClientId} -SecurityPrincipalName ${varSecurityPrincipalName} -StorageAccountFqdn ${storageAccountFqdn} ' +var varDirectoryServiceOptions = (identityServiceProvider == 'AADDS') ? 'AADDS' : (identityServiceProvider == 'AAD') ? 'AADKERB' : 'None' +var varSecurityPrincipalName = !empty(securityPrincipalName) ? securityPrincipalName : 'none' +var varStorageToDomainScriptArgs = '-DscPath ${dscAgentPackageLocation} -StorageAccountName ${storageAccountName} -StorageAccountRG ${storageObjectsRgName} -StoragePurpose ${storagePurpose} -DomainName ${identityDomainName} -IdentityServiceProvider ${identityServiceProvider} -AzureCloudEnvironment ${varAzureCloudName} -SubscriptionId ${workloadSubsId} -DomainAdminUserName ${domainJoinUserName} -CustomOuPath ${storageCustomOuPath} -OUName ${ouStgPath} -ShareName ${fileShareName} -ClientId ${managedIdentityClientId} -SecurityPrincipalName "${varSecurityPrincipalName}" -StorageAccountFqdn ${storageAccountFqdn} ' + // =========== // // Deployments // // =========== // @@ -136,7 +136,7 @@ module storageAndFile '../../../../carml/1.3.0/Microsoft.Storage/storageAccounts activeDirectoryProperties: (identityServiceProvider == 'AAD') ? { domainGuid: identityDomainGuid domainName: identityDomainName - }: {} + } : {} } accessTier: 'Hot' networkAcls: deployPrivateEndpoint ? { @@ -172,7 +172,7 @@ module storageAndFile '../../../../carml/1.3.0/Microsoft.Storage/storageAccounts privateDnsZoneGroup: { privateDNSResourceIds: [ vnetPrivateDnsZoneFilesId - ] + ] } } ] : [] From 9498946ffee3eed0e3e7ed64bb79851604973d3a Mon Sep 17 00:00:00 2001 From: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com> Date: Mon, 30 Oct 2023 22:09:48 -0500 Subject: [PATCH 5/5] Support `|` and other special chars in domain pwd Remove unnecessary variables to avoid Bicep warnings Avoid duplication of file names by creating variables Bicep linting --- workload/bicep/deploy-baseline.bicep | 23 ++++++++++--------- .../.bicep/azureFilesDomainJoin.bicep | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/workload/bicep/deploy-baseline.bicep b/workload/bicep/deploy-baseline.bicep index aca95b71b..71b55bf27 100644 --- a/workload/bicep/deploy-baseline.bicep +++ b/workload/bicep/deploy-baseline.bicep @@ -486,7 +486,6 @@ var varSessionHostLocationAcronym = varLocations[varSessionHostLocationLowercase var varManagementPlaneLocationAcronym = varLocations[varManagementPlaneLocationLowercase].acronym var varLocations = loadJsonContent('../variables/locations.json') var varTimeZoneSessionHosts = varLocations[varSessionHostLocationLowercase].timeZone -var varTimeZoneManagementPlane = varLocations[varManagementPlaneLocationLowercase].timeZone var varManagementPlaneNamingStandard = '${varDeploymentPrefixLowercase}-${varDeploymentEnvironmentLowercase}-${varManagementPlaneLocationAcronym}' var varComputeStorageResourcesNamingStandard = '${varDeploymentPrefixLowercase}-${varDeploymentEnvironmentLowercase}-${varSessionHostLocationAcronym}' var varDiskEncryptionSetName = avdUseCustomNaming ? '${ztDiskEncryptionSetCustomNamePrefix}-${varComputeStorageResourcesNamingStandard}-001' : 'des-zt-${varComputeStorageResourcesNamingStandard}-001' @@ -538,10 +537,10 @@ var varZtKvPrivateEndpointName = 'pe-${varZtKvName}-vault' // var varFslogixSharePath = '\\\\${varFslogixStorageName}.file.${environment().suffixes.storage}\\${varFslogixFileShareName}' var varBaseScriptUri = 'https://raw.githubusercontent.com/Azure/avdaccelerator/main/workload/' -var varSessionHostConfigurationScriptUri = '${varBaseScriptUri}scripts/Set-SessionHostConfiguration.ps1' -var varSessionHostConfigurationScript = './Set-SessionHostConfiguration.ps1' +var varSessionHostConfigurationScriptFileName = 'Set-SessionHostConfiguration.ps1' +var varSessionHostConfigurationScriptUri = '${varBaseScriptUri}scripts/${varSessionHostConfigurationScriptFileName}' +var varSessionHostConfigurationScript = './${varSessionHostConfigurationScriptFileName}' var varDiskEncryptionKeyExpirationInEpoch = dateTimeToEpoch(dateTimeAdd(time, 'P${string(diskEncryptionKeyExpirationInDays)}D')) -var varAvdAgentPackageLocation = 'https://wvdportalstorageblob.blob.${environment().suffixes.storage}/galleryartifacts/Configuration_09-08-2022.zip' var varCreateStorageDeployment = (createAvdFslogixDeployment || createMsixDeployment == true) ? true : false var varFslogixStorageSku = zoneRedundantStorage ? '${fslogixStoragePerformance}_ZRS' : '${fslogixStoragePerformance}_LRS' var varMsixStorageSku = zoneRedundantStorage ? '${msixStoragePerformance}_ZRS' : '${msixStoragePerformance}_LRS' @@ -753,9 +752,11 @@ var varMarketPlaceGalleryWindows = { version: 'latest' } } -var varStorageAzureFilesDscAgentPackageLocation = 'https://github.com/Azure/avdaccelerator/raw/main/workload/scripts/DSCStorageScripts.zip' -var varStorageToDomainScriptUri = '${varBaseScriptUri}scripts/Manual-DSC-Storage-Scripts.ps1' -var varStorageToDomainScript = './Manual-DSC-Storage-Scripts.ps1' + +var varStorageAzureFilesDscAgentPackageLocation = '${varBaseScriptUri}scripts/DSCStorageScripts.zip' +var varStorageToDomainScriptFileName = 'Manual-DSC-Storage-Scripts.ps1' +var varStorageToDomainScriptUri = '${varBaseScriptUri}scripts/${varStorageToDomainScriptFileName}' +var varStorageToDomainScript = './${varStorageToDomainScriptFileName}' var varOuStgPath = !empty(storageOuPath) ? '"${storageOuPath}"' : '"${varDefaultStorageOuPath}"' var varDefaultStorageOuPath = (avdIdentityServiceProvider == 'AADDS') ? 'AADDC Computers' : 'Computers' var varStorageCustomOuPath = !empty(storageOuPath) ? 'true' : 'false' @@ -960,7 +961,7 @@ module managementPLane './modules/avdManagementPlane/deploy.bicep' = { startVmOnConnect: (avdHostPoolType == 'Pooled') ? avdDeployScalingPlan : avdStartVmOnConnect workloadSubsId: avdWorkloadSubsId identityServiceProvider: avdIdentityServiceProvider - securityPrincipalIds: !empty(securityPrincipalId)? array(securityPrincipalId): [] + securityPrincipalIds: !empty(securityPrincipalId) ? array(securityPrincipalId) : [] tags: createResourceTags ? union(varCustomResourceTags, varAvdDefaultTags) : varAvdDefaultTags alaWorkspaceResourceId: avdDeployMonitoring ? (deployAlaWorkspace ? monitoringDiagnosticSettings.outputs.avdAlaWorkspaceResourceId : alaExistingWorkspaceResourceId) : '' hostPoolAgentUpdateSchedule: varHostPoolAgentUpdateSchedule @@ -987,7 +988,7 @@ module identity './modules/identity/deploy.bicep' = { enableStartVmOnConnect: avdStartVmOnConnect identityServiceProvider: avdIdentityServiceProvider createStorageDeployment: varCreateStorageDeployment - securityPrincipalIds: !empty(securityPrincipalId)? array(securityPrincipalId): [] + securityPrincipalIds: !empty(securityPrincipalId) ? array(securityPrincipalId) : [] tags: createResourceTags ? union(varCustomResourceTags, varAvdDefaultTags) : varAvdDefaultTags } dependsOn: [ @@ -1167,7 +1168,7 @@ module fslogixAzureFilesStorage './modules/storageAzureFiles/deploy.bicep' = if deployPrivateEndpoint: deployPrivateEndpointKeyvaultStorage ouStgPath: varOuStgPath managedIdentityClientId: varCreateStorageDeployment ? identity.outputs.managedIdentityStorageClientId : '' - securityPrincipalName: !empty(securityPrincipalName)? securityPrincipalName: '' + securityPrincipalName: !empty(securityPrincipalName) ? securityPrincipalName : '' domainJoinUserName: avdDomainJoinUserName wrklKvName: varWrklKvName serviceObjectsRgName: varServiceObjectsRgName @@ -1210,7 +1211,7 @@ module msixAzureFilesStorage './modules/storageAzureFiles/deploy.bicep' = if (cr deployPrivateEndpoint: deployPrivateEndpointKeyvaultStorage ouStgPath: varOuStgPath managedIdentityClientId: varCreateStorageDeployment ? identity.outputs.managedIdentityStorageClientId : '' - securityPrincipalName: !empty(securityPrincipalName)? securityPrincipalName: '' + securityPrincipalName: !empty(securityPrincipalName) ? securityPrincipalName : '' domainJoinUserName: avdDomainJoinUserName wrklKvName: varWrklKvName serviceObjectsRgName: varServiceObjectsRgName diff --git a/workload/bicep/modules/storageAzureFiles/.bicep/azureFilesDomainJoin.bicep b/workload/bicep/modules/storageAzureFiles/.bicep/azureFilesDomainJoin.bicep index f5878b553..a85712fdc 100644 --- a/workload/bicep/modules/storageAzureFiles/.bicep/azureFilesDomainJoin.bicep +++ b/workload/bicep/modules/storageAzureFiles/.bicep/azureFilesDomainJoin.bicep @@ -24,7 +24,7 @@ param domainJoinUserPassword string // Variable declaration // // =========== // -var varscriptArgumentsWithPassword = '${scriptArguments} -DomainAdminUserPassword ${domainJoinUserPassword} -verbose' +var varscriptArgumentsWithPassword = '${scriptArguments} -DomainAdminUserPassword "${replace(domainJoinUserPassword, '"', '""')}" -verbose' // =========== // // Deployments //