Repository navigation
Conversation
Synced from CyberDrain/CIPP@d192358
Synced from CyberDrain/CIPP@49bf5e4
- an unfinished self-service password reset counts as a failed try, not activity - a failed interactive sign-in that got past the password (MFA or Conditional Access stopped it) scores against an address with no successful sign-in - investigators can mark an address Suspicious in the IP review Synced from CyberDrain/CIPP@c678acf
Synced from CyberDrain/CIPP@65c0ba9
- read the user's scheduled travel policies (countries and dates) into the case - a sign-in or action from a trip country during the trip is not foreign or a new country - the rest of the address evidence is still judged Synced from CyberDrain/CIPP@637dcf7
…date-20260929 chore(docs): refresh published docs page snapshot (2026-09-29) Synced from CyberDrain/CIPP@63c1abd
Test for transient error codes and do not raise an alert if one is found Synced from CyberDrain/CIPP@b522aad
…tes as Error Standards that write on every run (checkBeforeRun: false) raised a Remediated alert on every scheduled cycle even when nothing changed. The alert now fires only on the transition out of a non-compliant state, matching how Drift alerts already behave. A remediation write that threw left the row at its graded Drift status, so the alignment page showed Drift with an empty diff and expected equal to current. The row now persists as Error, a pending Denied status survives the failure, and the failure log carries the exception detail so a 403 response body is no longer lost. The alignment page gets an error colour for that status and offers no Accept/Deny action on it. Synced from CyberDrain/CIPP@f986260
…'s tenants - Get-CIPPDbItem reads only a restricted caller's tenant partitions for allTenants; -ByTenant groups rows per managed tenant - Report helpers hand each tenant its rows instead of reading every row to find tenants and re-reading each tenant - Move the inactive users helper into Get-CIPPInactiveUsersReport - Add module-boundary tests for the request tenant scope Synced from CyberDrain/CIPP@1c1ffd7
The plan-loss helper built its empty target set inline in an if expression, which PowerShell enumerates to nothing, so a "Remove license" row hit a null set and the whole report returned 500. The set is now assigned before the branch. The downgrade call site also passed the user's disabled plans as enumerated strings instead of the set, so only the first disabled plan was honoured. Synced from CyberDrain/CIPP@2fea942
- index licensed users by SKU and look up plan names once instead of scanning per license and plan - project wide cache types and compliance statuses to the fields the sync reads - build CVE rows from directly read device names in bulk and write the CSV as UTF-8 - serialise the cached device with CippJson.ToJson and format compliance dates without Get-Date - stop writing the unread user scratch tables - CippJson: match ConvertFrom-Json date parsing, write AutomationNull as null, add ReadStringField Synced from CyberDrain/CIPP@8126ff9
Synced from CyberDrain/CIPP@0e93b15
Synced from CyberDrain/CIPP@81d0bd1
- Look up services by name from one catalogue read instead of fetching it for every licence of every tenant - Look up SKU display names from a hashtable instead of scanning the conversion table per licence - Skip the sync when the catalogue cannot be read rather than creating duplicate services Synced from CyberDrain/CIPP@5b968d1
- NinjaOne: check the token once before queuing the daily, catch-up or on-demand per-tenant sync, and queue nothing if it fails - Hudu: check api_info at the start of each tenant sync and stop with the Hudu error instead of failing every call - Hudu integration test: treat the 0.0.0.0 fallback version as a failed connection and show the error Synced from CyberDrain/CIPP@24d0837
- One sequential orchestration per investigation: a Push-BECRun job per phase, run in order on one worker, each within its own timeout - Phases hand data forward through the BecRunState table; a failed phase is flagged on the case and the later phases still run - Containment can run while an investigation is in progress and is recorded on that case - Users list keeps one bulk-capable BEC Remediation action Synced from CyberDrain/CIPP@9932a74
Get-CIPPBaseline built a stage's standards via member access on the delta rows, which yields a lone null when the stage is empty. The editor then crashed on reopening the baseline. The list is now enumerated explicitly so an empty stage is an empty array. Synced from CyberDrain/CIPP@b501d55
Short names like [List[string]] only resolve where `using namespace` is in effect, which the compiled modules do not guarantee, so they fail at runtime on the path that hits them. Fix the last one and add a static test that fails on any short generic type name in CIPP-owned modules. Synced from CyberDrain/CIPP@8158983
- mailbox permission, calendar and rules stores skip the write when a batch returned no result - calendar folder cache leaves out UPNs that are not valid table keys Synced from CyberDrain/CIPP@927288a
Synced from CyberDrain/CIPP@73daa90
…nges Detect secrets, certificates, permission grants, owner adds, and directory role membership when initiated by an application or a user, with KeyDescription diffing so credential alerts only fire on newly added Verify keys. Synced from CyberDrain/CIPP@c17c9d3
Keep backend and frontend copies in sync. Backend VendorTenantList.json is additive for upcoming consumers; existing offboarding still uses the frontend list. Synced from CyberDrain/CIPP@9f5f17e
…t log - PIM assignments, activations and removals are logged as plain role operations by MS-PIM; role setting changes are not logged Synced from CyberDrain/CIPP@4f74579
Synced from CyberDrain/CIPP@541527c
… of scanning the table Synced from CyberDrain/CIPP@eaa5831
…date-20261018 Synced from CyberDrain/CIPP@4044d1a
Write-LogMessage calls in New-CIPPRestoreTask previously included the plaintext temporary password, duplicated from the task results. Also fixes a missing -tenant parameter on one of the log calls. Synced from CyberDrain/CIPP@b12e800
Normalise and validate the ClientId as a GUID before the lookup, rejecting invalid values with a 400. Adds tests covering case-insensitive matching and invalid ClientId rejection. Synced from CyberDrain/CIPP@43fd56a
Synced from CyberDrain/CIPP@ec1e7ec
- Tests run detects tenants with data from each tenant's Users count row instead of scanning every count row - Stats timer reads only the count types it reports, one key per tenant per type Synced from CyberDrain/CIPP@41de836
- ApplyTZOffset on in every appsettings, jitter shorter than each timer's slot gap, no jitter on timers that must fire when due - Dependent timers keep their order on every site, and the update check stays inside its window Synced from CyberDrain/CIPP@1f60f29
…Sites filter - select isPersonalSite in the OneDrive root permissions and long paths site lists so the filter returns sites - read the SharePoint admin site list in 5,000-row pages with only the fields used - request only the read fields from getAllSites, the channel site lookup and the library lookup - leave AutoMapUrl empty for sites without a document library Synced from CyberDrain/CIPP@2540233
Synced from CyberDrain/CIPP@8823b10
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.2)
Can you help keep this open source service alive? 💖 Please sponsor : )