Fabric Shortcut Inventory
A Microsoft Fabric notebook that scans workspaces and builds a complete inventory of OneLake shortcuts, detecting orphaned, circular and ungoverned external shortcuts, with an interactive HTML report and optional persistence to a Delta table.
Why?
OneLake shortcuts are easy to create and hard to govern: over time you accumulate shortcuts pointing to deleted items, circular chains between lakehouses, and connections to external storage (S3, ADLS, GCS…) with no sensitivity label or endorsement whatsoever. Fabric offers no centralized view of any of this. This notebook builds one in a single run.
What it does
- Discovers workspaces — the entire tenant (with admin permissions) or a specific list, by name or ID.
- Discovers items — lists the items in each workspace via the Fabric REST API.
- Extracts shortcuts — in parallel, from the item types that support them (Lakehouse, KQL Database, Mirrored Database).
- Parses targets — normalizes OneLake targets (workspace/item/path) and external ones (Amazon S3, ADLS Gen2, Google Cloud Storage, S3 compatible, Dataverse, Azure Blob Storage, OneDrive/SharePoint).
- Validates:
- Orphaned: the target item no longer exists within the scanned scope.
- Circular: shortcut chains that form a cycle (DFS detection over the dependency graph).
- Governance: external shortcuts on items with no sensitivity label and no endorsement (Certified/Promoted).
- Resolves names — turns target GUIDs into human-readable names, even for targets outside the scanned scope.
- Presents — an interactive HTML report with 4 views (Overview, Circular, Orphan, Governance) and per-row color coding.
- Persists (optional) — writes the inventory to a Delta table so you can query it with SQL or build Power BI reports on top
All the code and documentation can be found in the Github Repository.
https%3A%2F%2Fgithub.com%2Fkilianbs%2Ffabric-shortcut-inventory%2Fblob%2Fmain%2Fshortcut_inventory_en.ipynb