Polish: nav fits at every desktop width, Custom View list values, phone docs, README
This commit is contained in:
1 parent
a5c0a5210e
commit
e2125c760a
7 files changed
+69
-16
No files matched your search
@@ -13,7 +13,7 @@ beyond PowerShell.
|
||||
> simulated 200-device fleet. Open the **Terminals** panel at the bottom of the page to watch
|
||||
> them work.
|
||||
|
||||

|
||||

|
||||
|
||||
## Why it exists
|
||||
|
||||
@@ -28,6 +28,11 @@ a 1,300-device scope.
|
||||
|
||||
## Features
|
||||
|
||||
- **Overview**: the landing page, built to drive a refresh's open issues to zero. Counters for
|
||||
offline sources, not started, *Bad Client* and *Broken WMI* tags, devices missing from AD /
|
||||
SCCM / DNS, low disk, backup errors and undocumented apps; overall progress; devices per
|
||||
Backup Status; a building x floor map of what's left; and a calendar of the deployment-date
|
||||
tags showing how far each day's devices have got. Every number opens the devices behind it.
|
||||
- **Tracked Devices**: technicians register devices under tags (a name, a date batch, a
|
||||
department). The worker only sweeps tagged devices. Tags can be flagged *Skip USMT* for
|
||||
inventory-only tracking, and `SOURCE, DEST` lines create manual pairs for hardware exceptions.
|
||||
@@ -43,21 +48,35 @@ a 1,300-device scope.
|
||||
- **Missing software**: compares installed software on source and destination, filters out the
|
||||
baseline image using a pattern list, groups multi-part products into suites, and lists the
|
||||
specialty apps not yet on the new device.
|
||||
- **Device details**: AD OU and groups, hardware, disk, RAM, client health, location,
|
||||
department, users. Shown for both sides of a migration.
|
||||
- **Custom View**: build your own table from any field, with drag-to-reorder, resizable and
|
||||
- **Device details**: AD OU and groups, hardware, disk, RAM, monitors, client health,
|
||||
location, department, users, for both sides of a migration. A blank says why: *Not in AD*,
|
||||
*Not in SCCM*, *No DNS record*, or *Waiting for worker...* if it hasn't been looked up yet.
|
||||
The dialog refreshes in place when the worker finishes a cycle.
|
||||
- **Presence**: every tracked device (completed pairs and destinations included) is pinged
|
||||
hourly during business hours and at midnight, so each one shows when it was last online and
|
||||
how many days it has been offline.
|
||||
- **Snapshots**: the last free space and scanstate / loadstate lines seen while a device was
|
||||
reachable are kept with their timestamps, and shown for completed migrations and offline
|
||||
devices instead of blanks.
|
||||
- **Custom View**: build your own table from any field (including days offline, last online,
|
||||
found in AD/SCCM/DNS and monitors), with drag-to-reorder, resizable and Excel-style
|
||||
filterable columns. Saved per browser.
|
||||
- **Workbench**: personal "stacks" of devices for the cart in front of you.
|
||||
- **Knowledge base**: Markdown articles with an editor, image manager, PDF export, badges and
|
||||
click-to-copy links. Renaming an image rewrites every article that links to it. Articles
|
||||
named after an app are linked from that app in the software view.
|
||||
- **Knowledge base**: Markdown articles with an editor, image manager, badges, alerts and
|
||||
click-to-copy links. Each article has its own address (`/docs/Adobe Acrobat Pro`); the list
|
||||
is searchable, counted and split into *Applications* and *Troubleshooting & Guides*; PDF
|
||||
export and print. Renaming an image rewrites every article that links to it. Articles named
|
||||
after an app are linked from that app in the software view.
|
||||
- **Business-hours scheduling**: the worker cycles every few minutes during working hours,
|
||||
sleeps overnight, and makes a midnight "pitstop" for the daily software refresh.
|
||||
*Force Update* and *Force Full Refresh* skip the wait.
|
||||
*Force Update* and *Force Full Refresh* skip the wait. Newly tracked devices are swept and
|
||||
published first; the sync dialog shows how long each kind of device (SCCM association,
|
||||
manual pair, completed snapshot...) took.
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Architecture
|
||||
@@ -78,12 +97,16 @@ refresh" buttons drop flag files that the worker watches for.
|
||||
| `Config\usmt-dash.psd1` | Every environment-specific setting |
|
||||
| `web\index.html` | The dashboard (single-file HTML/JS, about 4,500 lines) |
|
||||
| `web\demo\demo.js` | Terminal panel, plus the demo-mode browser sandbox |
|
||||
| `web\overview.js` | Overview page (issue counters, progress, locations, deployment calendar) |
|
||||
| `web\device-info.js` | Shared device helpers: missing-data reasons, presence, snapshot markers |
|
||||
| `web\docs.js` | Knowledge base: permalinks, search, categories, PDF / print |
|
||||
|
||||
### API
|
||||
|
||||
| Method & path | Purpose |
|
||||
|---|---|
|
||||
| `GET /` and static files | Dashboard, assets, `Data\` state files, `Documentation\` |
|
||||
| `GET /docs/<title>` | The dashboard, opened on that knowledge-base article |
|
||||
| `GET /get-config` | Mode flags for the front end |
|
||||
| `GET /get-logs?source=server\|worker&after=<id>` | Tail of the service console output (terminal panel) |
|
||||
| `POST /force-update` · `POST /force-full` | Wake the worker now (full = also refresh software/inventory caches) |
|
||||
@@ -172,8 +195,9 @@ different CMDB, PDQ, ...), add `Providers\<Name>.ps1`, implement these functions
|
||||
| `Get-DiskSpace <name>` | `@{ Total = '238 GB'; Free = '80 GB' }` |
|
||||
| `Get-LogInfo <name> <logName>` | Latest USMT progress log line (via the shared parser) |
|
||||
| `Get-DeviceAssociations <name>` | Objects with `SourceComputer`, `DestinationComputer`, `MigrationStatus` (0/1/2) |
|
||||
| `Get-DeviceInventory <name> <session>` | Hashtable of detail fields (OU, Groups, Model, RAM, Location, ...) |
|
||||
| `Get-DeviceInventory <name> <session>` | Hashtable of detail fields (OU, Groups, Model, RAM, MonitorCount, Monitors, Location, ...), plus `InAD` / `InSCCM` (`$true` / `$false`) |
|
||||
| `Get-InstalledSoftware <name>` | Rows of `Name`, `Version`, `Publisher`, `Source`, `InstallDate` |
|
||||
| `Get-DeviceLastSeen <name> <session>` *(optional)* | When the device was last active, used to backfill "last online" the first time it's tracked |
|
||||
|
||||
`Providers\Demo.ps1` is a complete working example that needs no infrastructure.
|
||||
|
||||
|
||||
Reference in new issue
Block a user