Las políticas de grupo de Windows controlan muchos aspectos diferentes de una máquina en ejecución. No estoy seguro de que pueda haber una sola manera de probar la amplitud de lo que podría cubrir una política.
Mi enfoque es definir una prueba para cada componente de la política (que se puede probar) y usar cualquier herramienta que sea apropiada para ejecutar esa prueba. A veces, esa herramienta puede ser una secuencia de comandos (Powershell, Python, etc.), una herramienta empaquetada (Nexpose, metasploit, etc.) o una prueba manual (haga clic aquí, allí, etc.).
La idea es tratar la política de seguridad como un proyecto de desarrollo de software y utilizar el concepto de "prueba unitaria". Cada nueva "función" debe probarse para el comportamiento esperado (¿hace lo que le pido que haga?) Y para el comportamiento inesperado (¿qué sucede cuando modifico las entradas que controla?). Estas pruebas están documentadas y los resultados guardados. Cuando realizo un cambio en la política, vuelvo a ejecutar las pruebas y añado las nuevas pruebas que sean apropiadas. De esta manera, puedo probar que la política es efectiva y tengo evidencia de la Administración de Cambios y los Auditores (cuando corresponda). Me siento tranquilo sabiendo que no estoy "esperando lo mejor" cuando establezco una política.
Tener este proceso de prueba documentado también significa que cuando ocurre un incidente de seguridad, puedo descartar el comportamiento demostrado de las políticas y buscar formas en que ocurrió el incidente a pesar del funcionamiento exitoso de la política (en otras palabras, puedo preguntar , "si todo funcionó, ¿cómo pudo haber pasado esto?"). O bien, sé dónde puede fallar una política y puedo diseñar procesos de mitigación para compensar las debilidades de la política.
Por cierto, uso el mismo proceso para las reglas de firewall.