Microsoft Office
TMA-OFFICE-2.2.4.7.2.12
Ensure 'Store macro in Personal Macro Workbook by default' is set to 'Enabled'
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
$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.
tmaegis scan --target office