diff --git a/src/Web/autopilot-monitor-web/app/docs/page.tsx b/src/Web/autopilot-monitor-web/app/docs/page.tsx index 1954505d..f1513076 100644 --- a/src/Web/autopilot-monitor-web/app/docs/page.tsx +++ b/src/Web/autopilot-monitor-web/app/docs/page.tsx @@ -37,11 +37,42 @@ export default function DocsPage() {

Agent Deployment via Intune

-

+

The Autopilot Monitor agent is deployed to devices using a PowerShell bootstrapper script distributed as an Intune Platform Script. The script downloads, installs, and registers the agent automatically — no manual steps on the device are required.

+
+

+ + + + Safe to assign broadly — already-enrolled devices are not affected +

+

+ Before installing anything, the bootstrapper runs a series of pre-requisite checks. The agent is only + installed when all checks pass. Devices that do not meet the criteria are skipped silently. +

+ +

+ The agent is temporary by design: once the Autopilot enrollment completes, the agent + uninstalls itself and removes the scheduled task. It only exists on the device for the duration of the + enrollment process. +

+
  1. @@ -126,349 +157,6 @@ export default function DocsPage() {
- {/* Introduction */} -
-
- - - -

Welcome to Autopilot Monitor

-
-

- This documentation provides comprehensive guidance on using the Autopilot Monitor platform. - Whether you're a Tenant Admin, Regular User, or Galactic Admin, - you'll find everything you need to know here. -

-
- - {/* User Roles */} -
-

- - - - User Roles & Permissions -

- -
- {/* Galactic Admin */} -
-

Galactic Admin

-

- System-wide administrator with full access to all tenants and configuration. -

-
    -
  • • View and manage all tenant configurations
  • -
  • • Suspend/unsuspend tenants
  • -
  • • Manage tenant admins across all tenants
  • -
  • • Configure global rate limiting
  • -
  • • Trigger manual maintenance operations
  • -
  • • Access to all tenant data and sessions
  • -
-
- - {/* Tenant Admin */} -
-

Tenant Admin

-

- Administrator for a specific tenant with full access to that tenant's resources. -

-
    -
  • • View all Autopilot sessions for their tenant
  • -
  • • Access detailed diagnostics and logs
  • -
  • • Configure tenant-specific settings (data retention, timeouts, etc.)
  • -
  • • Manage other tenant admins (add/remove/disable)
  • -
  • • View usage metrics and statistics
  • -
-

- Note: The first user to log in for a tenant automatically becomes a Tenant Admin. -

-
- - {/* Regular User */} -
-

Regular User

-

- Standard user with limited access focused on device tracking. -

-
    -
  • • Access simplified "Track" page
  • -
  • • Search devices by serial number
  • -
  • • View ESP-style progress for specific devices
  • -
  • • Limited to device-specific information
  • -
-
-
-
- - {/* Getting Started */} -
-

- - - - Getting Started -

- -
-
-

1. First Login

-

- When you first log in to Autopilot Monitor, you'll be authenticated via Azure AD/Entra ID. - The first user from your organization (tenant) will automatically be assigned as a Tenant Admin. -

-
- -
-

2. Dashboard Overview

-

- The main dashboard provides a real-time view of all active Autopilot sessions: -

-
    -
  • • Active Sessions: Currently running Autopilot enrollments
  • -
  • • Recent Activity: Latest session updates and status changes
  • -
  • • Quick Stats: Success rates, average duration, active devices
  • -
  • • Session Table: Searchable and filterable list of all sessions
  • -
-
- -
-

3. Monitoring Sessions

-

- Click on any session to view detailed information including phase progress, diagnostic logs, - and real-time ESP (Enrollment Status Page) progression. -

-
-
-
- - {/* Feature Guides */} -
-

- - - - Feature Guides -

- -
- {/* Session Tracking */} -
-

Session Tracking

-

- Monitor Windows Autopilot enrollment sessions in real-time with full diagnostic visibility. -

-
-

Session States:

-
    -
  • • Running: Active enrollment in progress
  • -
  • • Completed: Successfully finished enrollment
  • -
  • • Failed: Encountered an error
  • -
  • • TimedOut: Session exceeded timeout limit
  • -
-
-
- - {/* Admin Management (for Tenant Admins) */} -
-

Admin Management

-

- Tenant Admins can manage other administrators for their tenant via the Settings page. -

-
-

Admin Actions:

-
    -
  • • Add Admin: Enter the UPN (email) of a user to grant admin access
  • -
  • • Remove Admin: Revoke admin privileges (cannot remove last admin)
  • -
  • • Disable Admin: Temporarily disable admin access without removal
  • -
  • • Enable Admin: Re-enable a disabled admin
  • -
-

- ⚠️ Important: Always ensure you have at least one active admin to prevent lockout. -

-
-
- - {/* Configuration */} -
-

Tenant Configuration

-

- Admins can customize various settings for their tenant including: -

-
-
    -
  • • Data Retention: How long to keep session data (7-3650 days)
  • -
  • • Session Timeout: When to mark abandoned sessions as timed out (1-48 hours)
  • -
  • • Serial Number Validation: Enforce serial number format requirements
  • -
  • • Hardware Whitelists: Restrict allowed manufacturers and models
  • -
  • • Max Payload Size: Control NDJSON upload limits (1-50 MB)
  • -
-
-
- - {/* Search & Filtering */} -
-

Search & Filtering

-

- Quickly find sessions using the search bar which supports: -

-
    -
  • • Serial numbers
  • -
  • • Device names
  • -
  • • Session IDs
  • -
  • • Status filtering
  • -
-
-
-
- - {/* Best Practices */} -
-

- - - - Best Practices -

- -
-
- 1. -
- Maintain Multiple Admins: -

- Always have at least 2-3 active tenant admins to prevent lockout scenarios. -

-
-
- -
- 2. -
- Monitor Active Sessions: -

- Check the dashboard regularly during deployment periods to catch issues early. -

-
-
- -
- 3. -
- Set Appropriate Retention: -

- Configure data retention based on your compliance and troubleshooting needs. - Longer retention helps with historical analysis but increases storage. -

-
-
- -
- 4. -
- Use Hardware Whitelists: -

- Restrict enrollments to approved manufacturers and models to improve security. -

-
-
- -
- 5. -
- Review Failed Sessions: -

- Investigate failed enrollments promptly to identify patterns and systemic issues. -

-
-
-
-
- - {/* Troubleshooting */} -
-

- - - - Troubleshooting -

- -
-
-

Cannot Access Admin Features

-

- Solution: Ensure you've been added as a Tenant Admin. Contact your existing admins - or Galactic Admin to grant you admin permissions. -

-
- -
-

Session Not Appearing

-

- Solution: Check that your device is configured with the correct Autopilot profile - and that telemetry is enabled. Verify network connectivity from the device. -

-
- -
-

Tenant Suspended Access

-

- Solution: Your tenant has been suspended by a Galactic Admin. Contact system - administrators for assistance. The suspension message will include relevant details. -

-
- -
-

Data Not Loading

-

- Solution: Refresh your browser. If the issue persists, check your authentication - status in the top-right user menu. You may need to re-login. -

-
-
-
- - {/* Support & Contact */} -
-

- - - - Need Help? -

-

- For additional support, questions, or feature requests, please refer to the About & Legal page - for contact information and support options. -

-
-

- Quick Links: -

- -
-
- - {/* Version Info */}

Autopilot Monitor v1.0.0

Documentation last updated: {new Date().toLocaleDateString()}

diff --git a/src/Web/autopilot-monitor-web/app/globals.css b/src/Web/autopilot-monitor-web/app/globals.css index b15d9aeb..78cafcf6 100644 --- a/src/Web/autopilot-monitor-web/app/globals.css +++ b/src/Web/autopilot-monitor-web/app/globals.css @@ -290,10 +290,11 @@ body { /* (no overrides needed for bg-blue-500, bg-green-500, etc.) */ /* -- Scrollbar (global) -- */ +/* Fixed width — no grow-on-hover so the cursor doesn't need to hit a tiny target. + Thumb is invisible by default and fades in as soon as the mouse enters the page. */ ::-webkit-scrollbar { - width: 6px; - height: 6px; - transition: width 0.2s ease; + width: 8px; + height: 8px; } ::-webkit-scrollbar-track { background: transparent; @@ -301,23 +302,19 @@ body { ::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; + transition: background 0.15s ease; } -::-webkit-scrollbar-thumb:hover { - background: #94a3b8; -} -html:hover ::-webkit-scrollbar-thumb, -body:hover ::-webkit-scrollbar-thumb { +html:hover ::-webkit-scrollbar-thumb { background: #cbd5e1; } -::-webkit-scrollbar:hover { - width: 10px; - height: 10px; +::-webkit-scrollbar-thumb:hover { + background: #94a3b8 !important; } /* -- Scrollbar (dark mode) -- */ .dark ::-webkit-scrollbar { - width: 6px; - height: 6px; + width: 8px; + height: 8px; } .dark ::-webkit-scrollbar-track { background: transparent; @@ -325,15 +322,11 @@ body:hover ::-webkit-scrollbar-thumb { .dark ::-webkit-scrollbar-thumb { background: transparent; border-radius: 4px; + transition: background 0.15s ease; } -.dark ::-webkit-scrollbar-thumb:hover { - background: #94a3b8; -} -.dark html:hover ::-webkit-scrollbar-thumb, -.dark body:hover ::-webkit-scrollbar-thumb { +.dark html:hover ::-webkit-scrollbar-thumb { background: #475569; } -.dark ::-webkit-scrollbar:hover { - width: 10px; - height: 10px; +.dark ::-webkit-scrollbar-thumb:hover { + background: #94a3b8 !important; }