This directory contains PowerShell scripts to automate setup, update, and cleanup tasks for a Microsoft Fabric workspace.
fab auth login to authenticate with your Fabric environmentCreates a new Fabric workspace with the specified name.
.\Create-Workspace.ps1 -WorkspaceName "MyWorkspace"
Deploys all workspace assets (lakehouses, notebooks, pipelines, triggers, reports, semantic models) into a Fabric workspace. Handles notebook parameterization and asset metadata setup. Sample data is imported by default.
Full Installation with Sample Data (default):
.\Install-IntoWorkspace.ps1 -WorkspaceName "MyWorkspace" -Prefix "NDS_"
Installation without Sample Data:
.\Install-IntoWorkspace.ps1 -WorkspaceName "MyWorkspace" -Prefix "NDS_" -SkipSampleData
Skip Confirmation Prompts (for automated deployments):
.\Install-IntoWorkspace.ps1 -WorkspaceName "MyWorkspace" -Prefix "NDS_" -SkipConfirmation
With -SkipConfirmation the script does not prompt for data sources. Pass them as parameters:
.\Install-IntoWorkspace.ps1 -WorkspaceName "MyWorkspace" -Prefix "NDS_" -SkipConfirmation `
-DynamicsLakehouseName "MyDataverseLakehouse" -SalesforceConnectionId "<connection-id>"
-WorkspaceName: The name of the Fabric workspace to deploy to-Prefix: Prefix to add to all created resources (e.g., “NDS_”)-SkipSampleData: Skip importing sample data (sample data is imported by default)-SkipConfirmation: Skip confirmation prompts for automated installations-DynamicsLakehouseName: Lakehouse with the Dataverse (Dynamics 365) data (optional, skips the prompt)-SalesforceConnectionId: Salesforce connection to use (optional, skips the prompt)Data sources that are not configured are left out of the bronze ingestion pipeline, as in the deployment wizard, so the orchestration pipeline only runs the configured sources.
The installation supports three data sources. The deployment detects an existing connection automatically, or falls back to sample data.
-SkipSampleData.Removes all deployable assets from the specified Fabric workspace, including notebooks, lakehouses, pipelines, triggers, reports, and semantic models.
.\Clean-Workspace.ps1 -WorkspaceName "MyWorkspace"
Removes the entire Fabric workspace and all its contents.
.\Remove-Workspace.ps1 -WorkspaceName "MyWorkspace"
Lists all items of a given type (e.g., Notebook, Lakehouse, DataPipeline) in a workspace, excluding temporary items.
.\List-NdsWorkspaceItems.ps1 -WorkspaceName "MyWorkspace" -ItemType "Notebook"
Downloads all files from a specified Fabric Lakehouse path to a local directory. Mind the quotation marks, they are important…
.\Download-LakehouseData.ps1 -FabricPath "MyWorkspace.Workspace/NDS_Silver.Lakehouse/Files/nds-silver-sampledata" -LocalPath "./Data/nds-silver-sampledata/"
Export existing items from Fabric workspace to the local repository. Add ` -Verbose` parameter for verbose logs.
Export all items:
.\Export-Items.ps1 -WorkspaceName "MyWorkspace"
Export all items from specific workspace:
.\Export-Items.ps1 -WorkspaceName "MyWorkspace"
Export a single item:
.\Export-Items.ps1 -WorkspaceName "MyWorkspace" -ItemName "NDS_Config.Notebook"
Export raw workspace items without repository-specific renaming or dynamic variable processing:
.\Export-RawItems.ps1 -WorkspaceName "MyWorkspace" -TargetDirectory "./Export"
Export raw items by prefix or a single item:
.\Export-RawItems.ps1 -WorkspaceName "MyWorkspace" -ItemsPrefix "NDS_"
.\Export-RawItems.ps1 -WorkspaceName "MyWorkspace" -ItemName "NDS_Config.Notebook"