Test-MicrosoftFabricMgmt

1.0.15

PowerShell module for managing Microsoft Fabric resources via the Fabric API. Supports workspaces, lakehouses, warehouses, notebooks, and more.

Minimum PowerShell version

7.0

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name Test-MicrosoftFabricMgmt -RequiredVersion 1.0.15

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name Test-MicrosoftFabricMgmt -Version 1.0.15

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

2026 Microsoft Fabric Mgmt by Fabric Toolbox

Package Details

Author(s)

  • Rob Sewell Jess Pomfret and Tiago Balabuch on behalf of Fabric Community

Functions

Add-FabricAdminCapacityWorkspace Add-FabricAdminPipelineUser Add-FabricAdminWorkspaceUser Export-FabricAdminDataflow Get-FabricAdminActivityEvent Get-FabricAdminApp Get-FabricAdminAppUser Get-FabricAdminCapacity Get-FabricAdminCapacityUser Get-FabricAdminDashboard Get-FabricAdminDashboardSubscription Get-FabricAdminDashboardTile Get-FabricAdminDashboardUser Get-FabricAdminDataflow Get-FabricAdminDataflowDatasource Get-FabricAdminDataflowUpstream Get-FabricAdminDataflowUser Get-FabricAdminDataset Get-FabricAdminDatasetDataflowLink Get-FabricAdminDatasetDatasource Get-FabricAdminDatasetUser Get-FabricAdminEncryptionKey Get-FabricAdminGatewayInventory Get-FabricAdminGitConnection Get-FabricAdminImport Get-FabricAdminItem Get-FabricAdminItemUser Get-FabricAdminModifiedWorkspace Get-FabricAdminPipeline Get-FabricAdminPipelineUser Get-FabricAdminProfile Get-FabricAdminRefreshable Get-FabricAdminReport Get-FabricAdminReportSubscription Get-FabricAdminReportUser Get-FabricAdminUserAccess Get-FabricAdminUserArtifactAccess Get-FabricAdminUserSubscription Get-FabricAdminWidelySharedArtifactLink Get-FabricAdminWidelySharedArtifactWeb Get-FabricAdminWorkspace Get-FabricAdminWorkspaceScanResult Get-FabricAdminWorkspaceScanStatus Get-FabricAdminWorkspaceUnusedArtifact Get-FabricAdminWorkspaceUser New-FabricAdminEncryptionKey Remove-FabricAdminCapacityWorkspace Remove-FabricAdminInformationProtectionLabel Remove-FabricAdminPipelineUser Remove-FabricAdminProfile Remove-FabricAdminWorkspaceUser Restore-FabricAdminWorkspace Set-FabricAdminInformationProtectionLabel Start-FabricAdminEncryptionKeyRotation Start-FabricAdminWorkspaceScan Update-FabricAdminCapacity Update-FabricAdminPipelineUser Update-FabricAdminWorkspace Get-FabricAnomalyDetector Get-FabricAnomalyDetectorDefinition New-FabricAnomalyDetector Remove-FabricAnomalyDetector Update-FabricAnomalyDetector Update-FabricAnomalyDetectorDefinition Get-FabricApacheAirflowJob Get-FabricApacheAirflowJobDefinition New-FabricApacheAirflowJob Remove-FabricApacheAirflowJob Update-FabricApacheAirflowJob Update-FabricApacheAirflowJobDefinition Get-FabricCapacity Add-FabricConnectionRoleAssignment Get-FabricConnection Get-FabricConnectionSupportedType Remove-FabricConnection Remove-FabricConnectionRoleAssignment Update-FabricConnectionRoleAssignment Get-FabricCopyJob Get-FabricCopyJobDefinition New-FabricCopyJob Remove-FabricCopyJob Update-FabricCopyJob Update-FabricCopyJobDefinition Get-FabricCosmosDBDatabase Get-FabricCosmosDBDatabaseDefinition New-FabricCosmosDBDatabase Remove-FabricCosmosDBDatabase Update-FabricCosmosDBDatabase Update-FabricCosmosDBDatabaseDefinition Get-FabricDashboard Get-FabricDataPipeline New-FabricDataPipeline Remove-FabricDataPipeline Update-FabricDataPipeline Get-FabricDataflow Get-FabricDataflowDefinition Get-FabricDataflowParameter New-FabricDataflow Remove-FabricDataflow Start-FabricDataflowJob Update-FabricDataflow Update-FabricDataflowDefinition Get-FabricDatamart Get-FabricDigitalTwinBuilder Get-FabricDigitalTwinBuilderDefinition New-FabricDigitalTwinBuilder Remove-FabricDigitalTwinBuilder Update-FabricDigitalTwinBuilder Update-FabricDigitalTwinBuilderDefinition Get-FabricDigitalTwinBuilderFlow Get-FabricDigitalTwinBuilderFlowDefinition New-FabricDigitalTwinBuilderFlow Remove-FabricDigitalTwinBuilderFlow Update-FabricDigitalTwinBuilderFlow Update-FabricDigitalTwinBuilderFlowDefinition Add-FabricDomainWorkspaceByCapacity Add-FabricDomainWorkspaceById Add-FabricDomainWorkspaceByPrincipal Add-FabricDomainWorkspaceByRoleAssignment Get-FabricDomain Get-FabricDomainWorkspace New-FabricDomain Remove-FabricDomain Remove-FabricDomainWorkspace Remove-FabricDomainWorkspaceRoleAssignment Update-FabricDomain Get-FabricEnvironment Get-FabricEnvironmentLibrary Get-FabricEnvironmentSparkCompute Get-FabricEnvironmentStagingLibrary Get-FabricEnvironmentStagingSparkCompute Import-FabricEnvironmentStagingLibrary New-FabricEnvironment Publish-FabricEnvironment Remove-FabricEnvironment Remove-FabricEnvironmentStagingLibrary Stop-FabricEnvironmentPublish Update-FabricEnvironment Update-FabricEnvironmentStagingSparkCompute Get-FabricEventSchemaSet Get-FabricEventSchemaSetDefinition New-FabricEventSchemaSet Remove-FabricEventSchemaSet Update-FabricEventSchemaSet Update-FabricEventSchemaSetDefinition Get-FabricEventhouse Get-FabricEventhouseDefinition New-FabricEventhouse Remove-FabricEventhouse Update-FabricEventhouse Update-FabricEventhouseDefinition Get-FabricEventstream Get-FabricEventstreamDefinition Get-FabricEventstreamDestination Get-FabricEventstreamDestinationConnection Get-FabricEventstreamSource Get-FabricEventstreamSourceConnection Get-FabricEventstreamTopology New-FabricEventstream Remove-FabricEventstream Resume-FabricEventstream Resume-FabricEventstreamDestination Resume-FabricEventstreamSource Suspend-FabricEventstream Suspend-FabricEventstreamDestination Suspend-FabricEventstreamSource Update-FabricEventstream Update-FabricEventstreamDefinition Get-FabricExternalDataShare Revoke-FabricExternalDataShare Get-FabricFolder Move-FabricFolder New-FabricFolder Remove-FabricFolder Update-FabricFolder Get-FabricGateway Get-FabricGatewayDatasource Get-FabricGraphModel Get-FabricGraphModelDefinition Get-FabricGraphModelQueryableType Invoke-FabricGraphModelQuery New-FabricGraphModel Remove-FabricGraphModel Start-FabricGraphModelRefresh Update-FabricGraphModel Update-FabricGraphModelDefinition Get-FabricGraphQuerySet Get-FabricGraphQuerySetDefinition New-FabricGraphQuerySet Remove-FabricGraphQuerySet Update-FabricGraphQuerySet Update-FabricGraphQuerySetDefinition Get-FabricGraphQLApi Get-FabricGraphQLApiDefinition New-FabricGraphQLApi Remove-FabricGraphQLApi Update-FabricGraphQLApi Update-FabricGraphQLApiDefinition Get-FabricItem Get-FabricKQLDashboard Get-FabricKQLDashboardDefinition New-FabricKQLDashboard Remove-FabricKQLDashboard Update-FabricKQLDashboard Update-FabricKQLDashboardDefinition Get-FabricKQLDatabase Get-FabricKQLDatabaseDefinition New-FabricKQLDatabase Remove-FabricKQLDatabase Update-FabricKQLDatabase Update-FabricKQLDatabaseDefinition Get-FabricKQLQueryset Get-FabricKQLQuerysetDefinition New-FabricKQLQueryset Remove-FabricKQLQueryset Update-FabricKQLQueryset Update-FabricKQLQuerysetDefinition Remove-FabricLabel Set-FabricLabel Get-FabricLakehouse Get-FabricLakehouseLivySession Get-FabricLakehouseTable New-FabricLakehouse Remove-FabricLakehouse Start-FabricLakehouseRefreshMaterializedLakeView Start-FabricLakehouseTableMaintenance Update-FabricLakehouse Write-FabricLakehouseTableData Get-FabricManagedPrivateEndpoint New-FabricManagedPrivateEndpoint Remove-FabricManagedPrivateEndpoint Get-FabricMap Get-FabricMapDefinition New-FabricMap Remove-FabricMap Update-FabricMap Update-FabricMapDefinition Get-FabricMirroredAzureDatabricksCatalog Get-FabricMirroredAzureDatabricksCatalogDefinition New-FabricMirroredAzureDatabricksCatalog Remove-FabricMirroredAzureDatabricksCatalog Update-FabricMirroredAzureDatabricksCatalog Update-FabricMirroredAzureDatabricksCatalogDefinition Get-FabricMirroredDatabase Get-FabricMirroredDatabaseDefinition Get-FabricMirroredDatabaseStatus Get-FabricMirroredDatabaseTableStatus New-FabricMirroredDatabase Remove-FabricMirroredDatabase Start-FabricMirroredDatabaseMirroring Stop-FabricMirroredDatabaseMirroring Update-FabricMirroredDatabase Update-FabricMirroredDatabaseDefinition Get-FabricMirroredWarehouse Get-FabricMLExperiment New-FabricMLExperiment Remove-FabricMLExperiment Update-FabricMLExperiment Get-FabricMLModel New-FabricMLModel Remove-FabricMLModel Update-FabricMLModel Get-FabricMountedDataFactory Get-FabricMountedDataFactoryDefinition New-FabricMountedDataFactory Remove-FabricMountedDataFactory Update-FabricMountedDataFactory Update-FabricMountedDataFactoryDefinition Get-FabricNotebook Get-FabricNotebookDefinition Get-FabricNotebookLivySession New-FabricNotebook Remove-FabricNotebook Update-FabricNotebook Update-FabricNotebookDefinition Get-FabricOneLakeDataAccessRole Get-FabricOneLakeDataAccessSecurity Get-FabricOneLakeShortcut New-FabricOneLakeShortcut Remove-FabricOneLakeShortcut Reset-FabricOneLakeShortcutCache Set-FabricOneLakeDataAccessSecurity Get-FabricOntology Get-FabricOntologyDefinition New-FabricOntology Remove-FabricOntology Update-FabricOntology Update-FabricOntologyDefinition Get-FabricOperationsAgent Get-FabricOperationsAgentDefinition New-FabricOperationsAgent Remove-FabricOperationsAgent Update-FabricOperationsAgent Update-FabricOperationsAgentDefinition Get-FabricPaginatedReport Update-FabricPaginatedReport Get-FabricReflex Get-FabricReflexDefinition New-FabricReflex Remove-FabricReflex Update-FabricReflex Update-FabricReflexDefinition Get-FabricReport Get-FabricReportDefinition New-FabricReport Remove-FabricReport Update-FabricReport Update-FabricReportDefinition Get-FabricSemanticModel Get-FabricSemanticModelDefinition New-FabricSemanticModel Remove-FabricSemanticModel Update-FabricSemanticModel Update-FabricSemanticModelDefinition Remove-FabricSharingLinks Remove-FabricSharingLinksBulk Get-FabricSnowflakeDatabase Get-FabricSnowflakeDatabaseDefinition New-FabricSnowflakeDatabase Remove-FabricSnowflakeDatabase Update-FabricSnowflakeDatabase Update-FabricSnowflakeDatabaseDefinition Get-FabricSparkCustomPool Get-FabricSparkLivySession Get-FabricSparkSettings Get-FabricSparkWorkspaceSettings New-FabricSparkCustomPool Remove-FabricSparkCustomPool Update-FabricSparkCustomPool Update-FabricSparkSettings Update-FabricSparkWorkspaceSettings Get-FabricSparkJobDefinition Get-FabricSparkJobDefinitionDefinition Get-FabricSparkJobDefinitionLivySession New-FabricSparkJobDefinition Remove-FabricSparkJobDefinition Start-FabricSparkJobDefinitionOnDemand Update-FabricSparkJobDefinition Update-FabricSparkJobDefinitionDefinition Get-FabricSQLDatabase Get-FabricSQLDatabaseConnectionString Get-FabricSQLDatabaseDefinition New-FabricSQLDatabase Remove-FabricSQLDatabase Start-FabricSQLDatabaseMirroring Stop-FabricSQLDatabaseMirroring Update-FabricSQLDatabase Update-FabricSQLDatabaseDefinition Get-FabricSQLEndpoint Get-FabricSQLEndpointConnectionString Update-FabricSQLEndpointMetadata Get-FabricTag New-FabricTag Remove-FabricTag Update-FabricTag Get-FabricCapacityTenantSettingOverrides Get-FabricDomainTenantSettingOverrides Get-FabricTenantSetting Get-FabricTenantSettingOverridesCapacity Get-FabricWorkspaceTenantSettingOverrides Revoke-FabricCapacityTenantSettingOverrides Update-FabricCapacityTenantSettingOverrides Update-FabricTenantSetting Get-FabricUserDataFunction Get-FabricUserDataFunctionDefinition New-FabricUserDataFunction Remove-FabricUserDataFunction Update-FabricUserDataFunction Update-FabricUserDataFunctionDefinition Get-FabricUserListAccessEntities Clear-FabricNameCache Convert-FromBase64 Convert-ToBase64 Get-FabricLongRunningOperation Get-FabricLongRunningOperationResult Invoke-FabricAPIRequest Resolve-FabricCapacityIdFromWorkspace Resolve-FabricCapacityName Resolve-FabricDatasetName Resolve-FabricGatewayName Resolve-FabricWorkspaceName Set-FabricApiHeaders Get-FabricVariableLibrary Get-FabricVariableLibraryDefinition New-FabricVariableLibrary Remove-FabricVariableLibrary Update-FabricVariableLibrary Get-FabricWarehouse Get-FabricWarehouseConnectionString Get-FabricWarehouseSnapshot New-FabricWarehouse New-FabricWarehouseSnapshot Remove-FabricWarehouse Remove-FabricWarehouseSnapshot Update-FabricWarehouse Update-FabricWarehouseSnapshot Add-FabricWorkspaceCapacity Add-FabricWorkspaceIdentity Add-FabricWorkspaceRoleAssignment Get-FabricWorkspace Get-FabricWorkspaceAsAdmin Get-FabricWorkspaceGitConnection Get-FabricWorkspaceRoleAssignment New-FabricWorkspace Remove-FabricWorkspace Remove-FabricWorkspaceCapacity Remove-FabricWorkspaceIdentity Remove-FabricWorkspaceRoleAssignment Update-FabricWorkspace Update-FabricWorkspaceRoleAssignment

