TMAegisBeta
More rules for office

Microsoft Office

TMA-OFFICE-2.2.4.7.2.12

Ensure 'Store macro in Personal Macro Workbook by default' is set to 'Enabled'

HighLevel 1Automatedoffice

Description

This policy setting controls the default location for storing macros in Excel. The Record Macro dialog box includes a drop-down menu that allows users to choose whether to store the new macro in the current workbook, a new workbook, or their personal macro workbook (Personal.xlsb), a hidden workbook that opens every time Excel starts. The recommended state for this setting is: Enabled. Rationale: Excel displays the Record Macro dialog box with This Workbook already selected in the drop-down menu. If a user saves a macro in the active workbook and then distributes the workbook to others, the macro is distributed along with the workbook, which could put workbook data at risk if the macro is tr... User setting: the audit checks HKEY_USERS\<SID>\SOFTWARE\Policies\Microsoft\office\16.0\excel\options\binaryoptions:fglobalsheet_37_1 (REG_DWORD) in every loaded user hive (S-1-5-21-*) and is compliant when each holds 1. It prints 'no-user-hive-loaded' (FAIL) when no user profile is loaded, so scan while users are logged on.

How it is checked

Audit method: Windows registry

registry
$sids = @(Get-ChildItem -Path 'Registry::HKEY_USERS' -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^S-1-5-21-\d+-\d+-\d+-\d+$' } | ForEach-Object { $_.PSChildName }); if ($sids.Count -eq 0) { 'no-user-hive-loaded' } else { $bad = @(); foreach ($s in $sids) { $v = (Get-ItemProperty -Path ('Registry::HKEY_USERS\' + $s + '\SOFTWARE\Policies\Microsoft\office\16.0\excel\options\binaryoptions') -Name 'fglobalsheet_37_1' -ErrorAction SilentlyContinue).'fglobalsheet_37_1'; if (-not ($null -ne $v -and @(1) -contains [int64]$v)) { $bad += $s + ':fglobalsheet_37_1=' + $v } }; if ($bad.Count -eq 0) { 'compliant' } else { 'non-compliant: ' + ($bad -join ', ') } }
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Configure through Group Policy (User Configuration): User Configuration\Administrative Templates\Microsoft Excel 2016\Excel Options\Security\Trust Center\Store Macro In Personal Macro Workbook by Default = Enabled

Properties

Operating systems
Any
Tags
officeproductivitycis-l1
Reference
CIS Microsoft Office Enterprise Benchmark v2.0.0 - 2.2.4.7.2.12 Ensure 'Store macro in Personal Macro Workbook by default' is set to 'Enabled'

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target office