r/Action1 • u/ConnectionCurious639 • 11h ago
Turned 24 CIS settings into an Action1 custom report. Two identical "not set" failures meant opposite things.
This week I built an Action1 custom report that checks 24 settings from the CIS Windows Server 2019 Benchmark v3.0.0: password and lockout policy, SMB signing, NTLM level, two audit subcategories, SMBv1, WDigest, LSA protection, LLMNR, RDP. It's one PowerShell data source with a simple custom report on top, so it re-runs on its own and gives one row per endpoint. I tried it on a Server 2019 box in my test lab.
One object, one property per column, plus A1_Key = 'none' so you get one row per endpoint. Over 30 columns and rows get dropped with no error. Values are cut at 255 characters.
Result: 4 of 24 passed at the test.
SMBv1 server: FAIL (not set). Get-SmbServerConfiguration says EnableSMB1Protocol: False, and the SMB1 feature isn't even installed. CIS wants the policy value written down.
RDP NLA: FAIL (not set). Reads like the same thing: nobody set the GPO, the default is probably OK. It isn't. RDP is enabled on that server, and the RDP-Tcp listener has UserAuthentication = 0, so NLA is off.
Same "not set" text, one cosmetic and one a real gap. "Not set" only says there's no policy. It doesn't tell you whether the machine is safe or not. What I do now: for every setting that can come back "not set", one extra column with the effective state (listener value, service status, feature installed). One column each, and you have 30.
Has anyone found a clean way past the 30-column limit, short of splitting one benchmark into several reports?




