https://github.com/abbgrade/psxmla
PsXmla connects XMLA and PowerShell. It gives you PowerShell Cmdlets with the power of Microsoft.AnalysisServices.Tabular
https://github.com/abbgrade/psxmla
automation azure-analysis-services powerbi powershell sqlserver ssas xmla
Last synced: about 2 months ago
JSON representation
PsXmla connects XMLA and PowerShell. It gives you PowerShell Cmdlets with the power of Microsoft.AnalysisServices.Tabular
- Host: GitHub
- URL: https://github.com/abbgrade/psxmla
- Owner: abbgrade
- License: mit
- Created: 2021-09-16T15:33:50.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2025-02-12T09:58:35.000Z (over 1 year ago)
- Last Synced: 2026-03-06T02:35:06.677Z (3 months ago)
- Topics: automation, azure-analysis-services, powerbi, powershell, sqlserver, ssas, xmla
- Language: C#
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# PsXmla
PsXmla connects XMLA and PowerShell. It gives you PowerShell Cmdlets with the power of [Microsoft.AnalysisServices.Tabular](https://www.nuget.org/packages/Microsoft.AnalysisServices.Tabular/). For example you can automate your work with [Tabular Editor](https://github.com/TabularEditor/TabularEditor) and the [Power BI XMLA endpoints](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools).
## Installation
This module can be installed from [PsGallery](https://www.powershellgallery.com/packages/PsXmla).
```powershell
Install-Module -Name PsXmla -Scope CurrentUser
```
Alternatively it can be build and installed from source.
1. Install the development dependencies
2. Download or clone it from GitHub
3. Run the installation task:
```powershell
Invoke-Build Install
```
## Usage
TODO
### Commands
| Command | Description | Status |
| ---------------------------- | ----------------------------------------- | ------- |
| Connect-Instance | Create a new database connection. | ☑ |
| ⮱ Polly Retries | Implement retry policies on Polly | ☐ |
| Disconnect-Instance | Close connection | ☑ |
| Invoke-Command | Execute SQLCMD scripts | ☐ |
| ⮱ Retry support | Specify the number of retry attempts | ☑ |
| ⮱ Power BI exceptions | Parse and handle exceptions from Power BI | ☐ |
## Changelog
See the [changelog](./CHANGELOG.md) file.
## Development
- This is a [Portable Module](https://docs.microsoft.com/de-de/powershell/scripting/dev-cross-plat/writing-portable-modules?view=powershell-7) based on [PowerShell Standard](https://github.com/powershell/powershellstandard) and [.NET Standard](https://docs.microsoft.com/en-us/dotnet/standard/net-standard).
- [VSCode](https://code.visualstudio.com) is recommended as IDE. [VSCode Tasks](https://code.visualstudio.com/docs/editor/tasks) are configured.
- Build automation is based on [InvokeBuild](https://github.com/nightroman/Invoke-Build)
- Test automation is based on [Pester](https://pester.dev)
- Commands are named based on [Approved Verbs for PowerShell Commands](https://docs.microsoft.com/de-de/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands)
### Build
The build scripts require InvokeBuild. If it is not installed, install it with the command `Install-Module InvokeBuild -Scope CurrentUser`.
You can build the module using the VS Code build task or with the command `Invoke-Build Build`.
### Release
1. Create release branch using gitflow.
2. Update version number in psd1 file.
3. Update changelog in this readme file.
4. Uninstall old versions.
5. publish release using `Invoke-Build Publish`.
6. finish release using gitflow.