02 Tools / Internal deployment
NetDocuments Tool
User-triggered NetDocuments updates via Task Scheduler.
- Purpose
- Lets users update NetDocuments without administrator credentials.
- My contribution
- Built the PowerShell deployment wrapper, task permissions and user-facing update workflow.
- Result
- Users can request updates without receiving administrator credentials or permission to modify the task.
Trigger access only · No shared credentials
Workflow
- 01User shortcut
- 02Trigger-only permission
- 03SYSTEM scheduled task
- 04Update + progress log
Before
Support staff performed updates with local administrator accounts while background processes complicated installation.
After
A user shortcut triggers a protected SYSTEM task and displays its progress log.
Problem#
NetDocuments runs background processes that make traditional automated updaters unreliable. The existing workaround was manual updates under local administrator accounts — insecure, non-auditable, time-intensive, and error-prone.
Background#
Checked existing approaches to automating NetDocuments updates and to bypassing UAC without elevating the user before settling on a design. None solved the credential-sharing problem driving the request, which is what led to combining Task Scheduler with a SYSTEM-context task and a custom COM DACL (Component Object Model discretionary access control list) instead of adopting an existing pattern outright.
Implementation#
Uses Task Scheduler + SYSTEM context to bypass UAC securely without elevating the user. Intune deploys a wrapper script creating a locked-down folder with explicit NTFS ACLs, and a Scheduled Task with a custom COM-based DACL (discretionary access control list) allowing Users only trigger rights. A desktop shortcut spawns a user-facing PowerShell window tailing the live log.
Challenges#
Balancing usability (one-click for users) with hardening (no write access, no credential leakage). The breakthrough was realising Task Scheduler's COM ACLs could expose trigger rights without modify rights.
Results#
Deployed via Intune estate-wide. Replaced all manual update processes — no more local admin accounts or break/fix remoting. Zero update-related incidents since pilot.
System structure
How the parts connect
Intune wrapper
Creates the protected folder, files and scheduled task.
Desktop shortcut
The signed-in user requests an update and sees progress.
Task permission boundary
A COM DACL grants trigger rights without task modification rights.
SYSTEM update + log
The privileged task runs the update and records progress for the user-facing window.
Project outcomes
- 0
- Credentials stored
- 20+
- Endpoints deployed
- 0
- Update incidents
Internal deployment account: more than 20 endpoints, with no update incidents reported since the pilot. No observation end date or independent incident dataset is published.
NetDocuments Tool · Tyler Philip Jemson
https://tyler.jemson.uk/projects/netdocuments