KeepitTools
1.6.0
PowerShell module for the Keepit backup platform. Provides cmdlets to connect to the Keepit API; manage connectors, backup jobs, and users; search and bulk-restore deleted Exchange email and OneDrive files with job coalescing by snapshot; and work with audit logs and secure sharing links.
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2026 Keepit. All rights reserved.
Package Details
Author(s)
- Keepit
Tags
Keepit Backup Restore Email Exchange M365 Office365
Functions
Connect-KeepitService Disconnect-KeepitService Get-KeepitConnector Get-KeepitConnectorConfiguration Set-KeepitConnectorConfiguration Get-KeepitSnapshot Get-KeepitJobs Stop-KeepitJob Start-KeepitBackup Search-KeepitSnapshot Convert-KeepitUPNToGuid Convert-KeepitGuidToUPN Submit-KeepitJob Restore-KeepitBulkDeletedItems Restore-KeepitFailedItems Save-KeepitFailedItems New-KeepitConnector Get-KeepitAuditLog Get-KeepitShare New-KeepitShare New-KeepitUser Get-KeepitUser Get-KeepitRoles Remove-KeepitUser Set-KeepitShare Remove-KeepitShare Start-KeepitExpressRestore Get-KeepitItemAttributes Get-KeepitJobHistory
PSEditions
Dependencies
This module has no dependencies.
Release Notes
Version 1.6.0
- Save-KeepitFailedItems: New cmdlet to download the items that failed in a previous restore job as a ZIP, instead of restoring them back into Microsoft 365
- Save-KeepitFailedItems: Reads the skipped-item list from the job log (or a Job Report CSV via -ReportPath), locates each failed file in the backup snapshot, and downloads the backed-up contents
- Save-KeepitFailedItems: Matches failed items to their backup by workload (SharePoint / Teams / OneDrive) and path tail
- Save-KeepitFailedItems: Lays downloaded files out in a folder tree mirroring their original location; non-file failures are reported as skipped
- Save-KeepitFailedItems: Supports -IncludeCause / -ExcludeCause, -OutputPath, -TimeoutSec, and -WhatIf / -Confirm; reads only from the backup and makes no changes to Microsoft 365
Version 1.5.0
- Restore-KeepitFailedItems: New cmdlet to retry the items that failed in a previous restore job; recovers the snapshot and restore settings from the original job and resubmits only the failed items
- Restore-KeepitFailedItems: Reads the failed-item list from the job log, or from a Job Report CSV via -ReportPath
- Restore-KeepitFailedItems: Supports -IncludeCause / -ExcludeCause, -ShowJobs, and -WhatIf / -Confirm; resolves the submitted retry job's real GUID from job history
- Restore-KeepitFailedItems: Retries whole-scope restores that have no per-item paths (e.g. SharePoint site, Salesforce, whole-mailbox) by re-running the job's own restore configuration; declines relocated whole-site restores
- Restore-KeepitBulkDeletedItems: Harden snapshot resolution so a snapshot stamped exactly at an item's timestamp is included
- Get-KeepitJobHistory: Add -FailReason switch to surface the job-level fail_reason as a FailReason property on failed jobs
Version 1.4.5
- Set-KeepitConnectorConfiguration / New-KeepitConnector: Raise the connector config size guard from 64K to the real 1GB backend limit (measured as UTF-8 bytes)
- Add BulkSiteConfig example (Add-KeepitSharePointSites.ps1) to bulk-add SharePoint sites to a connector from a text or CSV file, with single-connector or per-row CSV routing
Version 1.4.4
- EverCovered-Sites.ps1 (example): Add a Protected column exposing the SharePoint protected flag from Search-KeepitSnapshot metadata
- EverCovered-Sites.ps1 (example): Fix the Status column reporting deleted or removed sites as Active; status now derives from each entry's IsDeleted flag
Version 1.4.3
- Get-KeepitUser: Fix 400 Bad Request by changing the /tokens Accept header from v4 to v2 (v4 is documented as incompatible with the /tokens endpoint)
Version 1.4.2
- Fix all remaining PSScriptAnalyzer warnings for a clean PSGallery listing
- Remove unused parameters: JobStatus (Invoke-JobCancellation), UserPrincipalName (Submit-ExpressRestoreJobs), FullConfig (Get-SharePointCoverage, Get-UnifiedGroupsCoverage)
- Add ConnectorName to New-AlreadyQueuedResult output object
- Suppress PSAvoidUsingWriteHost on WhatIf/diagnostic output functions (intentional colored console output)
- Suppress PSReviewUnusedParameter on Get-KeepitSnapshot switches used via ParameterSetName
- Add UTF-8 BOM to Restore.ps1, Snapshots.ps1, and Connectors.ps1
Version 1.4.1
- Fix PSScriptAnalyzer PSGallery warnings across module source files
- Add LicenseUri and ProjectUri to module manifest
- Update copyright year to 2026
Version 1.4.0
- Get-KeepitJobHistory: New cmdlet to retrieve historical job records using the PUT /jobs API
- Get-KeepitJobHistory: Supports -StartTime (required), -EndTime, -Type, -Limit, -FailedOnly, and -Raw parameters
- Get-KeepitJobHistory: Output includes Succeeded, Failed, Status, and Progress properties distinct from Get-KeepitJobs
- Get-KeepitJobHistory: Accepts pipeline input from Get-KeepitConnector
Version 1.3.3
- Get-KeepitItemAttributes: New cmdlet to retrieve metadata attributes (e.g. SharePoint protected flag) from the snapshot content API
- Search-KeepitSnapshot: Improve kng:meta element parsing to extract key/value pairs and boolean flags
- New-KeepitConnector: Fix connector creation to embed required standard attributes in create XML and enable via PUT instead of POST
- New-KeepitConnector: Fix attribute Content-Type from application/octet-stream to text/plain
- New-KeepitConnector: Reinforce attributes via individual PUT calls after enable
- New-KeepitConnector: Refactor standard attributes to single ordered hashtable (eliminates duplicate definition)
- New-KeepitConnector: Replace Invoke-WebRequest enable call with Invoke-RestMethod
- Get-KeepitItemAttributes: Collapse duplicate XML parsing branches; normalise string response to [xml] before dispatch
Version 1.3.2
- Restore-KeepitBulkDeletedItems: Add -SearchTerms parameter for filtering deleted items by sender, recipient, or content before restoring
- Search-KeepitSnapshot: Update Entra ID RootPath validation to use display names instead of old API-style short names
- Move Enable-KeepitConnector and Disable-KeepitConnector to ConnectorState.ps1; excluded from public module per support team request
- Fix security audit findings SEC-1 through SEC-5
Version 1.3.1
- Convert-KeepitUPNToGuid: Fix double-dash GUID bug where dashes were pre-escaped before ConvertTo-MaskedPath, resulting in quadruple dashes and failed searches
Version 1.3.0
- Start-KeepitExpressRestore: New cmdlet for express restore of recent user data by time window (Experimental)
- Start-KeepitExpressRestore: Support Exchange workload with -PrioritizeCalendar and -InboxOnly switches
- Start-KeepitExpressRestore: Accept both PowerShell TimeSpan and ISO 8601 duration strings
- Start-KeepitExpressRestore: Automatic job batching when XML exceeds 60 KB threshold
- Start-KeepitExpressRestore: Pipeline support for multiple users via -UserPrincipalName
- Search-KeepitSnapshot: Add -ReceivedTime and -ReceivedEndTime parameters for source-system date filtering
Version 1.1.0
- New-KeepitUser: New cmdlet to create Keepit user accounts with role assignment and connector access
- New-KeepitUser: Support -Connectors parameter with "all" shorthand or specific connector names/GUIDs
- New-KeepitUser: Support -SendActivationEmail and -NotificationsEnabled switches
- Remove-KeepitUser: New cmdlet to remove Keepit user accounts
- Remove-KeepitUser: Support -WhatIf and -Confirm with ConfirmImpact High
- Get-KeepitUser: New cmdlet to list all user accounts on the platform
- Get-KeepitRoles: New cmdlet to list available roles and their capabilities
- Refactor module from monolithic .psm1 into dot-sourced script files (Private/ and Public/ directories)
Version 1.0.0
- New-KeepitShare: Prepend base URL to relative Location headers so ShareUrl returns a full URL
- New-KeepitShare: Append trailing slash to paths that lack one (directory share)
- Convert-KeepitUPNToGuid: Escape GUIDs with double dashes for Keepit path format
- ConvertTo-MaskedPath: Make dash escaping idempotent so pre-escaped GUIDs are not re-doubled
FileList
- KeepitTools.nuspec
- CHANGELOG
- KeepitTools.psd1
- KeepitTools.psm1
- Private\ConnectionState.ps1
- Private\Helpers.ps1
- Public\AuditLog.ps1
- Public\Connection.ps1
- Public\Connectors.ps1
- Public\Jobs.ps1
- Public\Restore.ps1
- Public\RestoreFailed.ps1
- Public\SaveFailed.ps1
- Public\Sharing.ps1
- Public\Snapshots.ps1
- Public\Users.ps1
- README.md
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.6.0 (current version) | 7 | 7/24/2026 |
| 1.4.4 | 5 | 7/23/2026 |
| 1.4.2 | 27 | 6/30/2026 |