SqlServerDsc.psd1
@{ # Script module or binary module file associated with this manifest. RootModule = 'SqlServerDsc.psm1' # Version number of this module. ModuleVersion = '17.2.0' # ID used to uniquely identify this module GUID = '693ee082-ed36-45a7-b490-88b07c86b42f' # Author of this module Author = 'DSC Community' # Company or vendor of this module CompanyName = 'DSC Community' # Copyright statement for this module Copyright = 'Copyright the DSC Community contributors. All rights reserved.' # Description of the functionality provided by this module Description = 'This module contains commands and DSC resources for deployment and configuration of Microsoft SQL Server, SQL Server Reporting Services and Power BI Report Server.' # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '5.0' # Minimum version of the common language runtime (CLR) required by this module CLRVersion = '4.0' # Functions to export from this module FunctionsToExport = @('Add-SqlDscNode','Add-SqlDscTraceFlag','Assert-SqlDscLogin','Complete-SqlDscFailoverCluster','Complete-SqlDscImage','Connect-SqlDscDatabaseEngine','ConvertFrom-SqlDscDatabasePermission','ConvertFrom-SqlDscServerPermission','ConvertTo-SqlDscDatabasePermission','ConvertTo-SqlDscEditionName','ConvertTo-SqlDscServerPermission','Disable-SqlDscAudit','Disconnect-SqlDscDatabaseEngine','Enable-SqlDscAudit','Get-SqlDscAudit','Get-SqlDscConfigurationOption','Get-SqlDscDatabasePermission','Get-SqlDscInstalledInstance','Get-SqlDscLogin','Get-SqlDscManagedComputer','Get-SqlDscManagedComputerService','Get-SqlDscPreferredModule','Get-SqlDscRSSetupConfiguration','Get-SqlDscServerPermission','Get-SqlDscStartupParameter','Get-SqlDscTraceFlag','Import-SqlDscPreferredModule','Initialize-SqlDscRebuildDatabase','Install-SqlDscBIReportServer','Install-SqlDscReportingService','Install-SqlDscServer','Invoke-SqlDscQuery','New-SqlDscAudit','New-SqlDscLogin','Remove-SqlDscAudit','Remove-SqlDscLogin','Remove-SqlDscNode','Remove-SqlDscTraceFlag','Repair-SqlDscBIReportServer','Repair-SqlDscReportingService','Repair-SqlDscServer','Save-SqlDscSqlServerMediaFile','Set-SqlDscAudit','Set-SqlDscDatabasePermission','Set-SqlDscServerPermission','Set-SqlDscStartupParameter','Set-SqlDscTraceFlag','Test-SqlDscIsDatabasePrincipal','Test-SqlDscIsLogin','Test-SqlDscIsRole','Test-SqlDscIsSupportedFeature','Test-SqlDscRSInstalled','Uninstall-SqlDscBIReportServer','Uninstall-SqlDscReportingService','Uninstall-SqlDscServer') # Cmdlets to export from this module # Use wildcard to avoid PSDesiredStateConfiguration 2.0.7 filtering class-based DSC resources (see #2109). CmdletsToExport = '*' # Variables to export from this module VariablesToExport = @() # Aliases to export from this module AliasesToExport = @() DscResourcesToExport = @('SqlAudit','SqlDatabasePermission','SqlPermission','SqlRSSetup','SqlAG','SqlAGDatabase','SqlAgentAlert','SqlAgentFailsafe','SqlAgentOperator','SqlAGListener','SqlAGReplica','SqlAlias','SqlAlwaysOnService','SqlConfiguration','SqlDatabase','SqlDatabaseDefaultLocation','SqlDatabaseMail','SqlDatabaseObjectPermission','SqlDatabaseRole','SqlDatabaseUser','SqlEndpoint','SqlEndpointPermission','SqlLogin','SqlMaxDop','SqlMemory','SqlProtocol','SqlProtocolTcpIp','SqlReplication','SqlRole','SqlRS','SqlScript','SqlScriptQuery','SqlSecureConnection','SqlServiceAccount','SqlSetup','SqlTraceFlag','SqlWaitForAG','SqlWindowsFirewall') RequiredAssemblies = @() # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Set to a prerelease string value if the release should be a prerelease. Prerelease = 'preview0003' # Tags applied to this module. These help with module discovery in online galleries. Tags = @('DesiredStateConfiguration', 'DSC', 'DSCResourceKit', 'DSCResource', 'SqlServer', 'PowerBI', 'ReportingServices', 'ReportServer') # A URL to the license for this module. LicenseUri = 'https://github.com/dsccommunity/SqlServerDsc/blob/main/LICENSE' # A URL to the main website for this project. ProjectUri = 'https://github.com/dsccommunity/SqlServerDsc' # A URL to an icon representing this module. IconUri = 'https://dsccommunity.org/images/DSC_Logo_300p.png' # ReleaseNotes of this module ReleaseNotes = '## [17.2.0-preview0003] - 2025-08-19 ### Fixed - Make sure tests forcibly imports the module being tested to avoid AI failing when testing changes. - Fixed Azure DevOps pipeline conditions that were preventing DSC resource integration tests from running when they should by removing incorrect quotes around boolean values. ### Added - Added setup workflow for GitHub Copilot. - Switch the workflow to use Linux. - Attempt to unshallow the Copilot branch - Improved AI instructions. - `Assert-SqlDscLogin` - Added new public command to validate that a specified SQL Server principal exists as a login, throwing a terminating error if it doesn''t exist. - Supports pipeline input and provides detailed error messages with localization. - Uses `Test-SqlDscIsLogin` command for login validation following module patterns. - `Get-SqlDscLogin` - Added new public command to get a SQL Server login from a Database Engine instance. - Returns a `Microsoft.SqlServer.Management.Smo.Login` object that represents the login. - Supports getting a specific login by name or all logins if no name is specified. - Includes a `-Refresh` parameter to refresh the server''s login collection before retrieval. - `Remove-SqlDscLogin` - Added new public command to remove a SQL Server login from a Database Engine instance. - Supports removing a login by specifying a `ServerObject` and `Name`, or by passing a `LoginObject` through the pipeline. - Includes confirmation prompts with `-Force` parameter to bypass confirmation. - Includes a `-Refresh` parameter to refresh the server''s login collection before attempting removal. - Provides detailed error messages with localization support. - `New-SqlDscLogin` - Added new public command to create a new login on a SQL Server Database Engine instance. - Supports creating SQL Server logins, Windows user logins, Windows group logins, certificate-based logins, and asymmetric key-based logins. - Implements proper parameter sets to prevent combining hashed passwords with password policy options, following SQL Server restrictions. ### Changed - Module now outputs a verbose message instead of a warning when the SMO dependency module is missing during import to work around a DSC v3 issue. - VS Code tasks configuration was improved to support AI. - `Prerequisites` tests - Added creation of `SqlIntegrationTest` local Windows user for integration testing. - `tests/Integration/Commands/README.md` - Added documentation for `SqlIntegrationTest` user and `IntegrationTestSqlLogin` login. - Added run order information for `New-SqlDscLogin` integration test. - `azure-pipelines.yml` - Remove `windows-2019` images fixes [#2106](https://github.com/dsccommunity/SqlServerDsc/issues/2106). - Move individual tasks to `windows-latest`. - Added integration tests for `Assert-SqlDscLogin` command in Group 2. - Added conditional logic to skip DSC resource integration tests when changes don''t affect DSC resources, improving CI/CD performance for non-DSC changes. - `SqlServerDsc.psd1` - Set `CmdletsToExport` to `*` in module manifest to fix issue [#2109](https://github.com/dsccommunity/SqlServerDsc/issues/2109). - Added optimization for DSC resource integration tests - Created `.build/Test-ShouldRunDscResourceIntegrationTests.ps1` to analyze git changes and decide when DSC resource integration tests are needed. - DSC resource integration test stages now run only when changes affect DSC resources, public commands used by resources, or related components. - Unit tests, QA tests, and command integration tests continue to run for all changes. - Provides time savings for non-DSC changes while maintaining coverage. ' } # End of PSData hashtable } # End of PrivateData hashtable } |