Specify custom tags for Office telemetry data
Verified with Microsoft 365/Office 5568.1000 — updated on September 4, 2026
Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
Path in the GPO console
User Configuration\Administrative Templates\Microsoft Office 2016\Telemetry Dashboard Description
This policy setting allows you to add custom tags to the Office telemetry data that is sent by Office Telemetry Agent. If you enable this policy setting, the specified custom tags are shown in Office Telemetry Dashboard, where you can filter the collected data by the tag name. You can specify any string that you want to categorize and filter the collected data (for example, department name, title of user, and so forth). If you disable or do not configure this policy setting, no custom tags are shown in Office Telemetry Dashboard, and you cannot filter the data that is sent by Office Telemetry Agent.
Registry
software\policies\microsoft\office\16.0\osm Export Builder
BETAConfigure the state, scope and options, then generate .reg, PowerShell, Intune and SCCM outputs — or add the setting to a multi-setting collection.
These exports write the registry — this is not a managed GPO. ⓘ
.reg file
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Specify custom tags for Office telemetry data
; State: Enabled
; Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
[HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\osm]
"tag1"=""
"tag2"=""
"tag3"=""
"tag4"="" More formats (PowerShell, Intune, SCCM)
PowerShell
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\osm'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'tag1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag4' -Value '' -Type String Intune XML
No direct Policy CSP / OMA-URI mapping for this policy. Use the Intune Remediation tab, or ingest the ADMX in Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag4' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\osm'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'tag1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag4' -Value '' -Type String SCCM scripts
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag1' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag2' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag3' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\software\policies\microsoft\office\16.0\osm' -Name 'tag4' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Specify custom tags for Office telemetry data
# State: Enabled
# Supported on: At least Windows Server 2003 operating systems or Windows XP Professional
# Warning: In SYSTEM context (the Intune default), HKCU targets the SYSTEM profile. Run this script using the logged-on credentials.
$path = 'HKCU:\software\policies\microsoft\office\16.0\osm'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'tag1' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag2' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag3' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'tag4' -Value '' -Type String Building a multi-setting collection? Add this setting and generate combined .reg / PowerShell / GPO scripts.