PSEditions

Core

Dependencies

Release Notes

# Changelog for MicrosoftFabricMgmt

The format is based on and uses the types of changes according to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
### Changed
### Fixed
### Deprecated
### Removed
### Security

## [1.0.0] - 2026-01-07

### BREAKING CHANGES

⚠️ **Version 1.0.0 contains significant breaking changes. See [BREAKING-CHANGES.md](BREAKING-CHANGES.md) for detailed migration guide.**

- **BREAKING**: Removed global `$FabricConfig` variable - Module now uses internal state management via PSFramework with `$script:FabricAuthContext`
- **BREAKING**: Removed custom `Write-Message` function - All logging now uses PSFrameworks `Write-PSFMessage`
- **BREAKING**: `Test-TokenExpired` now returns boolean (`$true`/`$false`) instead of throwing exceptions for better error handling
- **BREAKING**: PowerShell 5.1 minimum version required (supports both PowerShell 5.1 and 7+)

### Added

- **Managed Identity Authentication**: Full support for Azure Managed Identity (both system-assigned and user-assigned)
 - `Set-FabricApiHeaders -UseManagedIdentity` for system-assigned identity
 - `Set-FabricApiHeaders -UseManagedIdentity -ClientId "..."` for user-assigned identity
- **Automatic Token Refresh**: New `Test-TokenExpired -AutoRefresh` capability for Managed Identity authentication
- **PSFramework Integration**: Complete migration to PSFramework for configuration and logging
 - Configuration: `Get-PSFConfig -Module MicrosoftFabricMgmt` to view all settings
 - Logging: Enterprise-grade logging with multiple providers (file, event log, etc.)
