Public mode

No tenant, Graph, or device access. Every item links to its source. What this means

Some sources or documents need attention: 253/255 feeds/APIs · 0/410 docs · checked 21:27 UTC Customize Public modeDiscuss ChangeIntel on Discord

Microsoft 365 Apps Group Policy settings

2,420 settings · 5568.1000 · 10 Aug 2026

Back to the list

Microsoft PowerPoint 2016 › PowerPoint Options › Save

Save AutoRecover info

UserNeeds changes for IntuneL_SaveAutoRecoverinfo

Supported on SUPPORTED_Windows7 (defined in the Windows templates)

What it does

Checked: Checks the option ''Save AutoRecover info''. | Unchecked: Unchecks the option ''Save AutoRecover info''.

What it writes

Hive
HKEY_CURRENT_USER
Registry key
software\policies\microsoft\office\16.0\powerpoint\options
Why it needs changes for Intune
  • Policy references a Windows supportedOn definition.
  • ADMX-INTUNE-WINDOWS-SUPPORTEDON-REFERENCE

Options

OptionTypeRegistry valueAllowed values
Enable save AutoRecover info Checkbox saveautorecoveryinfo On (1) or off (0)
AutoRecover save frequency (minutes)Default: 10 Number frequencytosaveautorecoveryinfo 1 to 9999
AutoRecover save locationDefault: %USERPROFILE%\Application Data\Microsoft\PowerPoint Text pathtoautorecoveryinfo Up to 255 characters

Configure and deploy

Choose a state and the option values; the output below is generated from the template for exactly that.

State
Options used when Enabled

Enabled · User · template defaults

Registry file (.reg)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options]
"frequencytosaveautorecoveryinfo"=dword:0000000A
"pathtoautorecoveryinfo"=hex(2):25,00,55,00,53,00,45,00,52,00,50,00,52,00,4f,00,46,00,49,00,\
  ,4c,00,45,00,25,00,5c,00,41,00,70,00,70,00,6c,00,69,00,63,00,\
  ,61,00,74,00,69,00,6f,00,6e,00,20,00,44,00,61,00,74,00,61,00,\
  ,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,\
  ,5c,00,50,00,6f,00,77,00,65,00,72,00,50,00,6f,00,69,00,6e,00,\
  ,74,00,00,00
"saveautorecoveryinfo"=dword:00000001


PowerShell

$ErrorActionPreference = 'Stop'

function Set-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $PropertyType,
        [Parameter(Mandatory = $true)][object] $Value
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        New-Item -Path $Path -Force | Out-Null
    }

    New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}

function Remove-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (Test-Path -LiteralPath $Path) {
        Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
    }
}

function Clear-RegistryKeyValues {
    param(
        [Parameter(Mandatory = $true)][string] $Path
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return
    }

    foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
        Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
    }
}

# Policy: Save AutoRecover info
# Name: L_SaveAutoRecoverinfo
# Scope: User
# State: Enabled
# Source: ppt16.admx

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'saveautorecoveryinfo' -PropertyType 'DWord' -Value 1

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'frequencytosaveautorecoveryinfo' -PropertyType 'DWord' -Value 10

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'pathtoautorecoveryinfo' -PropertyType 'ExpandString' -Value '%USERPROFILE%\Application Data\Microsoft\PowerPoint'
  • The OMA-URI is an inferred ADMX-backed Policy CSP candidate derived from the source ADMX file name and policy name.
  • Some Microsoft policies use built-in Policy CSP pages whose area names don't match the ADMX file name, so verify the candidate against Microsoft Learn before deployment.
  • The generated payload is incomplete because one or more ADMX element values were not supplied: L_EnablesaveAutoRecoverinfo

ADMX profile candidate (OMA-URI)

./User/Vendor/MSFT/Policy/Config/ADMX_ppt16/L_SaveAutoRecoverinfo
Intune remediation scripts

Detection

$ErrorActionPreference = 'Stop'
$reasons = [System.Collections.Generic.List[string]]::new()

function Test-RegistryValueExists {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return $false
    }

    return $null -ne (Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue)
}

