π v1.4-prod β Security Warnings, Least-Privilege Templates & Documentation Overhaul
Summary
v1.4 adds a context-aware security warning system that checks every delegation against a curated risk database before applying, enforces least-privilege across all shipped templates, and brings 17 new granular user delegation templates.
Highlights
π‘οΈ Security Warning System (new)
- New
security/security-reference.jsonβ curated database of 255 AD attributes and extended rights with risk levels, attack techniques, known tools, and reference URLs - Context-aware matching via
appliesToβ warnings adapt to the target object type (user, group, computer, GPO, β¦) - Interactive
[Y/N]confirmation prompt before applying high-risk delegations - New parameters:
-WarnSeverity(threshold: Critical/High/Medium/Low, default Medium),-DisableSecurityWarning(for CI/automation)
π Least-Privilege Enforcement
GenericAllremoved from templates100,200,300,600,700β replaced with granular rights (ReadProperty,WriteProperty,Delete, specific ExtendedRights)WriteProperty @(all properties) replaced with specific attributes where applicable (e.g. computer rename:cn,name,distinguishedName)- Fixed 4 incorrect attribute/right mappings (wrong password attribute, wrong display name attribute, Change vs. Reset Password, userPassword vs. pwdLastSet)
π¦ 17 New User Templates (IDs 111β152)
- Granular single-attribute templates: first name, last name, email, mobile, job title, department, company, manager, address, profile photo, notes, home directory
- Security-focused: Kerberos encryption types, constrained delegation, RBCD, validated SPN writes
- Read-only diagnostics: lockout info, last logon, password status
π Template Structure Improvements
Categoryfield added to all 95 templates β enables grouped-ShowTemplatesoutput (Object Type β Category)ObjectClassfield for explicit display grouping in-ShowTemplates- All descriptions verb-normalized (
Create,Read,Modify,Delete, β¦) - IDs renumbered consecutively within category ranges
- Combined rights split into separate rules (one right per rule)
π Documentation
- Main README rewritten β concise, IT-professional style, security feature prominently placed
templates/README.mdrewritten β accurate JSON schema with all fields, real examples from template filessecurity/README.mdcreated β schema documentation, statistics, risk levels, usage guideCHANGELOG.mdβ comprehensive change log covering every template and script change
Breaking Changes
| Change | Impact | Migration |
|---|---|---|
GenericAll β granular rights |
Templates 100, 200, 300, 600, 700 no longer grant full control |
Create custom templates if you need GenericAll |
| Template ID renumbering | User 100β152, Group 200β214, Computer 300β312 |
Run -ShowTemplates to verify IDs; check CHANGELOG for mapping |
| Interactive security prompt | Script blocks on [Y/N] for high-risk delegations |
Pass -DisableSecurityWarning for non-interactive use |
Category field required |
Templates without Category appear as "Uncategorized" |
Add "Category": "..." to custom templates |
Files Changed
| Path | Change |
|---|---|
Invoke-ADDelegationTemplate.ps1 |
Security warning system, -WarnSeverity/-DisableSecurityWarning params, grouped -ShowTemplates, Category/ObjectClass support |
security/security-reference.json |
New β 255 risk references with context-aware appliesTo |
security/README.md |
New β Schema docs, statistics, usage guide |
templates/100-user.json |
17 new templates, least-privilege fixes, verb normalization, ID renumbering |
templates/200-group.json |
GenericAll β granular, distinguishedName fix, SCOPE normalization |
templates/300-computer.json |
WriteProperty @ β granular attributes, split combined rights |
templates/400-organizationalUnit.json |
distinguishedName consistency fix |
templates/500-groupPolicy.json |
Category field added |
templates/600-wmi.json |
GenericAll β granular |
templates/700-inetOrgPerson.json |
GenericAll β granular |
templates/README.md |
Rewritten β accurate schema, ObjectClass field, categories per file |
README.md |
Rewritten β concise, security-first layout |
CHANGELOG.md |
Full v1.4 change documentation |
What's Changed
Full Changelog: v1.3.0...v1.4.0