@@ -8,9 +8,11 @@ function Push-CIPPStandard {
88 )
99
1010 Write-Information " Received queue item for $ ( $Item.Tenant ) and standard $ ( $Item.Standard ) ."
11+
1112 $Tenant = $Item.Tenant
1213 $Standard = $Item.Standard
1314 $FunctionName = ' Invoke-CIPPStandard{0}' -f $Standard
15+
1416 Write-Information " We'll be running $FunctionName "
1517
1618 if ($Standard -in @ (' IntuneTemplate' , ' ConditionalAccessTemplate' )) {
@@ -44,6 +46,30 @@ function Push-CIPPStandard {
4446 }
4547 $script :CippStandardInfoStorage.Value = $StandardInfo
4648
49+ # ---- Standard execution telemetry ----
50+ $runId = [guid ]::NewGuid().ToString()
51+ $invocationId = if ($ExecutionContext -and $ExecutionContext.InvocationId ) {
52+ " $ ( $ExecutionContext.InvocationId ) "
53+ } else {
54+ $null
55+ }
56+
57+ $sw = [System.Diagnostics.Stopwatch ]::StartNew()
58+ $result = ' Unknown'
59+ $err = $null
60+
61+ Write-Information - Tag ' CIPPStandardStart' - MessageData (@ {
62+ Kind = ' CIPPStandardStart'
63+ RunId = $runId
64+ InvocationId = $invocationId
65+ Tenant = $Tenant
66+ Standard = $Standard
67+ TemplateId = $Item.templateId
68+ API = $API
69+ FunctionName = $FunctionName
70+ } | ConvertTo-Json - Compress)
71+ # -------------------------------------
72+
4773 try {
4874 # Convert settings to JSON, replace %variables%, then convert back to object
4975 $SettingsJSON = $Item.Settings | ConvertTo-Json - Depth 10 - Compress
@@ -62,26 +88,44 @@ function Push-CIPPStandard {
6288 TriggerType = ' Standard'
6389 }
6490
65- # Add template-specific metadata
6691 if ($Standard -eq ' IntuneTemplate' -and $Item.Settings.TemplateList.value ) {
6792 $metadata [' IntuneTemplateId' ] = $Item.Settings.TemplateList.value
6893 }
6994 if ($Standard -eq ' ConditionalAccessTemplate' -and $Item.Settings.TemplateList.value ) {
7095 $metadata [' CATemplateId' ] = $Item.Settings.TemplateList.value
7196 }
7297
73- # Wrap the standard execution with telemetry
7498 Measure-CippTask - TaskName $Standard - EventName ' CIPP.StandardCompleted' - Metadata $metadata - Script {
7599 & $FunctionName - Tenant $Item.Tenant - Settings $Settings - ErrorAction Stop
76100 }
77101
102+ $result = ' Success'
78103 Write-Information " Standard $ ( $Standard ) completed for tenant $ ( $Tenant ) "
79104 } catch {
105+ $result = ' Failed'
106+ $err = $_.Exception.Message
107+
80108 Write-LogMessage - API ' Standards' - tenant $Tenant - message " Error running standard $ ( $Standard ) for tenant $ ( $Tenant ) - $ ( $_.Exception.Message ) " - sev Error - LogData (Get-CippException - Exception $_ )
81109 Write-Warning " Error running standard $ ( $Standard ) for tenant $ ( $Tenant ) - $ ( $_.Exception.Message ) "
82110 Write-Information $_.InvocationInfo.PositionMessage
83111 throw $_.Exception.Message
84112 } finally {
113+ $sw.Stop ()
114+
115+ Write-Information - Tag ' CIPPStandardEnd' - MessageData (@ {
116+ Kind = ' CIPPStandardEnd'
117+ RunId = $runId
118+ InvocationId = $invocationId
119+ Tenant = $Tenant
120+ Standard = $Standard
121+ TemplateId = $Item.templateId
122+ API = $API
123+ FunctionName = $FunctionName
124+ Result = $result
125+ ElapsedMs = $sw.ElapsedMilliseconds
126+ Error = $err
127+ } | ConvertTo-Json - Compress)
128+
85129 if ($script :CippStandardInfoStorage ) {
86130 $script :CippStandardInfoStorage.Value = $null
87131 }
0 commit comments