Skip to content

feat(net-assessment): zero-interaction NA collector for SOP 1536 Section 5.2 A-G#107

Open
AlrightLad wants to merge 1 commit into
mainfrom
enhancement/net-assessment-collector
Open

feat(net-assessment): zero-interaction NA collector for SOP 1536 Section 5.2 A-G#107
AlrightLad wants to merge 1 commit into
mainfrom
enhancement/net-assessment-collector

Conversation

@AlrightLad

Copy link
Copy Markdown

Summary

Zero-interaction network assessment collector for new-client onboarding — first script in the net-* category. Automates the server-side collection steps of Network Assessment & Technology Evaluation SOP v3.1 (KB 1536 §5.2 A–G) and pre-fills the Environment Snapshot of the NA Review template (KB 3333).

Behavior

  • Role-aware via Win32_ComputerSystem.DomainRole: full domain-wide AD on a DC; per-machine collection on member servers/workstations; workgroup degrades gracefully
  • CollectDomain=1 collects domain-wide AD from any domain-joined machine — RSAT if present, native ADSI/DirectorySearcher fallback (no installs). Documented ADSI limits: no computer IPv4, Domain Admins direct members only
  • Evaluates SOP §6 DTC standards gap table inline; emits GAP FLAGS mapped to SoW line items
  • Artifacts hostname-suffixed to C:\DTC (created if missing) + full report on stdout for NinjaOne activity log; WriteFiles=0 for log-only
  • Read-only, idempotent, PS 5.1 compatible, no Read-Host in any path
  • All inputs via $env: per repo standard: WriteFiles, OutputPath, CollectDomain, SubnetSweep, StaleDays, WanLookup

Validation

  • Field-validated on a live prospect member workstation (Win 11 Pro, domain-joined, no server access) — role detection, LOB/imaging/RMM/AV categorization, gap flags, and artifact output all confirmed against real data
  • PSSA clean except PSAvoidUsingWriteHost (inherited from script-template-powershell.ps1 pattern)

Notes

  • Interim tool: SOP 1536 §9 documents the Rust-based assessment toolkit as the end state. This fills the gap until that ships and can be retired when it does.
  • Pester tests to follow in a second commit if wanted pre-merge (mirroring oem-dell/tests pattern).
  • Follow-up after merge: update SOP 1536 §5.2/§9 to reference this as the sanctioned interim collector.

…ion 5.2 A-G

Role-aware (DC/server/workstation), ADSI fallback for domain data when no
server access or RSAT, Section 6 gap flags inline, artifacts to C:\DTC +
stdout for NinjaOne activity log. Field-validated on a live prospect
workstation. Interim tool pending Nate's Rust assessment toolkit (SOP 1536 Section 9).
@AlrightLad AlrightLad requested a review from Gumbees as a code owner July 7, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant