SqlServerDsc.psd1

@{
    # Script module or binary module file associated with this manifest.
    RootModule           = 'SqlServerDsc.psm1'

    # Version number of this module.
    ModuleVersion        = '17.3.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-SqlDscAgentOperator','Assert-SqlDscLogin','Complete-SqlDscFailoverCluster','Complete-SqlDscImage','Connect-SqlDscDatabaseEngine','ConvertFrom-SqlDscDatabasePermission','ConvertFrom-SqlDscServerPermission','ConvertTo-SqlDscDatabasePermission','ConvertTo-SqlDscEditionName','ConvertTo-SqlDscServerPermission','Deny-SqlDscServerPermission','Disable-SqlDscAgentOperator','Disable-SqlDscAudit','Disable-SqlDscLogin','Disconnect-SqlDscDatabaseEngine','Enable-SqlDscAgentOperator','Enable-SqlDscAudit','Enable-SqlDscLogin','Get-SqlDscAgentAlert','Get-SqlDscAgentOperator','Get-SqlDscAudit','Get-SqlDscConfigurationOption','Get-SqlDscDatabase','Get-SqlDscDatabasePermission','Get-SqlDscInstalledInstance','Get-SqlDscLogin','Get-SqlDscManagedComputer','Get-SqlDscManagedComputerInstance','Get-SqlDscManagedComputerService','Get-SqlDscPreferredModule','Get-SqlDscRole','Get-SqlDscRSSetupConfiguration','Get-SqlDscServerPermission','Get-SqlDscServerProtocol','Get-SqlDscServerProtocolName','Get-SqlDscStartupParameter','Get-SqlDscTraceFlag','Grant-SqlDscServerPermission','Import-SqlDscPreferredModule','Initialize-SqlDscRebuildDatabase','Install-SqlDscBIReportServer','Install-SqlDscReportingService','Install-SqlDscServer','Invoke-SqlDscQuery','New-SqlDscAgentAlert','New-SqlDscAgentOperator','New-SqlDscAudit','New-SqlDscDatabase','New-SqlDscLogin','New-SqlDscRole','Remove-SqlDscAgentAlert','Remove-SqlDscAgentOperator','Remove-SqlDscAudit','Remove-SqlDscDatabase','Remove-SqlDscLogin','Remove-SqlDscNode','Remove-SqlDscRole','Remove-SqlDscTraceFlag','Repair-SqlDscBIReportServer','Repair-SqlDscReportingService','Repair-SqlDscServer','Revoke-SqlDscServerPermission','Save-SqlDscSqlServerMediaFile','Set-SqlDscAgentAlert','Set-SqlDscAgentOperator','Set-SqlDscAudit','Set-SqlDscConfigurationOption','Set-SqlDscDatabase','Set-SqlDscDatabaseDefault','Set-SqlDscDatabasePermission','Set-SqlDscServerPermission','Set-SqlDscStartupParameter','Set-SqlDscTraceFlag','Test-SqlDscAgentAlertProperty','Test-SqlDscConfigurationOption','Test-SqlDscDatabase','Test-SqlDscIsAgentAlert','Test-SqlDscIsAgentOperator','Test-SqlDscIsDatabasePrincipal','Test-SqlDscIsLogin','Test-SqlDscIsLoginEnabled','Test-SqlDscIsRole','Test-SqlDscIsSupportedFeature','Test-SqlDscRSInstalled','Test-SqlDscServerPermission','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      = 'Test-SqlDscAgentAlert'

    DscResourcesToExport = @('SqlAgentAlert','SqlAudit','SqlDatabasePermission','SqlPermission','SqlRSSetup','SqlAG','SqlAGDatabase','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   = 'preview0004'

            # 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.3.0-preview0004] - 2025-09-26

### Added

- Added integration tests for `Get-SqlDscDatabasePermission` command to ensure
  database permission retrieval functions correctly in real environments
  [issue #2221](https://github.com/dsccommunity/SqlServerDsc/issues/2221).
- Added integration tests for `Get-SqlDscManagedComputer` command to ensure it
  functions correctly in real environments
  [issue #2220](https://github.com/dsccommunity/SqlServerDsc/issues/2220).
- Added integration tests for `Remove-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2241](https://github.com/dsccommunity/SqlServerDsc/issues/2241).
- Added integration tests for `ConvertFrom-SqlDscDatabasePermission` command to
  ensure it functions correctly in real environments
  [issue #2211](https://github.com/dsccommunity/SqlServerDsc/issues/2211).
- Added integration tests for `Get-SqlDscStartupParameter` command to ensure it
  functions correctly in real environments
  [issue #2217](https://github.com/dsccommunity/SqlServerDsc/issues/2217).
- Added integration tests for `Get-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2216](https://github.com/dsccommunity/SqlServerDsc/issues/2216).
- Added integration tests for `Get-SqlDscPreferredModule` command to ensure it
  functions correctly in real environments
  [issue #2218](https://github.com/dsccommunity/SqlServerDsc/issues/2218).
- Added integration tests for `Enable-SqlDscAudit` command to ensure command
  reliability [issue #2223](https://github.com/dsccommunity/SqlServerDsc/issues/2223).
- Added integration tests for `Get-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2222](https://github.com/dsccommunity/SqlServerDsc/issues/2222).
- Added integration tests for `Disconnect-SqlDscDatabaseEngine` command to ensure
  command reliability in real environments
  [issue #2224](https://github.com/dsccommunity/SqlServerDsc/issues/2224).
- Added integration tests for `Invoke-SqlDscQuery` command to ensure it functions
  correctly in real environments
  [issue #2227](https://github.com/dsccommunity/SqlServerDsc/issues/2227).
- Added integration tests for `New-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2226](https://github.com/dsccommunity/SqlServerDsc/issues/2226).
- Added integration tests for `Test-SqlDscIsLogin` command to ensure it functions
  correctly in real environments
  [issue #2230](https://github.com/dsccommunity/SqlServerDsc/issues/2230).
- Added integration tests for `Test-SqlDscIsDatabasePrincipal` command to ensure it
  functions correctly in real environments
  [issue #2231](https://github.com/dsccommunity/SqlServerDsc/issues/2231).
- Added integration tests for `Set-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2236](https://github.com/dsccommunity/SqlServerDsc/issues/2236).
- Added integration tests for `Set-SqlDscStartupParameter` command to ensure
  reliable startup parameter configuration
  [issue #2233](https://github.com/dsccommunity/SqlServerDsc/issues/2233).
- Added integration tests for `Set-SqlDscServerPermission` command to ensure it
  functions correctly in real environments
  [issue #2234](https://github.com/dsccommunity/SqlServerDsc/issues/2234).
- Added integration tests for `Save-SqlDscSqlServerMediaFile` command to ensure
  it functions correctly in real environments
  [issue #2237](https://github.com/dsccommunity/SqlServerDsc/issues/2237).
- Added integration tests for `Disable-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2206](https://github.com/dsccommunity/SqlServerDsc/issues/2206).
- Added integration tests for `ConvertTo-SqlDscDatabasePermission` command to
  ensure command reliability
  [issue #2209](https://github.com/dsccommunity/SqlServerDsc/issues/2209).
- Added integration tests for `Set-SqlDscDatabasePermission` command to ensure
  command reliability
  [issue #2235](https://github.com/dsccommunity/SqlServerDsc/issues/2235).
- Added integration test for `ConvertTo-SqlDscEditionName` command to ensure
  command reliability in real environments
  [issue #2208](https://github.com/dsccommunity/SqlServerDsc/issues/2208).
- Added integration tests for `Import-SqlDscPreferredModule` command to ensure
  proper module import functionality in real environments
  [issue #2225](https://github.com/dsccommunity/SqlServerDsc/issues/2225).
- Added integration tests for `Test-SqlDscIsSupportedFeature` command to ensure
  it functions correctly in real environments
  [issue #2228](https://github.com/dsccommunity/SqlServerDsc/issues/2228).
- Added integration test for `Get-SqlDscManagedComputerService` command to ensure
  command reliability [issue #2219](https://github.com/dsccommunity/SqlServerDsc/issues/2219).
- Added integration tests for `Set-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2232](https://github.com/dsccommunity/SqlServerDsc/issues/2232).
- Added integration tests for `ConvertFrom-SqlDscServerPermission` command to
  ensure it functions correctly in real environments
  [issue #2210](https://github.com/dsccommunity/SqlServerDsc/issues/2210).
- `Remove-SqlDscTraceFlag`
  - Added missing integration test to ensure command reliability ([issue #2239](https://github.com/dsccommunity/SqlServerDsc/issues/2239)).
- `Remove-SqlDscAudit`
  - Added missing integration test to ensure command reliability ([issue #2241](https://github.com/dsccommunity/SqlServerDsc/issues/2241)).
- Added integration tests for `Test-SqlDscIsRole` command to ensure it functions
  correctly in real environments
  [issue #2229](https://github.com/dsccommunity/SqlServerDsc/issues/2229).
- Added integration tests for `Add-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2214](https://github.com/dsccommunity/SqlServerDsc/issues/2214).

### Changed

- `Test-SqlDscIsDatabasePrincipal` and `Get-SqlDscDatabasePermission`
  - Added `Refresh` parameter to refresh SMO collections before checking
    database principals, addressing issues with custom database roles created
    via T-SQL that aren''t immediately visible to SMO. The refresh logic is
    optimized to only refresh collections that will be used based on exclude
    parameters, improving performance on databases with large numbers of principals
    ([issue #2221](https://github.com/dsccommunity/SqlServerDsc/issues/2221)).

### Fixed

- `Add-SqlDscTraceFlag` and `Remove-SqlDscTraceFlag`
  - Fixed parameter binding error when `ErrorAction` was specified both
    explicitly and via `PSBoundParameters` by using `Remove-CommonParameter`
    instead of manual parameter removal
    ([issue #2239](https://github.com/dsccommunity/SqlServerDsc/issues/2239)).
- `Remove-SqlDscTraceFlag`
  - Optimized to skip unnecessary Set operations when removal results in no
    effective change
    ([issue #2239](https://github.com/dsccommunity/SqlServerDsc/issues/2239)).
- Updated `.gitattributes` to enforce LF line endings for PowerShell files to
  ensure cross-platform compatibility.
- Updated GitHub Copilot setup workflow to fix environment variable assignment
  in task.
- Updated VS Code tasks configuration to use proper build and test commands
  with improved task grouping and problem matchers.
- Updated instruction files to use correct build command (`noop` instead of
  `build`) and fixed file pattern matching syntax.

'


        } # End of PSData hashtable

    } # End of PrivateData hashtable
}