- **New Helper Function**: `Invoke-TokenRefresh` for automatic token renewal (Managed Identity only)
- **Configuration Options**: New PSFramework-based configuration settings:
 - `Api.BaseUrl`: Base URL for Fabric API endpoints
 - `Api.ResourceUrl`: Azure resource URL for token acquisition
 - `Api.TimeoutSeconds`: Default timeout for API requests (30 seconds)
 - `Api.RetryMaxAttempts`: Maximum retry attempts (3)
 - `Api.RetryBackoffMultiplier`: Exponential backoff multiplier (2)
 - `Auth.TokenRefreshThresholdSeconds`: Token refresh threshold (300 seconds / 5 minutes)
 - `Json.DefaultDepth`: Default depth for JSON conversion (10)
- **Module Cleanup Handler**: Automatic cleanup of sensitive authentication data when module is unloaded
- **Enhanced Documentation**: Complete comment-based help updates for all authentication functions

### Changed

- **Module Manifest**: Updated to version 1.0.0 with explicit PowerShell 5.1 compatibility
 - Added `RequiredModules  dependency
 - Added `CompatiblePSEditions  for explicit PS 5.1 and 7+ support
 - Updated `PowerShellVersion ` minimum requirement
- **Module Initialization** (`prefix.ps1`): Complete rewrite with PSFramework configuration system
 - Initializes all module configuration on import
 - Creates module-scoped `$script:FabricAuthContext` instead of global `$FabricConfig`
 - Registers module cleanup handler for security
 - Displays breaking change notice on module load
