Skip to content

Commit c83c1bd

Browse files
add autoClaim blocking.
1 parent 1b62ca5 commit c83c1bd

1 file changed

Lines changed: 32 additions & 35 deletions

File tree

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

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
3838
} catch {
3939
if ($_.Exception.Message -like '*403*') {
4040
$Message = "Failed to retrieve self service products: Insufficient permissions. Please ensure the tenant GDAP relationship includes the 'Billing Administrator' role: $($_.Exception.Message)"
41-
}
42-
else {
41+
} else {
4342
$Message = "Failed to retrieve self service products: $($_.Exception.Message)"
4443
}
4544
Write-LogMessage -API 'Standards' -tenant $tenant -message $Message -sev Error
@@ -55,20 +54,20 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
5554
$CurrentValues = [System.Collections.Generic.List[PSCustomObject]]::new()
5655
foreach ($Item in $selfServiceItems) {
5756
$CurrentValues.Add([PSCustomObject]@{
58-
productName = $Item.productName
59-
productId = $Item.productId
60-
policyValue = $Item.policyValue
61-
})
57+
productName = $Item.productName
58+
productId = $Item.productId
59+
policyValue = $Item.policyValue
60+
})
6261
}
6362

6463
if ($Settings.DisableTrials) {
6564
try {
6665
$AutoClaimPolicy = New-GraphGetRequest -scope 'https://admin.microsoft.com/.default' -TenantID $Tenant -Uri 'https://admin.microsoft.com/fd/m365licensing/v1/policies/autoclaim'
6766
$CurrentValues.Add([PSCustomObject]@{
68-
productName = 'Trial Autoclaim'
69-
productId = 'autoclaim'
70-
policyValue = $AutoClaimPolicy.policyValue
71-
})
67+
productName = 'Trial Autoclaim'
68+
productId = 'autoclaim'
69+
policyValue = $AutoClaimPolicy.policyValue
70+
})
7271
} catch {
7372
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to retrieve trial autoclaim policy: $($_.Exception.Message)" -sev Error
7473
}
@@ -79,26 +78,25 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
7978
foreach ($Item in $selfServiceItems) {
8079

8180
if ($Item.productId -in $exclusions) {
82-
$desiredPolicyValue = "Enabled"
81+
$desiredPolicyValue = 'Enabled'
8382
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Exclusion present for self-service license '$($Item.productName) - $($Item.productId)'"
84-
}
85-
else {
86-
$desiredPolicyValue = "Disabled"
83+
} else {
84+
$desiredPolicyValue = 'Disabled'
8785
}
8886

8987
$ExpectedValues.Add([PSCustomObject]@{
90-
productName = $Item.productName
91-
productId = $Item.productId
92-
policyValue = $desiredPolicyValue
93-
})
88+
productName = $Item.productName
89+
productId = $Item.productId
90+
policyValue = $desiredPolicyValue
91+
})
9492
}
9593

9694
if ($Settings.DisableTrials) {
9795
$ExpectedValues.Add([PSCustomObject]@{
98-
productName = 'Trial Autoclaim'
99-
productId = 'autoclaim'
100-
policyValue = 'Disabled'
101-
})
96+
productName = 'Trial Autoclaim'
97+
productId = 'autoclaim'
98+
policyValue = 'Disabled'
99+
})
102100
}
103101

104102
if ($settings.remediate) {
@@ -107,16 +105,15 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
107105

108106
if (!$Compare) {
109107
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'self service licenses are already set correctly.' -sev Info
110-
}
111-
else {
108+
} else {
112109

113-
$NeedsUpdate = $Compare | Where-Object { $_.SideIndicator -eq "<=" }
110+
$NeedsUpdate = $Compare | Where-Object { $_.SideIndicator -eq '<=' }
114111

115112
foreach ($Item in $NeedsUpdate) {
116113
try {
117114

118115
$currentItem = $CurrentValues | Where-Object { $_.productId -eq $Item.productId } | Select-Object -First 1
119-
$currentValue = if ($currentItem) { $currentItem.policyValue } else { "<unknown>" }
116+
$currentValue = if ($currentItem) { $currentItem.policyValue } else { '<unknown>' }
120117

121118
$body = @{ policyValue = $Item.policyValue } | ConvertTo-Json -Compress
122119

@@ -137,19 +134,19 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
137134
$refreshedItems = (New-GraphGETRequest -scope 'aeb86249-8ea3-49e2-900b-54cc8e308f85/.default' -uri 'https://licensing.m365.microsoft.com/v1.0/policies/AllowSelfServicePurchase/products' -tenantid $Tenant).items
138135
foreach ($Item in $refreshedItems) {
139136
$CurrentValues.Add([PSCustomObject]@{
140-
productName = $Item.productName
141-
productId = $Item.productId
142-
policyValue = $Item.policyValue
143-
})
137+
productName = $Item.productName
138+
productId = $Item.productId
139+
policyValue = $Item.policyValue
140+
})
144141
}
145142
if ($Settings.DisableTrials) {
146143
try {
147144
$AutoClaimPolicy = New-GraphGetRequest -scope 'https://admin.microsoft.com/.default' -TenantID $Tenant -Uri 'https://admin.microsoft.com/fd/m365licensing/v1/policies/autoclaim'
148145
$CurrentValues.Add([PSCustomObject]@{
149-
productName = 'Trial Autoclaim'
150-
productId = 'autoclaim'
151-
policyValue = $AutoClaimPolicy.policyValue
152-
})
146+
productName = 'Trial Autoclaim'
147+
productId = 'autoclaim'
148+
policyValue = $AutoClaimPolicy.policyValue
149+
})
153150
} catch {
154151
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to retrieve trial autoclaim policy after remediation: $($_.Exception.Message)" -sev Error
155152
}
@@ -161,7 +158,7 @@ function Invoke-CIPPStandardDisableSelfServiceLicenses {
161158
if (!$selfServiceItemsToAlert) {
162159
Write-LogMessage -API 'Standards' -tenant $tenant -message 'All self-service licenses are disabled' -sev Info
163160
} else {
164-
Write-StandardsAlert -message "One or more self-service licenses are enabled" -object $selfServiceItemsToAlert -tenant $tenant -standardName 'DisableSelfServiceLicenses' -standardId $Settings.standardId
161+
Write-StandardsAlert -message 'One or more self-service licenses are enabled' -object $selfServiceItemsToAlert -tenant $tenant -standardName 'DisableSelfServiceLicenses' -standardId $Settings.standardId
165162
Write-LogMessage -API 'Standards' -tenant $tenant -message 'One or more self-service licenses are enabled' -sev Info
166163
}
167164
}

0 commit comments

Comments
 (0)