function Test-RegistryValueEquals {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $Kind,
        [Parameter(Mandatory = $true)][object] $Expected
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return $false
    }

    $valueObject = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction SilentlyContinue
    if ($null -eq $valueObject) {
        return $false
    }

    $actual = $valueObject.$Name
    switch ($Kind) {
        'String' { return [string]$actual -ceq [string]$Expected }
        'ExpandString' { return [string]$actual -ceq [string]$Expected }
        'DWord' { return [uint32]$actual -eq [uint32]$Expected }
        'QWord' { return [uint64]$actual -eq [uint64]$Expected }
        'MultiString' {
            $actualArray = @($actual)
            $expectedArray = @($Expected)
            if ($actualArray.Count -ne $expectedArray.Count) { return $false }
            for ($index = 0; $index -lt $actualArray.Count; $index++) {
                if ([string]$actualArray[$index] -cne [string]$expectedArray[$index]) { return $false }
            }
            return $true
        }
        'Binary' {
            $actualArray = [byte[]]$actual
            $expectedArray = [byte[]]$Expected
            if ($actualArray.Length -ne $expectedArray.Length) { return $false }
            for ($index = 0; $index -lt $actualArray.Length; $index++) {
                if ($actualArray[$index] -ne $expectedArray[$index]) { return $false }
            }
            return $true
        }
        default { return [string]$actual -ceq [string]$Expected }
    }
}

# Policy: Save AutoRecover info
# Name: L_SaveAutoRecoverinfo
# Scope: User
# State: Enabled
# Source: ppt16.admx

$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'saveautorecoveryinfo' -Kind 'DWord' -Expected 1
if (-not $isMatch) {
    $reasons.Add('Value mismatch: HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options\saveautorecoveryinfo') | Out-Null
}

$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'frequencytosaveautorecoveryinfo' -Kind 'DWord' -Expected 10
if (-not $isMatch) {
    $reasons.Add('Value mismatch: HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options\frequencytosaveautorecoveryinfo') | Out-Null
}

$isMatch = Test-RegistryValueEquals -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'pathtoautorecoveryinfo' -Kind 'ExpandString' -Expected '%USERPROFILE%\Application Data\Microsoft\PowerPoint'
if (-not $isMatch) {
    $reasons.Add('Value mismatch: HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options\pathtoautorecoveryinfo') | Out-Null
}

if ($reasons.Count -eq 0) {
    Write-Output 'Compliant'
    exit 0
}

$reasons | ForEach-Object { Write-Output $_ }
exit 1

Remediation

$ErrorActionPreference = 'Stop'

function Set-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name,
        [Parameter(Mandatory = $true)][string] $PropertyType,
        [Parameter(Mandatory = $true)][object] $Value
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        New-Item -Path $Path -Force | Out-Null
    }

    New-ItemProperty -LiteralPath $Path -Name $Name -PropertyType $PropertyType -Value $Value -Force | Out-Null
}

function Remove-RegistryValue {
    param(
        [Parameter(Mandatory = $true)][string] $Path,
        [Parameter(Mandatory = $true)][string] $Name
    )

    if (Test-Path -LiteralPath $Path) {
        Remove-ItemProperty -LiteralPath $Path -Name $Name -Force -ErrorAction SilentlyContinue
    }
}

function Clear-RegistryKeyValues {
    param(
        [Parameter(Mandatory = $true)][string] $Path
    )

    if (-not (Test-Path -LiteralPath $Path)) {
        return
    }

    foreach ($propertyName in (Get-Item -LiteralPath $Path).Property) {
        Remove-ItemProperty -LiteralPath $Path -Name $propertyName -Force -ErrorAction SilentlyContinue
    }
}

# Policy: Save AutoRecover info
# Name: L_SaveAutoRecoverinfo
# Scope: User
# State: Enabled
# Source: ppt16.admx

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'saveautorecoveryinfo' -PropertyType 'DWord' -Value 1

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'frequencytosaveautorecoveryinfo' -PropertyType 'DWord' -Value 10

Set-RegistryValue -Path 'Registry::HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\powerpoint\options' -Name 'pathtoautorecoveryinfo' -PropertyType 'ExpandString' -Value '%USERPROFILE%\Application Data\Microsoft\PowerPoint'

History 1 retained release

  1. 5568.100010 Aug 2026
    • Already present in the first release ChangeIntel keeps.

Template

