Skip to content

Commit 8dbcd2d

Browse files
authored
Merge pull request #227 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents 0cd0971 + 7e89ee6 commit 8dbcd2d

File tree

4 files changed

+50
-12
lines changed

4 files changed

+50
-12
lines changed

Modules/CIPPCore/Public/Get-CIPPAuthentication.ps1

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ function Get-CIPPAuthentication {
2424
$SubscriptionId = $env:WEBSITE_OWNER_NAME -split '\+' | Select-Object -First 1
2525
try {
2626
$Context = Get-AzContext
27-
Write-Information "Current context: $($Context | ConvertTo-Json)"
28-
if ($Context.Subscription.Id -ne $SubscriptionId) {
29-
Write-Information "Setting context to subscription $SubscriptionId"
30-
$null = Set-AzContext -SubscriptionId $SubscriptionId
27+
if ($Context.Subscription) {
28+
#Write-Information "Current context: $($Context | ConvertTo-Json)"
29+
if ($Context.Subscription.Id -ne $SubscriptionId) {
30+
Write-Information "Setting context to subscription $SubscriptionId"
31+
$null = Set-AzContext -SubscriptionId $SubscriptionId
32+
}
3133
}
3234
} catch {
3335
Write-Information "ERROR: Could not set context to subscription $SubscriptionId."

Modules/CIPPCore/Public/GraphHelper/Get-Tenants.ps1

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ function Get-Tenants {
7575
if (($BuildRequired -or $TriggerRefresh.IsPresent) -and $PartnerTenantState.state -ne 'owntenant') {
7676
# Get TenantProperties table
7777
$PropertiesTable = Get-CippTable -TableName 'TenantProperties'
78-
$Aliases = Get-CIPPAzDataTableEntity @PropertiesTable -Filter "RowKey eq 'Alias'"
7978

8079
#get the full list of tenants
8180
$GDAPRelationships = New-GraphGetRequest -uri "https://graph.microsoft.com/beta/tenantRelationships/delegatedAdminRelationships?`$filter=status eq 'active' and not startsWith(displayName,'MLT_')$RelationshipFilter&`$select=customer,autoExtendDuration,endDateTime&`$top=300" -NoAuthCheck:$true
@@ -95,7 +94,11 @@ function Get-Tenants {
9594
# Write-Host "Processing $($_.Name), $($_.displayName) to add to tenant list."
9695
$ExistingTenantInfo = Get-CIPPAzDataTableEntity @TenantsTable -Filter "PartitionKey eq 'Tenants' and RowKey eq '$($_.Name)'"
9796

98-
$Alias = ($Aliases | Where-Object { $_.PartitionKey -eq $_.Name }).Value
97+
$Alias = (Get-AzDataTableEntity @PropertiesTable -Filter "PartitionKey eq '$($_.Name)' and RowKey eq 'Alias'").Value
98+
99+
if ($Alias) {
100+
Write-Host "Alias found for $($_.Name) - $Alias."
101+
}
99102

100103
if ($TriggerRefresh.IsPresent -and $ExistingTenantInfo.customerId) {
101104
# Reset error count
@@ -104,8 +107,29 @@ function Get-Tenants {
104107
Add-CIPPAzDataTableEntity @TenantsTable -Entity $ExistingTenantInfo -Force | Out-Null
105108
}
106109

107-
if ($ExistingTenantInfo -and $ExistingTenantInfo.RequiresRefresh -eq $false -and $ExistingTenantInfo.displayName -eq $LatestRelationship.displayName) {
110+
if ($ExistingTenantInfo -and $ExistingTenantInfo.RequiresRefresh -eq $false -and ($ExistingTenantInfo.displayName -eq $LatestRelationship.displayName -or $ExistingTenantInfo.displayName -eq $Alias)) {
108111
Write-Host 'Existing tenant found. We already have it cached, skipping.'
112+
113+
$DisplayNameUpdated = $false
114+
if (![string]::IsNullOrEmpty($Alias)) {
115+
if ($Alias -ne $ExistingTenantInfo.displayName) {
116+
Write-Host "Alias found for $($_.Name)."
117+
$ExistingTenantInfo.displayName = $Alias
118+
$DisplayNameUpdated = $true
119+
}
120+
} else {
121+
if ($LatestRelationship.displayName -ne $ExistingTenantInfo.displayName) {
122+
Write-Host 'Display name changed from relationship, updating.'
123+
$ExistingTenantInfo.displayName = $LatestRelationship.displayName
124+
$DisplayNameUpdated = $true
125+
}
126+
}
127+
128+
if ($DisplayNameUpdated) {
129+
$ExistingTenantInfo.displayName = $LatestRelationship.displayName
130+
Add-CIPPAzDataTableEntity @TenantsTable -Entity $ExistingTenantInfo -Force | Out-Null
131+
}
132+
109133
$ExistingTenantInfo
110134
return
111135
}
@@ -136,9 +160,9 @@ function Get-Tenants {
136160
}
137161
Write-Host 'finished getting domain'
138162

139-
if ($Aliases.PartitionKey -contains $_.Name -and ![string]::IsNullOrEmpty($Alias)) {
140-
$Alias = $Aliases | Where-Object { $_.PartitionKey -eq $_.Name }
141-
$displayName = $Alias.Value
163+
if (![string]::IsNullOrEmpty($Alias)) {
164+
Write-Information "Setting display name to $Alias."
165+
$displayName = $Alias
142166
} else {
143167
$displayName = $LatestRelationship.displayName
144168
}

Modules/CippExtensions/Public/Extension Functions/Get-ExtensionAPIKey.ps1

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ function Get-ExtensionAPIKey {
2323
$keyvaultname = ($env:WEBSITE_DEPLOYMENT_ID -split '-')[0]
2424
$null = Connect-AzAccount -Identity
2525
$SubscriptionId = $env:WEBSITE_OWNER_NAME -split '\+' | Select-Object -First 1
26-
$null = Set-AzContext -SubscriptionId $SubscriptionId
26+
$Context = Get-AzContext
27+
if ($Context.Subscription) {
28+
if ($Context.Subscription.Id -ne $SubscriptionId) {
29+
Write-Information "Setting context to subscription $SubscriptionId"
30+
$null = Set-AzContext -SubscriptionId $SubscriptionId
31+
}
32+
}
2733
$APIKey = (Get-AzKeyVaultSecret -VaultName $keyvaultname -Name $Extension -AsPlainText)
2834
}
2935
Set-Item -Path "env:$Var" -Value $APIKey -Force -ErrorAction SilentlyContinue

Modules/CippExtensions/Public/Extension Functions/Set-ExtensionAPIKey.ps1

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,13 @@ function Set-ExtensionAPIKey {
2626
$keyvaultname = ($env:WEBSITE_DEPLOYMENT_ID -split '-')[0]
2727
$null = Connect-AzAccount -Identity
2828
$SubscriptionId = $env:WEBSITE_OWNER_NAME -split '\+' | Select-Object -First 1
29-
$null = Set-AzContext -SubscriptionId $SubscriptionId
29+
$Context = Get-AzContext
30+
if ($Context.Subscription) {
31+
if ($Context.Subscription.Id -ne $SubscriptionId) {
32+
Write-Information "Setting context to subscription $SubscriptionId"
33+
$null = Set-AzContext -SubscriptionId $SubscriptionId
34+
}
35+
}
3036
$null = Set-AzKeyVaultSecret -VaultName $keyvaultname -Name $Extension -SecretValue (ConvertTo-SecureString -AsPlainText -Force -String $APIKey)
3137
}
3238
Set-Item -Path "env:$Var" -Value $APIKey -Force -ErrorAction SilentlyContinue

0 commit comments

Comments
 (0)