Skip to content

Commit e9dbf4f

Browse files
authored
Merge pull request #416 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents ab03eef + b10eb7b commit e9dbf4f

File tree

6 files changed

+27
-16
lines changed

6 files changed

+27
-16
lines changed

Modules/CIPPCore/Public/Alerts/Get-CIPPAlertDepTokenExpiry.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ function Get-CIPPAlertDepTokenExpiry {
44
Entrypoint
55
#>
66
[CmdletBinding()]
7-
Param (
7+
param (
88
[Parameter(Mandatory = $false)]
99
[Alias('input')]
1010
$InputValue,
@@ -13,7 +13,7 @@ function Get-CIPPAlertDepTokenExpiry {
1313

1414
try {
1515
try {
16-
$DepTokens = (New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/depOnboardingSettings' -tenantid $TenantFilter).value
16+
$DepTokens = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/depOnboardingSettings' -tenantid $TenantFilter
1717
$AlertData = foreach ($Dep in $DepTokens) {
1818
if ($Dep.tokenExpirationDateTime -lt (Get-Date).AddDays(30) -and $Dep.tokenExpirationDateTime -gt (Get-Date).AddDays(-7)) {
1919
$Message = 'Apple Device Enrollment Program token expiring on {0}' -f $Dep.tokenExpirationDateTime

Modules/CIPPCore/Public/Authentication/Get-CippAllowedPermissions.ps1

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ function Get-CippAllowedPermissions {
7070

7171
# For admin and superadmin: Compute permissions from base role include/exclude rules
7272
if ($PrimaryRole -in @('admin', 'superadmin')) {
73-
Write-Information "Computing permissions for $PrimaryRole using base role rules"
7473

7574
if ($BaseRole) {
7675
# Start with all permissions and apply include/exclude rules
@@ -143,7 +142,19 @@ function Get-CippAllowedPermissions {
143142
}
144143

145144
# Restrict base permissions to only those allowed by custom roles
146-
$RestrictedPermissions = $BasePermissions | Where-Object { $CustomRolePermissions -contains $_ }
145+
# Include Read permissions when ReadWrite permissions are present
146+
$RestrictedPermissions = $BasePermissions | Where-Object {
147+
$Permission = $_
148+
if ($CustomRolePermissions -contains $Permission) {
149+
$true
150+
} elseif ($Permission -match 'Read$') {
151+
# Check if there's a corresponding ReadWrite permission
152+
$ReadWritePermission = $Permission -replace 'Read', 'ReadWrite'
153+
$CustomRolePermissions -contains $ReadWritePermission
154+
} else {
155+
$false
156+
}
157+
}
147158
foreach ($Permission in $RestrictedPermissions) {
148159
if ($null -ne $Permission -and $Permission -is [string]) {
149160
$AllowedPermissions.Add($Permission)
@@ -161,8 +172,6 @@ function Get-CippAllowedPermissions {
161172
}
162173
# Handle users with only custom roles (no base role)
163174
elseif ($CustomRoles.Count -gt 0) {
164-
Write-Information 'Computing permissions for custom roles only'
165-
166175
foreach ($CustomRole in $CustomRoles) {
167176
try {
168177
$RolePermissions = Get-CIPPRolePermissions -RoleName $CustomRole

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecTenantGroup.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function Invoke-ExecTenantGroup {
4343
Add-CIPPAzDataTableEntity @Table -Entity $GroupEntity -Force
4444
}
4545

46-
$CurrentMembers = Get-CIPPAzDataTableEntity @MembersTable -Filter "GroupId eq '$groupId'"
46+
$CurrentMembers = Get-CIPPAzDataTableEntity @MembersTable -Filter "PartitionKey eq 'Member' and GroupId eq '$groupId'"
4747

4848
$Adds = [System.Collections.Generic.List[string]]::new()
4949
$Removes = [System.Collections.Generic.List[string]]::new()

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ExecJITAdmin.ps1

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,19 +134,21 @@ function Invoke-ExecJITAdmin {
134134
if ($Request.Body.useraction -eq 'Create') {
135135
Write-LogMessage -Headers $User -API $APIName -tenant $TenantFilter -message "Creating JIT Admin user $($Request.Body.Username)" -Sev 'Info'
136136
Write-Information "Creating JIT Admin user $($Request.Body.username)"
137+
$Domain = $Request.Body.Domain.value ? $Request.Body.Domain.value : $Request.Body.Domain
138+
137139
$JITAdmin = @{
138140
User = @{
139141
'FirstName' = $Request.Body.FirstName
140142
'LastName' = $Request.Body.LastName
141-
'UserPrincipalName' = "$($Request.Body.Username)@$($Request.Body.Domain.value)"
143+
'UserPrincipalName' = "$($Request.Body.Username)@$($Domain)"
142144
}
143145
Expiration = $Expiration
144146
Action = 'Create'
145147
TenantFilter = $TenantFilter
146148
}
147149
$CreateResult = Set-CIPPUserJITAdmin @JITAdmin
148-
$Username = "$($Request.Body.Username)@$($Request.Body.Domain.value)"
149-
$Results.Add("Created User: $($Request.Body.Username)@$($Request.Body.Domain.value)")
150+
$Username = "$($Request.Body.Username)@$($Domain)"
151+
$Results.Add("Created User: $Username")
150152
if (!$Request.Body.UseTAP) {
151153
$Results.Add("Password: $($CreateResult.password)")
152154
}

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExConnector.ps1 renamed to Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardExchangeConnectorTemplate.ps1

File renamed without changes.

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardMailContacts.ps1

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,20 @@ function Invoke-CIPPStandardMailContacts {
3737
try {
3838
$TenantID = (New-GraphGetRequest -Uri 'https://graph.microsoft.com/beta/organization' -tenantid $tenant)
3939
$CurrentInfo = New-GraphGetRequest -Uri "https://graph.microsoft.com/beta/organization/$($TenantID.id)" -tenantid $Tenant
40-
}
41-
catch {
40+
} catch {
4241
$ErrorMessage = Get-NormalizedError -Message $_.Exception.Message
4342
Write-LogMessage -API 'Standards' -Tenant $Tenant -Message "Could not get the MailContacts state for $Tenant. Error: $ErrorMessage" -Sev Error
4443
return
4544
}
4645
$contacts = $settings
4746
$TechAndSecurityContacts = @($Contacts.SecurityContact, $Contacts.TechContact)
4847

48+
$state = $CurrentInfo.marketingNotificationEmails -eq $Contacts.MarketingContact -and `
49+
($CurrentInfo.securityComplianceNotificationMails -in $TechAndSecurityContacts -or
50+
$CurrentInfo.technicalNotificationMails -in $TechAndSecurityContacts) -and `
51+
$CurrentInfo.privacyProfile.contactEmail -eq $Contacts.GeneralContact
52+
4953
if ($Settings.remediate -eq $true) {
50-
$state = $CurrentInfo.marketingNotificationEmails -eq $Contacts.MarketingContact -and `
51-
($CurrentInfo.securityComplianceNotificationMails -in $TechAndSecurityContacts -or
52-
$CurrentInfo.technicalNotificationMails -in $TechAndSecurityContacts) -and `
53-
$CurrentInfo.privacyProfile.contactEmail -eq $Contacts.GeneralContact
5454
if ($state) {
5555
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Contact emails are already set.' -sev Info
5656
} else {

0 commit comments

Comments
 (0)