ST-02 Field guide / Standards and documentation
Evaluate a community script or GPO change before the lab
A field technician finds a script advertised as a way to clean up Group Policy. The next step is not to run it with domain-admin rights. Decide what the proposed tool actually reads or changes, whether you may use its code, and how you would prove a harmless result in a lab.
For Service desk & technicians, Tech lead, Cybersecurity, Automation & AI
On this page
This is a proposed evaluation method using Microsoft documentation retrieved October 7, 2026. No community script was downloaded for execution, no code was redistributed and no Windows domain or GPO was accessed. The lab inputs and outcomes below are fictional test targets, not observed results.
Who owns the evaluation
A technician records the candidate. A tech lead reads its code and dependencies; security checks privilege and baselines. The domain owner authorizes any later lab or change.
The deliverable is a candidate decision and report-only lab plan. Identify domain/GUID, selected settings and one known discrepancy. Exclude link edits, deletion, execution-policy changes and weakened security controls.
Use directories for discovery, not execution authority
Killer Tools is included at the owner's requested directory address, killertools.net. Our unauthenticated public fetch returned a JavaScript application shell with almost no visible text; the available browser could not start. We could not verify its individual script entries, licenses, policy references or executable behavior.[20] Treat it as an unverified directory reference, not a recommendation to run a command or a verified privacy claim.
When an approved browser displays a candidate, record its page, publisher, upstream revision and task. Never paste private configuration or credentials. Verify locality and license claims separately.
Use approved acquisition after provenance review. Never download-and-execute, pipe remote text into a shell or copy policies straight to production. This guide contains no Killer Tools code or redistribution permission.
Establish prerequisites and a meaningful task
Microsoft's GroupPolicy module is for Windows Server or Windows clients with RSAT, including GPMC and the Group Policy cmdlets. It includes GPO reports, resultant-policy reports, backups and restores.[17] Record the installed Windows, PowerShell and module versions in the future lab; documentation for another version is not compatibility evidence. The lab needs an authorized isolated Windows/domain environment, suitable test identities and an approved place for evidence. Do not acquire infrastructure or paid software to follow this guide.
The fictional task is to review one policy, LAB-PRINT-01, by its known lab-domain GUID. The expected report shows its selected printing configuration and flags a difference from the lab's approved printing standard. Another policy, LAB-SECURITY-01, is outside scope and protects the lab security baseline. There are two test machines: one inside the intended test OU and one outside it.
The report needs identity, timestamp, values, scope and a proposed discrepancy. Estate-wide compliance claims fail. This task edits no GPO.
Review provenance, licensing and bytes
Step 1: Name the author or publisher and locate a revisioned upstream source. Record the license and its application to the exact file and dependencies. No license found means use and redistribution remain unresolved, not automatically permitted. Check embedded notices, dependencies and whether the MSP's intended internal or client use is covered. Escalate ambiguity; do not remove attribution to make the file fit a template.
Step 2: Inspect every file without executing it. List network destinations, imported modules, external executables, required parameters, output paths and potential writes. Look for account changes, policy edits, deletion, encoded payloads, security exclusions and credential handling. Reject opaque or unexplained behavior. A report-only description cannot overrule a write found in the code.
Step 3: For an approved local candidate file, record a SHA-256 hash using the documented Get-FileHash inspection command. Microsoft's default is SHA256, and its examples compare computed hashes with publisher-provided values.[16] A recorded hash identifies the reviewed bytes; it does not prove the publisher is trustworthy. Compare against a separately trusted published value where available, not a checksum copied from the same untrusted download.
Step 4: On Windows, inspect signature information using Get-AuthenticodeSignature. Microsoft documents that it reports Authenticode information and is Windows-only.[15] Record status, signer, certificate context and whether the expected publisher matches. A valid signature is not proof that the behavior is safe; an unsigned internal script requires your organization's explicit exception review, not a blanket permission to bypass protections.
Step 5: Freeze the reviewed revision, dependencies and parameter plan. A later upstream update or one-line edit invalidates the byte-level review. Do not claim a SHA-256 value or signature status before actually inspecting the file.
Plan the isolated lab and recovery evidence
Start with ordinary read permissions to the single lab GPO and a restricted report destination. If the candidate requests elevation for a report, require an explanation and test the narrowest permissions first. Never use domain admin as a troubleshooting shortcut. Customer/domain mappings, output folders and identities must remain separate; a report should not be sent to a shared customer folder by default.
Capture a baseline policy report and the two machines' resultant-policy evidence with the appropriate documented reporting facilities.[17] Keep the security policy unchanged. If evaluating a separate proposed GPO edit later, back up the exact target GPO first. Microsoft's Backup-GPO requires the GPO and backup directory to exist and supports GUID identification; display names are not guaranteed unique.[18] Use explicit domain and identity references rather than relying on the session's default domain.
A GPO backup is not a complete domain rollback plan. Record links, link order, inheritance, security filtering, relevant WMI filters and local or preference-side effects separately. A removed link or a changed endpoint setting may need its own recovery. Prove the restore route in the lab before approving changes; a written backup path is not a restore test. The reporting-only candidate should need no policy restore, but still needs a pause and manual-report fallback.
Test before any production decision
The following are proposed lab tests. No row is claimed as passed.
| Case | Required observation | Pass condition |
|---|---|---|
| Known target and discrepancy | Report matches manually checked target fields | All required values correct; one known finding |
| Wrong domain or GPO | Clear error; no fallback to a different target | Zero wrong-domain output |
| Insufficient read rights | Visible access failure | Zero elevation or security-setting change |
| Second run | Same facts at unchanged baseline | Zero duplicated external actions |
| Outside-OU machine | Remains outside any proposed policy scope | Zero unintended setting changes |
| Missing dependency or blocked network | Stops with actionable failure | Zero remote download or bypass |
| Recovery for separately approved edit | Restored policy and resultant state match baseline | All tested target fields recovered; security baseline unchanged |
Observe actual filesystem, network and policy effects in the authorized lab, not merely the script's final success message. Require zero unauthorized writes and zero weakened security controls. If the tool suggests disabling Defender, logging, firewall protections or a baseline to get the test passing, reject that workaround and escalate.
Decide, maintain and assess effort
Reject the candidate if provenance, license, privilege, scope or recovery remains unresolved. For an ordinary report failure, use the native manual reporting route and record the exception. For unexpected writes, isolate the lab, preserve evidence and notify the security reviewer. Production use requires a separate authorized change record; this review is not that authorization.
Recheck hashes/dependencies after revisions and compatibility after platform or standard changes. Name a maintenance and retirement owner.
Compare manual inventory with acquisition review, lab setup, operation, checking, exceptions and upkeep. Credit distinct accurate reports, not policies touched. Keep zero or negative savings; reporting does not establish compliance.
The working discipline
Automate before you hire
Review provenance, licensing, bytes and privilege before a report-only lab. Keep security baselines intact and production changes separately authorized; include acquisition review, lab testing and maintenance in effort.
Review the sequence →Worksheet / Usable takeaway
Script and GPO candidate review worksheet
- Candidate: [exact URL / publisher / upstream repository / revision / intended read or change / discovery date / directory-only status].
- Rights: [license / notices / dependencies / permitted internal or client use / redistribution excluded / unresolved question / reviewer].
- Byte review: [local file reference / SHA-256 / trusted comparison source / signature status / signer context / checked platform / no uninspected revision].
- Behavior: [parameters / modules / executables / network destinations / outputs / potential writes / credential handling / security-baseline impact].
- Environment: [authorized lab / domain reference / target GUID / Windows and module versions / narrow identity / excluded customers and policies / scope].
- Baseline and recovery: [GPO report / resultant-policy evidence / backup ID if changing / links and filters / side effects / restore proof / pause owner / manual fallback].
- Tests: [case / expected output and zero-change checks / actual / evidence / pass, fail or not run / exception owner].
- Decision: [accept report-only, revise or reject / unresolved rights or risks / separate production authority / no baseline weakening].
- Maintenance and value: [revision triggers / compatibility check / owner / baseline effort / review and lab effort / upkeep / net observed effort / retirement trigger].
Sources
Get-AuthenticodeSignature (Microsoft.PowerShell.Security) - PowerShell | Microsoft Learn
Get-FileHash (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn
GroupPolicy Module | Microsoft Learn
Backup-GPO (GroupPolicy) | Microsoft Learn
Killer Tools: public application shell; entries unverified
Source notes: Oct 2026. See method and evidence notes.