SqlServerDsc.psd1
|
@{ # Script module or binary module file associated with this manifest. RootModule = 'SqlServerDsc.psm1' # Version number of this module. ModuleVersion = '17.4.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-SqlDscFileGroup','Add-SqlDscNode','Add-SqlDscRSUrlReservation','Add-SqlDscTraceFlag','Assert-SqlDscAgentOperator','Assert-SqlDscLogin','Backup-SqlDscDatabase','Complete-SqlDscFailoverCluster','Complete-SqlDscImage','Connect-SqlDscDatabaseEngine','ConvertFrom-SqlDscDatabasePermission','ConvertFrom-SqlDscServerPermission','ConvertTo-SqlDscDatabasePermission','ConvertTo-SqlDscDataFile','ConvertTo-SqlDscEditionName','ConvertTo-SqlDscFileGroup','ConvertTo-SqlDscServerPermission','Deny-SqlDscServerPermission','Disable-SqlDscAgentOperator','Disable-SqlDscAudit','Disable-SqlDscDatabaseSnapshotIsolation','Disable-SqlDscLogin','Disable-SqlDscRsSecureConnection','Disconnect-SqlDscDatabaseEngine','Enable-SqlDscAgentOperator','Enable-SqlDscAudit','Enable-SqlDscDatabaseSnapshotIsolation','Enable-SqlDscLogin','Enable-SqlDscRsSecureConnection','Get-SqlDscAgentAlert','Get-SqlDscAgentOperator','Get-SqlDscAudit','Get-SqlDscBackupFileList','Get-SqlDscCompatibilityLevel','Get-SqlDscConfigurationOption','Get-SqlDscDatabase','Get-SqlDscDatabasePermission','Get-SqlDscDateTime','Get-SqlDscInstalledInstance','Get-SqlDscLogin','Get-SqlDscManagedComputer','Get-SqlDscManagedComputerInstance','Get-SqlDscManagedComputerService','Get-SqlDscPreferredModule','Get-SqlDscRole','Get-SqlDscRSConfiguration','Get-SqlDscRSPackage','Get-SqlDscRSSetupConfiguration','Get-SqlDscRSUrlReservation','Get-SqlDscRSVersion','Get-SqlDscRSWebPortalApplicationName','Get-SqlDscServerPermission','Get-SqlDscServerProtocol','Get-SqlDscServerProtocolName','Get-SqlDscServerProtocolTcpIp','Get-SqlDscSetupLog','Get-SqlDscStartupParameter','Get-SqlDscTraceFlag','Grant-SqlDscServerPermission','Import-SqlDscPreferredModule','Initialize-SqlDscRebuildDatabase','Install-SqlDscPowerBIReportServer','Install-SqlDscReportingService','Install-SqlDscServer','Invoke-SqlDscQuery','Invoke-SqlDscScalarQuery','New-SqlDscAgentAlert','New-SqlDscAgentOperator','New-SqlDscAudit','New-SqlDscDatabase','New-SqlDscDatabaseSnapshot','New-SqlDscDataFile','New-SqlDscFileGroup','New-SqlDscLogin','New-SqlDscRole','Remove-SqlDscAgentAlert','Remove-SqlDscAgentOperator','Remove-SqlDscAudit','Remove-SqlDscDatabase','Remove-SqlDscLogin','Remove-SqlDscNode','Remove-SqlDscRole','Remove-SqlDscRSUrlReservation','Remove-SqlDscTraceFlag','Repair-SqlDscPowerBIReportServer','Repair-SqlDscReportingService','Repair-SqlDscServer','Restore-SqlDscDatabase','Resume-SqlDscDatabase','Revoke-SqlDscServerPermission','Save-SqlDscSqlServerMediaFile','Set-SqlDscAgentAlert','Set-SqlDscAgentOperator','Set-SqlDscAudit','Set-SqlDscConfigurationOption','Set-SqlDscDatabaseDefault','Set-SqlDscDatabaseOwner','Set-SqlDscDatabasePermission','Set-SqlDscDatabaseProperty','Set-SqlDscRSUrlReservation','Set-SqlDscRSVirtualDirectory','Set-SqlDscServerPermission','Set-SqlDscStartupParameter','Set-SqlDscTraceFlag','Suspend-SqlDscDatabase','Test-SqlDscAgentAlertProperty','Test-SqlDscBackupFile','Test-SqlDscConfigurationOption','Test-SqlDscDatabaseProperty','Test-SqlDscIsAgentAlert','Test-SqlDscIsAgentOperator','Test-SqlDscIsDatabase','Test-SqlDscIsDatabasePrincipal','Test-SqlDscIsLogin','Test-SqlDscIsLoginEnabled','Test-SqlDscIsRole','Test-SqlDscIsSupportedFeature','Test-SqlDscRSInstalled','Test-SqlDscServerPermission','Uninstall-SqlDscPowerBIReportServer','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 = @('Disable-SqlDscRSTls','Enable-SqlDscRSTls','Install-SqlDscBIReportServer','Install-SqlDscPBIReportServer','Repair-SqlDscBIReportServer','Repair-SqlDscPBIReportServer','Test-SqlDscAgentAlert','Uninstall-SqlDscBIReportServer','Uninstall-SqlDscPBIReportServer') DscResourcesToExport = @('SqlAgentAlert','SqlAudit','SqlDatabase','SqlDatabasePermission','SqlPermission','SqlRSSetup','SqlAG','SqlAGDatabase','SqlAgentFailsafe','SqlAgentOperator','SqlAGListener','SqlAGReplica','SqlAlias','SqlAlwaysOnService','SqlConfiguration','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 = 'preview0019' # 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.4.0-preview0019] - 2026-01-04 ### Added - Added public command `Set-SqlDscRSVirtualDirectory` to set the virtual directory for Reporting Services applications. Wraps the `SetVirtualDirectory` CIM method and supports ReportServerWebService, ReportServerWebApp, and ReportManager applications ([issue #2015](https://github.com/dsccommunity/SqlServerDsc/issues/2015)). - Added public commands `Get-SqlDscRSUrlReservation`, `Add-SqlDscRSUrlReservation`, `Remove-SqlDscRSUrlReservation`, and `Set-SqlDscRSUrlReservation` to manage URL reservations for SQL Server Reporting Services or Power BI Report Server. These commands wrap the `ListReservedUrls`, `ReserveUrl`, and `RemoveURL` CIM methods respectively. The `Set-SqlDscRSUrlReservation` command provides a declarative approach to set URL reservations to an exact list, removing any existing reservations not in the specified list ([issue #2016](https://github.com/dsccommunity/SqlServerDsc/issues/2016)) ([issue #2024](https://github.com/dsccommunity/SqlServerDsc/issues/2024)). - Added public command `Get-SqlDscRSConfiguration` to retrieve the `MSReportServer_ConfigurationSetting` CIM instance for SQL Server Reporting Services or Power BI Report Server. Supports auto-detection of the Reporting Services version or explicit version specification. The returned CIM instance can be piped to `Enable-SqlDscRsSecureConnection` or `Disable-SqlDscRsSecureConnection` ([issue #2022](https://github.com/dsccommunity/SqlServerDsc/issues/2022)). - Added public command `Get-SqlDscRSWebPortalApplicationName` to get the Reporting Services web portal application name based on the SQL Server version. Returns ''ReportServerWebApp'' for SQL Server 2016 (version 13) and later, or ''ReportManager'' for earlier versions. Accepts the setup configuration object from `Get-SqlDscRSSetupConfiguration` via pipeline. - Added public command `Enable-SqlDscRsSecureConnection` to enable secure connection for SQL Server Reporting Services or Power BI Report Server by setting the secure connection level to 1. Accepts the configuration CIM instance from pipeline, supports `-WhatIf`/`-Confirm`, and `-PassThru` to return the configuration object ([issue #2022](https://github.com/dsccommunity/SqlServerDsc/issues/2022)). - Added public command `Disable-SqlDscRsSecureConnection` to disable secure connection for SQL Server Reporting Services or Power BI Report Server by setting the secure connection level to 0. Accepts the configuration CIM instance from pipeline, supports `-WhatIf`/`-Confirm`, and `-PassThru` to return the configuration object ([issue #2023](https://github.com/dsccommunity/SqlServerDsc/issues/2023)). - Added private function `Invoke-RsCimMethod` to invoke CIM methods on Reporting Services configuration instances with consistent error handling. This function is used by `Enable-SqlDscRsSecureConnection`, `Disable-SqlDscRsSecureConnection`, and the `SqlRS` resource. - `Invoke-ReportServerSetupAction` - Now uses `Format-Path` with `-ExpandEnvironmentVariable` to expand environment variables in all path parameters (`MediaPath`, `LogPath`, `InstallFolder`) ([issue #2085](https://github.com/dsccommunity/SqlServerDsc/issues/2085)). - Added public command `Get-SqlDscServerProtocolTcpIp` to retrieve TCP/IP address group information for SQL Server instances. Returns `ServerIPAddress` objects containing port configuration including `TcpPort`, `TcpDynamicPorts`, `Enabled`, and `Active` properties. Supports filtering by specific IP address group name and accepts pipeline input from `Get-SqlDscServerProtocol`. - `SqlResourceBase` - Added `Protocol` property to specify the network protocol (`tcp`, `np`, `lpc`) when connecting to SQL Server instances ([issue #2041](https://github.com/dsccommunity/SqlServerDsc/issues/2041)). - Added `Port` property to specify the TCP port number when connecting to SQL Server instances ([issue #2041](https://github.com/dsccommunity/SqlServerDsc/issues/2041)). - `Connect-SqlDscDatabaseEngine` - Added `Protocol` parameter to specify the network protocol when connecting. - Added `Port` parameter to specify the TCP port number when connecting. Connection strings now support the format `[protocol:]hostname[\instance][,port]`. - `SqlDatabase` - Added new class-based resource to create, modify, or remove databases on a SQL Server instance. Supports a comprehensive set of database properties that can be configured with `Set-SqlDscDatabaseProperty` ([issue #2174](https://github.com/dsccommunity/SqlServerDsc/issues/2174)). - `Install-SqlDscServer` - Added parameter `AllowDqRemoval` to the `Upgrade` parameter set ([issue #2155](https://github.com/dsccommunity/SqlServerDsc/issues/2155)). - `Test-SqlDscIsSupportedFeature` - Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025 (17.x) and later versions ([issue #2380](https://github.com/dsccommunity/SqlServerDsc/issues/2380)). - Added public command `Get-SqlDscRSPackage` to retrieve package information for SQL Server Reporting Services or Power BI Report Server. Supports getting version information from an executable file ([issue #2082](https://github.com/dsccommunity/SqlServerDsc/issues/2082)). - Added public command `Get-SqlDscBackupFileList` to read the list of database files contained in a SQL Server backup file. Useful for planning file relocations during restore operations ([issue #2026](https://github.com/dsccommunity/SqlServerDsc/issues/2026)). - Added public command `Test-SqlDscBackupFile` to verify the integrity of a SQL Server backup file ([issue #2026](https://github.com/dsccommunity/SqlServerDsc/issues/2026)). - Added public command `Restore-SqlDscDatabase` to restore SQL Server databases from backup files. Supports full, differential, transaction log, and file restores with options for file relocation (both simple path-based and explicit RelocateFile objects), point-in-time recovery, NoRecovery/Standby modes, and various performance tuning options ([issue #2026](https://github.com/dsccommunity/SqlServerDsc/issues/2026)). - Added public command `Backup-SqlDscDatabase`. Supports full, differential, and transaction log backups with options for compression, copy-only, checksum, and retention ([issue #2365](https://github.com/dsccommunity/SqlServerDsc/issues/2365)). - Added public command `Invoke-SqlDscScalarQuery` to execute scalar queries using `Server.ConnectionContext.ExecuteScalar()`. Server-level, lightweight execution that does not require any database to be online ([issue #2423](https://github.com/dsccommunity/SqlServerDsc/issues/2423)). - Added public command `Get-SqlDscDateTime` to retrieve current date and time from SQL Server instance. Supports multiple T-SQL date/time functions to eliminate clock-skew and timezone issues between client and server ([issue #2423](https://github.com/dsccommunity/SqlServerDsc/issues/2423)). - Added public command `Backup-SqlDscDatabase` to perform database backups using SMO''s `Microsoft.SqlServer.Management.Smo.Backup` class. Supports full, differential, and transaction log backups with options for compression, copy-only, checksum, and retention. Accepts both Server and Database objects via pipeline ([issue #2365](https://github.com/dsccommunity/SqlServerDsc/issues/2365)). - `Set-SqlDscServerPermission` - Added integration tests for negative test scenarios including invalid permission names and non-existent principals. - `SqlPermission` - Added integration tests for server role permissions to complement the existing login permission tests. - `New-SqlDscDatabase` - Added comprehensive set of settable database properties that were previously only available in `Set-SqlDscDatabaseProperty` ([issue #2190](https://github.com/dsccommunity/SqlServerDsc/issues/2190)). - Added public command `Resume-SqlDscDatabase` to bring a database online using SMO `Database.SetOnline()`. Supports Server and Database pipeline input ([issue #2191](https://github.com/dsccommunity/SqlServerDsc/issues/2191)). - Added public command `Suspend-SqlDscDatabase` to take a database offline using SMO `Database.SetOffline()`. Supports Server and Database pipeline input; includes `Force` to disconnect active users ([issue #2192](https://github.com/dsccommunity/SqlServerDsc/issues/2192)). - `Remove-SqlDscLogin` - Added parameter `-KillActiveSessions` to automatically terminate any active sessions for a login before dropping it ([issue #2372](https://github.com/dsccommunity/SqlServerDsc/issues/2372)). - `Invoke-SetupAction` - Added parameter `AllowDqRemoval` for the `Upgrade` action to allow removal of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and later versions. - Now outputs setup progress when `-Verbose` is passed by using `/QUIETSIMPLE` instead of `/QUIET`. - `SqlResourceBase` - Added the method `ConvertToSmoEnumType()` to convert string values to SMO enum types at runtime. This method can be used by all resources inheriting from `SqlResourceBase` and supports a default namespace parameter to avoid repeating the full type name ([issue #2174](https://github.com/dsccommunity/SqlServerDsc/issues/2174)). ### Changed - `SqlRS` - Refactored to use the public commands `Enable-SqlDscRsSecureConnection` and `Disable-SqlDscRsSecureConnection` for setting the secure connection level instead of calling the CIM method directly. - Refactored to use the public commands `Get-SqlDscRSUrlReservation`, `Add-SqlDscRSUrlReservation`, `Remove-SqlDscRSUrlReservation`, and `Set-SqlDscRSUrlReservation` for managing URL reservations instead of calling the CIM methods directly. - Refactored to use the public command `Set-SqlDscRSVirtualDirectory` for setting virtual directories instead of calling the CIM method directly ' } # End of PSData hashtable } # End of PrivateData hashtable } |