File-level archive is now in public preview as of March 30, 2026. If you're not yet familiar with what it is or how the billing model works, start with the first two posts in this series:
This post covers the admin side: how to enable file-level archive in your tenant, how to control it at the site level, and what to communicate to end users before you roll it out. All PowerShell commands reflect the public preview release.
Before you can enable file-level archive, three things must be in place:
| Requirement | Details |
|---|---|
| 1. Microsoft 365 Archive enabled | M365 Archive must be turned on in your tenant via the SharePoint admin center. This is the master toggle for all archive capabilities (site and file). |
| 2. Pay-as-you-go billing configured | Archive is a consumption-based service — no license to purchase, but you must set up an Azure billing subscription. See Microsoft's setup guide. |
| 3. SharePoint Online PowerShell v16.0.26914.12004+ | The file-level archive cmdlet flags require this version or later. Run Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable to check. |
As Trent Green explained on the Sync Up podcast: "Archive is one of the pay-as-you-go services, which means it's completely consumption-based. There are no license requirements. An admin has to opt in to turning on archive and has to set up a pay-as-you-go billing subscription."
Billing won't start immediately. Although you need to enable M365 Archive billing, you will not be billed for file-archive usage until public preview begins on March 30, 2026. You can enable and test safely before charges begin.
During public preview, file-level archive must be explicitly enabled via PowerShell. (At GA, it will be on by default when M365 Archive is enabled.)
This is the master switch. When set to $True, file-level archive is available across your tenant (subject to site-level settings). When set to $False, no new files can be archived by any user on any site, but existing archived files can still be reactivated.
By default, all sites have file-level archive enabled once the tenant setting is on. To restrict archival to specific sites, disable it on a per-site basis:
When -AllowFileArchive is $False on a site, the Archive action is not available to end users on that site. Existing archived files can still be reactivated.
Control whether newly created sites will have file-level archive enabled by default:
This setting is copied to each new site at creation time. It does not retroactively change existing sites.
| Control | Cmdlet | Scope | Default |
|---|---|---|---|
| Tenant-level enablement | Set-SPOTenant -AllowFileArchive |
Entire tenant (overrides site-level if $False) | $True |
| Site-level enablement | Set-SPOSite -AllowFileArchive |
Individual site | $True |
| Default for new sites | Set-SPOTenant -AllowFileArchiveOnNewSitesByDefault |
Future sites only | $True |
Think of it as a hierarchy: the tenant switch must be on for any site-level switch to matter. If the tenant switch is off, no sites can archive regardless of their individual settings.
Once files are being archived, admins can see how much storage is consumed by archived files on a given site:
The ArchivedFileDiskUsed property shows the total bytes consumed by archived files on that site.
For automation and third-party integration, Microsoft provides Graph API endpoints (currently in beta):
| Action | Endpoint | Documentation |
|---|---|---|
| Archive a file | POST /drives/{driveId}/items/{itemId}/archive |
driveItem: archive |
| Reactivate a file | POST /drives/{driveId}/items/{itemId}/unarchive |
driveItem: unarchive |
If your organization participated in the file-level archive private preview, read this carefully.
When transitioning from private preview to public preview, the value of the file-level archive setting for individual sites is inverted. This means:
Fix with:
Also note: between the private preview ending and public preview beginning, the archive functionality will be temporarily unavailable for new archival operations. Existing archived files remain archived and can be reactivated.
Trent Green's advice to admins preparing for deployment:
"Figuring out your company policies of what files you want to archive — whether it be based on file type or just last access state — whether you have any restrictions on which sites you want to apply these policies to... and then more tactically speaking, preparing your end users. We're going to be launching a lot more documentation about file archive in the coming months, and having your end users have a distilled version of that that applies to your company will really make sure that this doesn't come as a surprise to them when you do deploy policy."
Key points to communicate to end users:
The public preview gives you the platform capability. But "select files, click Archive, repeat for every site" doesn't scale when you're managing hundreds or thousands of workspaces with terabytes of inactive content.
Orchestry participated in Microsoft's file-level archive private preview and is building the admin-driven, rule-based archival workflow that native tooling won't deliver until later this year:
Orchestry uses the same Graph API endpoints as any first-party solution: content stays in Microsoft 365 Archive cold storage, within your compliance boundary, with all metadata and permissions preserved.
Native admin-driven policies are targeting fall 2026. Orchestry is building toward that capability today.
| Purpose | Command |
|---|---|
| Enable file archive for tenant | Set-SPOTenant -AllowFileArchive $True |
| Disable file archive for tenant | Set-SPOTenant -AllowFileArchive $False |
| Enable file archive for a site | Set-SPOSite -Identity <url> -AllowFileArchive $True |
| Disable file archive for a site | Set-SPOSite -Identity <url> -AllowFileArchive $False |
| Set default for new sites (on) | Set-SPOTenant -AllowFileArchiveOnNewSitesByDefault $True |
| Set default for new sites (off) | Set-SPOTenant -AllowFileArchiveOnNewSitesByDefault $False |
| Check archived storage per site | Get-SPOSite -Identity <url> | Select Url, ArchivedFileDiskUsed |
| Fix bit-flip (re-enable a site) | Set-SPOSite -Identity <url> -EnableFileArchive $True |
You need version 16.0.26914.12004 or later to use the file-level archive cmdlet flags. Run Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable to check your current version. Update via PowerShell Gallery if needed.
Although you must enable M365 Archive billing, charges are consumption-based and only apply when your total storage (active + archived) exceeds your tenant's included quota. If you're under quota, enabling and testing file-level archive won't cost anything.
Yes. Use Set-SPOSite -Identity <url> -AllowFileArchive $False to disable specific sites. The tenant-level switch must be on for any site-level setting to take effect. You can also control whether new sites get file archive enabled by default using Set-SPOTenant -AllowFileArchiveOnNewSitesByDefault.
No new files can be archived on any site, regardless of site-level settings. Existing archived files remain archived and can still be reactivated. The tenant-level setting overrides all site-level settings when set to $False.
Yes. Microsoft provides beta endpoints: POST /drives/{driveId}/items/{itemId}/archive and POST /drives/{driveId}/items/{itemId}/unarchive. See the archive and unarchive documentation. CSOM is also available.
Users with Edit / Contribute permissions can archive files. Users with Read permissions can reactivate files. These permission levels are not configurable. Reactivation is intentionally low-friction so end users can recover content without admin intervention. For full details, see Microsoft 365 file-level archive: What it is, how it works, and what IT admins need to know.
Use PowerShell: Get-SPOSite -Identity <url> | Select-Object Url, ArchivedFileDiskUsed. The ArchivedFileDiskUsed property shows total bytes consumed by archived files on that site. Tenant-level reporting is planned for GA.
Yes. The file-level archive setting for individual sites was inverted between private preview and public preview. Sites that were enabled are now disabled, and vice versa. Fix with Set-SPOSite -Identity <url> -EnableFileArchive $True (or $False). Also note a temporary gap between private preview ending and public preview beginning where new archival is unavailable.
Microsoft is targeting fall 2026 for admin-driven policies (e.g., "archive all files inactive for 2+ years"). Until then, archival is manual in native tooling. Orchestry is building rule-based, bulk file archival using the same Microsoft Graph API.
Key messages: (1) archived files are not deleted — they remain visible with an archive icon, (2) reactivation is free and easy — instant within 7 days, up to 24 hours after that, (3) this is a storage optimization, not content removal, and (4) archived content will not appear in Copilot responses.
Yes. Microsoft applies standard throttling to archive and unarchive API calls. Preview participants have reported rate limit errors when processing files faster than approximately 6 files per 0.02 seconds. Production automation should include retry logic and respect 429/throttling responses.
Yes, file-level archive works on Teams-connected SharePoint sites. Note that archiving a Teams-connected site (site-level archive) does not archive the Team itself; these are independent operations. File-level archive within an active Teams site works normally.
Sources: Microsoft Learn: Manage Microsoft 365 Archive | Microsoft Learn: FAQ | OneDrive Sync Up Ep. 22: File Archive with Trent Green | Graph API: driveItem:archive (beta)