@@ -20,8 +20,32 @@ function New-CIPPUserTask {
20
20
21
21
try {
22
22
if ($UserObj.licenses.value ) {
23
- $LicenseResults = Set-CIPPUserLicense - UserId $CreationResults.Username - TenantFilter $UserObj.tenantFilter - AddLicenses $UserObj.licenses.value - Headers $Headers
24
- $Results.Add ($LicenseResults )
23
+ if ($UserObj.sherwebLicense.value ) {
24
+ $License = Set-SherwebSubscription - TenantFilter $UserObj.tenantFilter - SKU $UserObj.sherwebLicense.value - Add 1
25
+ $null = $results.Add (' Added Sherweb License, scheduling assignment' )
26
+ $taskObject = [PSCustomObject ]@ {
27
+ TenantFilter = $UserObj.tenantFilter
28
+ Name = " Assign License: $UserPrincipalName "
29
+ Command = @ {
30
+ value = ' Set-CIPPUserLicense'
31
+ }
32
+ Parameters = [pscustomobject ]@ {
33
+ userId = $UserObj.id
34
+ APIName = ' Sherweb License Assignment'
35
+ AddLicenses = $licenses
36
+ }
37
+ ScheduledTime = 0 # right now, which is in the next 15 minutes and should cover most cases.
38
+ PostExecution = @ {
39
+ Webhook = [bool ]$Request.Body.PostExecution.webhook
40
+ Email = [bool ]$Request.Body.PostExecution.email
41
+ PSA = [bool ]$Request.Body.PostExecution.psa
42
+ }
43
+ }
44
+ Add-CIPPScheduledTask - Task $taskObject - hidden $false - Headers $Headers
45
+ } else {
46
+ $LicenseResults = Set-CIPPUserLicense - UserId $CreationResults.Username - TenantFilter $UserObj.tenantFilter - AddLicenses $UserObj.licenses.value - Headers $Headers
47
+ $Results.Add ($LicenseResults )
48
+ }
25
49
}
26
50
} catch {
27
51
Write-LogMessage - headers $Headers - API $APIName - tenant $ ($UserObj.tenantFilter ) - message " Failed to assign the license. Error:$ ( $_.Exception.Message ) " - Sev ' Error'
0 commit comments