- **Authentication** (`Set-FabricApiHeaders`): Complete rewrite with modern PowerShell patterns
 - Three parameter sets: `UserPrincipal`, `ServicePrincipal`, `ManagedIdentity`
 - All code is PowerShell 5.1 compatible (uses `New-Object` instead of `::new()`)
 - Uses PSFramework logging (`Write-PSFMessage`) throughout
 - Updates module-scoped `$script:FabricAuthContext` instead of global variable
 - Enhanced error messages with context-specific guidance
 - Stores authentication method and metadata for token refresh capability
- **Token Validation** (`Test-TokenExpired`): Enhanced with auto-refresh and better error handling
 - Returns `$true` (expired) or `$false` (valid) instead of throwing exceptions
 - New `-AutoRefresh` parameter for automatic token renewal
 - Proactive refresh when token < 5 minutes from expiration
 - Uses PSFramework logging and configuration
 - Checks module-scoped `$script:FabricAuthContext` instead of `$FabricConfig`
- **All Logging**: Migrated from custom `Write-Message` to PSFrameworks `Write-PSFMessage`
 - Better performance and flexibility
 - Supports multiple logging providers
 - Configurable log levels and filtering
 - Structured logging support

### Removed

- **Global `$FabricConfig` Variable**: Removed entirely - use module functions instead
- **Custom `Write-Message` Function**: Removed - use `Write-PSFMessage` from PSFramework
- **Exception-Based Token Validation**: `Test-TokenExpired` no longer throws - returns boolean