Internal name
L_SaveAutoRecoverinfo
Namespace
ppt16.Office.Microsoft.Policies.Windows
Template file
ppt16.admx
Release
Microsoft 365 Apps 5568.1000 · file set 8be05d876aae137d…
Definition, editor controls and support

Definition

<policy class="User" displayName="$(string.L_SaveAutoRecoverinfo)" explainText="$(string.L_CheckedCheckstheoptionSaveAutoRecoverinfoUncheckedUnchecksth)" key="software\policies\microsoft\office\16.0\powerpoint\options" name="L_SaveAutoRecoverinfo" presentation="$(presentation.L_SaveAutoRecoverinfo)" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="ppt16.Office.Microsoft.Policies.Windows:L_Save" />
      <supportedOn ref="Microsoft.Policies.Windows:SUPPORTED_Windows7" />
      <elements>
        <boolean id="L_EnablesaveAutoRecoverinfo" valueName="saveautorecoveryinfo">
          <trueValue>
            <decimal value="1" />
          </trueValue>
          <falseValue>
            <decimal value="0" />
          </falseValue>
        </boolean>
        <decimal id="L_AutoRecoversavefrequencyminutes" maxValue="9999" minValue="1" valueName="frequencytosaveautorecoveryinfo" />
        <text expandable="true" id="L_AutoRecoversavelocation" valueName="pathtoautorecoveryinfo" />
      </elements>
    </policy>

Editor controls

<presentation id="L_SaveAutoRecoverinfo" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
        <checkBox refId="L_EnablesaveAutoRecoverinfo">Enable save AutoRecover info</checkBox>
        <decimalTextBox defaultValue="10" refId="L_AutoRecoversavefrequencyminutes" spinStep="1">AutoRecover save frequency (minutes):</decimalTextBox>
        <textBox refId="L_AutoRecoversavelocation">
          <label>AutoRecover save location</label>
          <defaultValue>%USERPROFILE%\Application Data\Microsoft\PowerPoint</defaultValue>
        </textBox>
      </presentation>

Supported platforms and category

ppt16.Office.Microsoft.Policies.Windows:category:L_MicrosoftOfficePowerPoint
<category displayName="$(string.L_MicrosoftOfficePowerPoint)" name="L_MicrosoftOfficePowerPoint" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
ppt16.Office.Microsoft.Policies.Windows:category:L_PowerPointOptions
<category displayName="$(string.L_PowerPointOptions)" name="L_PowerPointOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="ppt16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficePowerPoint" />
    </category>
ppt16.Office.Microsoft.Policies.Windows:category:L_Save
<category displayName="$(string.L_Save)" name="L_Save" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="ppt16.Office.Microsoft.Policies.Windows:L_PowerPointOptions" />
    </category>
ppt16.Office.Microsoft.Policies.Windows:unresolved:Microsoft.Policies.Windows:SUPPORTED_Windows7
<unresolved reference="Microsoft.Policies.Windows:SUPPORTED_Windows7" />
ppt16.Office.Microsoft.Policies.Windows:category:L_MicrosoftOfficePowerPoint
<category displayName="$(string.L_MicrosoftOfficePowerPoint)" name="L_MicrosoftOfficePowerPoint" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" />
<strings><string id="ppt16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficePowerPoint">Microsoft PowerPoint 2016</string></strings>
ppt16.Office.Microsoft.Policies.Windows:category:L_PowerPointOptions
<category displayName="$(string.L_PowerPointOptions)" name="L_PowerPointOptions" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="ppt16.Office.Microsoft.Policies.Windows:L_MicrosoftOfficePowerPoint" />
    </category>
<strings><string id="ppt16.Office.Microsoft.Policies.Windows:L_PowerPointOptions">PowerPoint Options</string></strings>
ppt16.Office.Microsoft.Policies.Windows:category:L_Save
<category displayName="$(string.L_Save)" name="L_Save" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <parentCategory ref="ppt16.Office.Microsoft.Policies.Windows:L_PowerPointOptions" />
    </category>
<strings><string id="ppt16.Office.Microsoft.Policies.Windows:L_Save">Save</string></strings>
ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 18 Oct 21:27 UTC · 253 of 255 readable · 252 fully read · documentation 0/410 current