Rnwood.Dataverse.Data.PowerShell
A PowerShell module for interacting with Microsoft Dataverse.
Install / Use
/learn @rnwood/Rnwood.Dataverse.Data.PowerShellREADME
Rnwood.Dataverse.Data.PowerShell

A PowerShell module for connecting to Microsoft Dataverse (used by Dynamics 365 and Power Apps) to query and manipulate data, solutions and customisations.
This module works in PowerShell Desktop and PowerShell Core, supporting Windows, Linux, and macOS.
Features
- Creating, updating, upserting and deleting records, including M:M records
- Simple PowerShell objects for input and output instead of complex SDK Entity classes
- Automatic data type conversion using metadata - use friendly labels for choices and names for lookups
- Automatic lookup conversion - use record names instead of GUIDs (when unique)
- On behalf of (delegation) support for create/update operations
- Duplicate detection support for create/update/upsert operations
- Full support for automatic paging
- Concise PowerShell-friendly hashtable-based filters with grouped logical expressions (and/or/not/xor) and arbitrary nesting
- Batching and parallelisation support for efficient bulk operations
- Auto-retries support in many cmdlets
- Comprehensive metadata operations
- Create, read, update, and delete entities, attributes, option sets, and relationships
- manipulate model-driven apps, forms, views
- manipulate solutions and solution components
- Full plugin lifecycle management
- Upload and manage plugin assemblies and packages
- Register plugin types, steps, and images with tab completion support
- Dynamic plugin development with on-the-fly C# compilation and Visual Studio project export for IDE-based development
Note: On-premise Dataverse environments are not supported.
- An XrmToolbox plugin is also available to make getting started really easy: See the Rnwood.Dataverse.Data.PowerShell.XrmToolboxPlugin README for information.
Quick Start
Installation
# Set execution policy (one-time setup)
Set-ExecutionPolicy –ExecutionPolicy RemoteSigned –Scope CurrentUser
# Install module
Install-Module Rnwood.Dataverse.Data.PowerShell -Scope CurrentUser
For detailed installation instructions, including versioning, see Installation Guide.
Basic Usage
# Connect to Dataverse and set as default
# omit the -Url for a menu
Get-DataverseConnection -url https://myorg.crm11.dynamics.com -interactive -setasdefault
# Query records
Get-DataverseRecord -TableName contact -FilterValues @{ lastname = 'Smith' }
# Create a record
Set-DataverseRecord -TableName contact -InputObject @{
firstname = 'John'
lastname = 'Doe'
emailaddress1 = 'john.doe@example.com'
} -CreateOnly
# Update a record
Set-DataverseRecord -TableName contact -Id $contactId -InputObject @{
description = 'Updated via PowerShell'
}
# Delete a record
Remove-DataverseRecord -TableName contact -Id $contactId
For more advanced scenarios including metadata and customisations, see the documentation section below.
Documentation
Getting Started
- Installation - How to install and update the module
- Quick Start Guide - Basic operations and PowerShell best practices
- Authentication Methods - All supported authentication methods
Core Concepts
- Connection Management - Getting connected, default connections, named connections
- Querying Records - Filtering, paging, sorting, linking, SQL queries
- Creating and Updating Records - Create, update, upsert operations
- Deleting Records - Delete operations and SQL alternatives
- Record Access Management - Test, grant, list, and revoke record-level access rights
- Working with Metadata - Reading and managing schema (entities, attributes, relationships, option sets)
- Organization Settings - Getting and updating organization table columns and OrgDbOrgSettings XML
- Managing Web Resources - Upload, download, and manage web resources with file system integration
- Managing Forms - Creat, update, and managed forms
- View Management - Create, update, and manage system and personal views
- App Module Management - Create, update, and manage model-driven apps
- Environment Variables and Connection References - Managing configuration and connections
- Plugin Management - Manage plugins including dynamic plugin assemblies (compile C# on-the-fly), traditional plugin assemblies, plugin steps, and images
- Solution Management - Import, export, and manage solutions
- Solution Component Management - Managing individual components within solutions
- Dependency Management - Understanding and managing component dependencies
Advanced Topics
- Error Handling and Batch Operations - Error handling and retry logic
- Parallelization - Parallel processing for best performance
Common Use Cases
- Use Cases - Real-world scenarios including CI/CD pipelines, data import/export, mass updates, and source control management
Reference
- Cmdlet Documentation - Full cmdlet reference with parameters and examples
Main Cmdlets
Data Operations
Get-DataverseConnection— create or retrieve a connectionGet-DataverseRecord— query and retrieve recordsSet-DataverseRecord— create, update or upsert recordsRemove-DataverseRecord— delete records
Advanced Operations
Invoke-DataverseRequest— execute arbitrary SDK requestsInvoke-DataverseSql— run SQL queries against Dataverse
Advanced Operations
Invoke-DataverseRequest— execute arbitrary SDK requestsInvoke-DataverseSql— run SQL queries against Dataverse
Record Access Management
Test-DataverseRecordAccess— test access rights a principal has for a recordGet-DataverseRecordAccess— list all principals with shared access to a recordSet-DataverseRecordAccess— grant or modify access rights for a principal on a recordRemove-DataverseRecordAccess— revoke access rights from a principal on a record
View Management
Get-DataverseView— retrieve system and personal viewsSet-DataverseView— create or update views with FetchXML or simplified filtersRemove-DataverseView— delete views
App Module Management
Get-DataverseAppModule— retrieve app modules (model-driven apps)Set-DataverseAppModule— create or update app modulesRemove-DataverseAppModule— delete app modules
App Module Component Management
Get-DataverseAppModuleComponent— retrieve components included in an app (entities, forms, views, etc.)Set-DataverseAppModuleComponent— add or update a component within an appRemove-DataverseAppModuleComponent— remove a component from an app
Web Resource Management
Get-DataverseWebResource— retrieve web resources with file supportSet-DataverseWebResource— create or update web resources from files or foldersRemove-DataverseWebResource— delete web resources
Sitemap Management
Get-DataverseSitemap— retrieve sitemap navigation definitionsSet-DataverseSitemap— create or update sitemap navigationRemove-DataverseSitemap— delete sitemap navigation- [
Get-DataverseSitemapEntry](Rnwood.Dataverse.Data.Po
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