### Security

- **Improved Token Security**: Module-scoped authentication context prevents accidental global variable exposure
- **Automatic Memory Cleanup**: Secure cleanup of authentication data when module is unloaded
- **SecureString Handling**: Proper SecureString to plain text conversion with guaranteed memory cleanup

### Migration Guide

**If upgrading from 0.x to 1.0.0:**

1. Remove all `$FabricConfig` references from your scripts
2. Authentication still works the same way via `Set-FabricApiHeaders`
3. Use `Get-PSFConfigValue` if you need configuration values
4. Update any `Test-TokenExpired` calls to handle boolean return values
5. Consider migrating Azure-hosted workloads to Managed Identity authentication

**See [BREAKING-CHANGES.md](BREAKING-CHANGES.md) for complete migration guide with examples.**

### Previous Version Changes

---

**Contributors:**
Rob Sewell, Jess Pomfret, Ioana Bouariu, Frank Geisler, and others.

**Note:**
For a full list of changes and details, please see the commit history.

FileList

Version History

Version Downloads Last updated
1.0.18 3 4/8/2026
1.0.17 3 4/8/2026
1.0.16 2 4/8/2026
1.0.15 (current version) 3 4/8/2026
1.0.14 5 4/8/2026
1.0.13 10 3/23/2026
1.0.12 18 2/17/2026
1.0.11 5 2/16/2026
1.0.10 10 1/30/2026
1.0.9 6 1/30/2026
1.0.8 8 1/30/2026
1.0.7 7 1/30/2026
1.0.6 7 1/22/2026
1.0.5 7 1/21/2026
1.0.4 7 1/16/2026
1.0.3 6 1/16/2026
1.0.2 8 1/16/2026
1.0.1 8 1/16/2026
1.0.0 7 1/16/2026
Show more