[pull] dev from KelvinTegelaar:dev#1
Open
pull[bot] wants to merge 8580 commits intojohn-murrayMA:devfrom
Open
Conversation
Fix: AddDKIM standard failing if only 1 domain needs DKIM
feat: Add vacation mode feature with mailbox scheduling and calendar permissions
chore: Refactor logging to standardize header usage
…and count restored rows
…ention and improved removal feedback
No extra graph calls needed, not tested with a large tenant, (about 200 mailbox permissions works fine)
Feat: GrantSendOnBehalfTo Permissions Cache
Backup Tweak :)
Feat: Incident Report and Attachment options
…ns alert Extends Get-CIPPAlertMFAAdmins with a second check for admins who have MFA registered but no enforcement gate (per-user, Security Defaults, or CA policy). Both checks now share a single MFA report snapshot to avoid mixed-staleness alerts. Adds IncludeDisabled input to optionally surface disabled admin accounts.
feat: Add MFA enforcement checks and IncludeDisabled option to MFAAdmins alert
Fix: fix null checks by moving casting to array to AddRange
…book fixed API name in Set-CIPPDefaultAPDeploymentProfile function
Introduce an opt-in, versioned webhook schema and plumbing to emit it. Adds New-CIPPStandardizedWebhookSchema to normalize legacy payloads. Send-CIPPAlert gains SchemaSource, InvokingCommand and UseStandardizedSchema handling, builds/serializes standardized payloads and adapts Teams/Discord/Slack sends accordingly; also hardens extension config parsing. Notification config endpoints (Invoke-ExecNotificationConfig, Set-CIPPNotificationConfig, Invoke-ListNotificationConfig) now expose/handle UseStandardizedSchema. Callers (scheduler notifications, scheduled task alerts, webhook processing, offboarding) are updated to send titles, schema source, invoking command and the standardized flag where appropriate.
Use OMA-URI decryption to compare existing policy Fix issue with detecting if policy is deployed
- Added `detectionScript` parameter to `Add-CIPPW32ScriptApplication` function, allowing for PowerShell detection scripts that take priority over file detection. - Updated detection rules to prioritize detection scripts, followed by file detection and marker file fallback. - Modified `Push-UploadApplication` to include `detectionScript` in application properties. - Updated `Invoke-AddWin32ScriptApp` to handle `detectionScript` when creating Win32 applications. - Refactored `Invoke-CIPPStandardDeployCheckChromeExtension` to implement Win32 script app deployment for Chrome and Edge extensions, replacing legacy OMA-URI policies. - Introduced install, uninstall, and detection scripts for managing Chrome and Edge extension settings via registry keys. - Enhanced logging and alerting mechanisms for deployment status and errors.
Introduce new Out of Office (OOO) calendar options, including the ability to block calendar events, decline invitations, and cancel meetings. Enhance the Set-MailboxAutoReplyConfiguration command with parameters for managing OOO events, ensuring backward compatibility for existing functionality. Frontend PR: KelvinTegelaar/CIPP#5623
Expand mailbox properties cached by Set-CIPPDBCacheMailboxes to include litigation hold, retention, and compliance-related attributes. The Get-Mailbox select list and Select-Object output were updated to include PersistedCapabilities, LitigationHoldEnabled/Date/Duration, a computed LicensedForLitigationHold (from PersistedCapabilities), ComplianceTagHoldApplied, RetentionHoldEnabled, InPlaceHolds, and RetentionPolicy Fixes issues where you were no longer able to set these actions due to missing values: Enable Auto-Expanding Archive Set Litigation Hold Enable Online Archive
Propagate TenantFilter from HTTP entrypoint into test alerts and include it when sending alerts. Add webhook authentication support (bearer, basic, apikey, custom headers) in Send-CIPPAlert, including secret retrieval from Key Vault or a DevSecrets table and parsing custom header JSON. Refactor webhook request building to use a unified RestMethod/RequestHeaders hashtable and include CFZTNA headers into RequestHeaders. Extend Set-CIPPNotificationConfig to accept webhook auth fields, persist secrets to Key Vault/DevSecrets and mark stored secrets as 'SentToKeyVault'. Update Invoke-ListNotificationConfig to exclude the new webhook auth fields from logsToInclude.
Introduce three new PowerShell functions to support removing extension API keys and Key Vault secrets: - Invoke-ExecExtensionClearHIBPKey: HTTP entrypoint that clears the HIBP API key by calling Remove-ExtensionAPIKey and returns an HTTP response. - Remove-CippKeyVaultSecret: Lightweight REST-based Key Vault secret deletion (no Az.KeyVault dependency). Derives vault name from WEBSITE_DEPLOYMENT_ID when not provided, obtains an AAD token via Get-CIPPAzIdentityToken, calls the Vault REST API, and returns deletion metadata; handles 404 not found and reports errors. - Remove-ExtensionAPIKey: Removes extension API keys from a DevSecrets table when running with local Azurite/dev storage, or deletes the secret from Key Vault in production; clears the corresponding env variable and logs outcomes. Adds error handling, informative logging, and safe behavior for local development vs production Key Vault usage. UI: KelvinTegelaar/CIPP#5703
Expand mailbox properties cached by Set-CIPPDBCacheMailboxes to include litigation hold, retention, and compliance-related attributes. The Get-Mailbox select list and Select-Object output were updated to include PersistedCapabilities, LitigationHoldEnabled/Date/Duration, a computed LicensedForLitigationHold (from PersistedCapabilities), ComplianceTagHoldApplied, RetentionHoldEnabled, InPlaceHolds, and RetentionPolicy Fixes issues where you were no longer able to set these actions due to missing values: Enable Auto-Expanding Archive Set Litigation Hold Enable Online Archive
- Resolves KelvinTegelaar/CIPP#5678 - Sanitize `mailNickname` for security group creation - Add input validation for `username` and `groupType` in group template creation
…ods (#1957) This pull request introduces significant enhancements to the alerting and notification system, focusing on improved webhook support, standardized payload schemas, and expanded configuration options for webhook authentication. The changes aim to make webhook integrations more flexible, secure, and easier to consume for downstream systems. **Key improvements include:** - Introduction of a standardized webhook payload schema for consistent alert delivery. - Expanded support for various webhook authentication methods, including secrets retrieval from Azure Key Vault. - Additional configuration options for notification settings, including schema usage and custom headers. - Updates to alert-sending logic to leverage new schema and authentication features. ### Standardized Webhook Schema Support * Added the `New-CIPPStandardizedWebhookSchema` function to generate a stable, versioned JSON schema for webhook alerts, ensuring consistent payloads for consumers. * Updated `Send-CIPPAlert` to support a `-UseStandardizedSchema` switch, generating and sending standardized payloads for webhooks when enabled. [[1]](diffhunk://#diff-bc6e0d2ff2ecb8a1c2e819169a3d3b7663f3e49f6616171e8311c22aa34bf442R13-R18) [[2]](diffhunk://#diff-bc6e0d2ff2ecb8a1c2e819169a3d3b7663f3e49f6616171e8311c22aa34bf442R107-R269) ### Webhook Authentication Enhancements * Extended notification configuration to support multiple webhook authentication types (Bearer, Basic, API Key, custom headers), with support for retrieving secrets from Azure Key Vault or development storage. [[1]](diffhunk://#diff-0d2db73f927d93615add2647cdb47bc8695f6092c2275c24787682a08cf44e98R14-R24) [[2]](diffhunk://#diff-bc6e0d2ff2ecb8a1c2e819169a3d3b7663f3e49f6616171e8311c22aa34bf442R107-R269) * Modified `Send-CIPPAlert` to dynamically build request headers based on the configured authentication method, including error handling for malformed custom headers. ### Notification Configuration and Delivery Updates * Added new configuration fields (`UseStandardizedSchema`, webhook auth fields) to notification config objects and ensured they are handled in config listing and setting functions. [[1]](diffhunk://#diff-0d2db73f927d93615add2647cdb47bc8695f6092c2275c24787682a08cf44e98R14-R24) [[2]](diffhunk://#diff-5935bf8134715b7da8a6a01b1d732fa97a02f2b90865ce30d1cd73aefafcd3ceL19-R19) * Updated alert-sending logic in various entrypoints to pass new parameters (e.g., `TenantFilter`, `Title`, `SchemaSource`, `InvokingCommand`, `UseStandardizedSchema`) to `Send-CIPPAlert`. [[1]](diffhunk://#diff-1bfade26dc62263ceeb71b029d7b9bdced397b24046eb5b6ad5557b7a8bf982dL110-R110) [[2]](diffhunk://#diff-c2f9cd031938c1979288bc280c20aa02b3a28573f2d9d7b01621b79b1ba5a26fL112-R113) [[3]](diffhunk://#diff-c2f9cd031938c1979288bc280c20aa02b3a28573f2d9d7b01621b79b1ba5a26fL121-R123) [[4]](diffhunk://#diff-e483db11e7556354f2f1266e4e13d3d5606539b589b5eb8719b077db21810ec2L11-R22) [[5]](diffhunk://#diff-e483db11e7556354f2f1266e4e13d3d5606539b589b5eb8719b077db21810ec2R35) [[6]](diffhunk://#diff-e483db11e7556354f2f1266e4e13d3d5606539b589b5eb8719b077db21810ec2R44) ### Webhook Platform Compatibility * Enhanced webhook delivery logic in `Send-CIPPAlert` to send either standardized or legacy payloads, with platform-specific formatting for Teams, Discord, and Slack webhooks. [[1]](diffhunk://#diff-bc6e0d2ff2ecb8a1c2e819169a3d3b7663f3e49f6616171e8311c22aa34bf442R107-R269) [[2]](diffhunk://#diff-bc6e0d2ff2ecb8a1c2e819169a3d3b7663f3e49f6616171e8311c22aa34bf442L142-R283) These changes collectively improve the robustness, interoperability, and security of the alerting system, making it easier to integrate with a wide range of webhook consumers and authentication scenarios.Introduce an opt-in, versioned webhook schema and plumbing to emit it. Adds New-CIPPStandardizedWebhookSchema to normalize legacy payloads. Send-CIPPAlert gains SchemaSource, InvokingCommand and UseStandardizedSchema handling, builds/serializes standardized payloads and adapts Teams/Discord/Slack sends accordingly; also hardens extension config parsing. Notification config endpoints (Invoke-ExecNotificationConfig, Set-CIPPNotificationConfig, Invoke-ListNotificationConfig) now expose/handle UseStandardizedSchema. Callers (scheduler notifications, scheduled task alerts, webhook processing, offboarding) are updated to send titles, schema source, invoking command and the standardized flag where appropriate. Resolves: KelvinTegelaar/CIPP#3884 UI: KelvinTegelaar/CIPP#5705
…me (#1955) This change hardens CIPP API client setup against transient Entra/Graph replication timing issues. During app registration creation, Graph can briefly fail service principal creation with “resource does not exist or queried reference-property objects are not present” even though the app was just created.
Signed-off-by: KelvinTegelaar <49186168+KelvinTegelaar@users.noreply.github.com>
…ble licenses (#1941) - Implements KelvinTegelaar/CIPP#5595 - Fetch group memberships via Graph API when creating a template with `sourceUserId` and store them in the template - Filter out licenses with no available units before assignment, log skipped licenses
…e to handle other object types
…e-AddScheduledItem
- Implement Set-CIPPDefenderASRPolicy to manage Attack Surface Reduction settings. - Implement Set-CIPPDefenderAVPolicy for configuring Antivirus policy settings. - Implement Set-CIPPDefenderCompliancePolicy to manage compliance settings for devices. - Implement Set-CIPPDefenderEDRPolicy for configuring Endpoint Detection and Response settings. - Implement Set-CIPPDefenderExclusionPolicy to manage exclusions for Antivirus.
if batches are provided, store in table with unique guid partition key and replace .Batch property with .QueueFunction to retrieve from batch
Add an InvokingCommand = 'Invoke-ExecAddAlert' property to the webhook CIPPAlert so downstream consumers can identify the originating command. Also normalize alignment/spacing of hashtable keys for consistency in the Invoke-ExecAddAlert.ps1 entrypoint; no other functional changes were made.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.3)
Can you help keep this open source service alive? 💖 Please sponsor : )