Skip to content

[pull] master from KelvinTegelaar:master#9

Open
pull[bot] wants to merge 404 commits intoInterWorks-Public:masterfrom
KelvinTegelaar:master
Open

[pull] master from KelvinTegelaar:master#9
pull[bot] wants to merge 404 commits intoInterWorks-Public:masterfrom
KelvinTegelaar:master

Conversation

@pull
Copy link

@pull pull bot commented Jan 16, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

KelvinTegelaar and others added 30 commits January 12, 2026 14:38
Updated multiple Invoke-CIPPStandard* scripts to include CurrentValue and ExpectedValue objects when calling Set-CIPPStandardsCompareField. This enhances standards reporting by providing more detailed information about the current and expected configuration states for each standard.
Introduces new PowerShell functions for managing JIT Admin templates: add, edit, list, and remove operations. Adds support for JIT Admin settings, including a configurable maximum duration, and enforces this limit in JIT Admin execution. Enhances template uniqueness checks, default template handling, and audit logging.
Add JIT Admin template management and settings
Updated multiple standards scripts to use 'CurrentValue' and 'ExpectedValue' objects in Set-CIPPStandardsCompareField for improved reporting consistency. Also fixed minor formatting, error handling, and parameter validation issues across several scripts.
- Improve error handling for scheduled user creation.
- Ensure detailed error messages are thrown for user creation failures.
Eliminated an unnecessary Write-LogMessage call when retrieving a specific template by TemplateId to reduce log verbosity.
Refactored the function to use Microsoft Graph bulk requests for retrieving app registrations and service principals, reducing redundant API calls and improving performance. Enhanced permission extraction logic to handle cases where app registration is inaccessible by building permissions from service principal grants and assignments. Improved translation of permission IDs to claim values using bulk-fetched service principal details.
Added logic to convert non-string $CurrentValue and $ExpectedValue to compressed JSON strings in Set-CIPPStandardsCompareField. This ensures consistent handling of complex objects during comparison.
Streamlines retrieval and processing of Exchange Connector templates by fetching all relevant templates at once and using them for remediation, alerting, and reporting. Improves efficiency and consistency in connector management, and enhances reporting and alerting logic for template deployment status.
Updated all Write-LogMessage invocations to use the $Headers variable instead of $User for logging API actions in New-CIPPCAPolicy.ps1. This change ensures consistent use of the correct headers parameter throughout the script.
Replaces all instances of $Item.templateId with $Item.TemplateId for consistency and to match property naming conventions throughout Push-CIPPStandard.ps1.
Refactored multiple standards modules to use a consistent reporting format with CurrentValue and ExpectedValue objects in Set-CIPPStandardsCompareField. This improves clarity and uniformity in reporting compliance states across all standards.
Refactored group assignment logic in Invoke-AddMSPApp.ps1 and Invoke-AddOfficeApp.ps1 to support custom group assignments. Enhanced Set-CIPPAssignedApplication.ps1 to fetch group IDs with additional query parameters and fixed variable usage in group matching.
Corrects the assignment of the $assignTo variable to use the value of CustomGroup when AssignTo is 'customGroup'. Also updates function definition to use lowercase 'function' for consistency.
Added validation to ensure tenantFilter is present in the request body when creating a user. Returns a BadRequest response if tenantFilter is missing to prevent incomplete user creation.
Fix: Update return message for license assignment
Fix: Enhance error handling for user creation tasks
Refactored the filtering logic for the CountsOnly path to support combined TenantFilter and Type conditions. Now uses a list to build filter expressions and selects only relevant properties for results.
Introduces a new function to generate mailbox permission reports from the CIPP Reporting database. Supports grouping results by mailbox or by user, and includes error handling and logging.
Replaces individual requests with Microsoft Graph bulk requests for fetching Intune policy types, assignments, and device statuses. Improves performance and efficiency by batching requests, adds support for expanded assignment and device status retrieval, and enhances error handling and logging. Includes device statuses as well.
KelvinTegelaar and others added 30 commits January 30, 2026 11:16
Only run DB update if change was made
Fix: Enable and disable inboxrule not working
Improve audit log download and search orchestration and refactor GUID/user resolution for performance and reliability. Push-AuditLogTenantDownload: sort searches by start time, early-return when none ready, mark status updates and avoid returning unused download objects. Start-AuditLogSearchCreation: fix minor logging typo. Test-CIPPAuditLogRules: large refactor to precompile regexes, build O(1) hashtable lookups for users/groups/devices/service principals/partner users, validate and migrate cached lookup format (support legacy arrays and new hashtable JSON), cache hashtables to storage, and update Add-CIPPGuidMappings to use lookups—reducing O(n) scans and improving resiliency when cache is corrupted. Overall changes target performance, clearer logging, and safer cache handling.
Replace repeated Where-Object scans with an accountEnabled user hashtable for O(1) lookups and iterate registration details directly to improve performance. Switch .Length to .Count where appropriate. Add a display limit (500) and truncate/summarize long user lists, showing phishable users first and then phish-resistant users up to the limit, with messages indicating omitted users. Add comments and minor formatting improvements to the generated markdown report.
Add the [AllowNull()] attribute to the InputObject parameter in Add-CIPPDbItem.ps1 so the function accepts $null values (from pipeline or explicit) in addition to existing [AllowEmptyCollection()]. This improves robustness when callers pass null input.
Remove SchedulerRateLimits.json and all rate-limit lookup logic from Start-UserTasksOrchestrator.ps1. Change batching strategy from command-based rate-limited groups to tenant-based groups so tasks are batched and queued per tenant. Performance and correctness improvements: cache Get-Command result to avoid repeated reflection calls, precompute whether a command supports TenantFilter, and clone TaskInfo objects to prevent shared reference mutation. Queue entries and orchestrator names are now tenant-scoped.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants