Releases: dsccommunity/SqlServerDsc
Releases · dsccommunity/SqlServerDsc
v17.4.0-preview0021
[v17.4.0-preview0021]
Added
- Added public command
Request-SqlDscRSDatabaseScriptto generate T-SQL scripts
for creating report server databases. Wraps theGenerateDatabaseCreationScript
CIM method and supports configuring database name, language (LCID), and
SharePoint mode (issue #2017). - Added public command
Request-SqlDscRSDatabaseRightsScriptto generate T-SQL
scripts for granting permissions on report server databases. Wraps the
GenerateDatabaseRightsScriptCIM method and supports configuring database
name, user name, remote connections, and Windows/SQL authentication types
(issue #2019). - Added public command
Set-SqlDscRSDatabaseConnectionto set
the report server database connection for SQL Server Reporting Services or
Power BI Report Server. Wraps theSetDatabaseConnectionCIM method and
supports Windows, SQL Server, and Service Account authentication types
(issue #2021). - Added public command
Set-SqlDscRSVirtualDirectoryto set the virtual directory
for Reporting Services applications. Wraps theSetVirtualDirectoryCIM method
and supports ReportServerWebService, ReportServerWebApp, and ReportManager
applications (issue #2015). - Added public commands
Get-SqlDscRSUrlReservation,Add-SqlDscRSUrlReservation,
Remove-SqlDscRSUrlReservation, andSet-SqlDscRSUrlReservationto manage
URL reservations for SQL Server Reporting Services or Power BI Report Server.
These commands wrap theListReservedUrls,ReserveUrl, andRemoveURLCIM
methods respectively. TheSet-SqlDscRSUrlReservationcommand provides a
declarative approach to set URL reservations to an exact list, removing any
existing reservations not in the specified list
(issue #2016)
(issue #2024). - Added public command
Get-SqlDscRSConfigurationto retrieve the
MSReportServer_ConfigurationSettingCIM 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 toEnable-SqlDscRsSecureConnectionorDisable-SqlDscRsSecureConnection
(issue #2022). - Added public command
Get-SqlDscRSWebPortalApplicationNameto 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 fromGet-SqlDscRSSetupConfigurationvia pipeline. - Added public command
Enable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2022). - Added public command
Disable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2023). - Added private function
Invoke-RsCimMethodto invoke CIM methods on Reporting
Services configuration instances with consistent error handling. This function
is used byEnable-SqlDscRsSecureConnection,Disable-SqlDscRsSecureConnection,
and theSqlRSresource. - Added private function
Get-HResultMessageto translate common Windows HRESULT
error codes into human-readable messages. Used byInvoke-RsCimMethodto
provide actionable error messages when Reporting Services CIM methods fail
without detailed error information. Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
([issue #2372](https://github.com/dsccommu...
- Added parameter
v17.4.0-preview0020
[v17.4.0-preview0020]
Added
- Added public command
Set-SqlDscRSVirtualDirectoryto set the virtual directory
for Reporting Services applications. Wraps theSetVirtualDirectoryCIM method
and supports ReportServerWebService, ReportServerWebApp, and ReportManager
applications (issue #2015). - Added public commands
Get-SqlDscRSUrlReservation,Add-SqlDscRSUrlReservation,
Remove-SqlDscRSUrlReservation, andSet-SqlDscRSUrlReservationto manage
URL reservations for SQL Server Reporting Services or Power BI Report Server.
These commands wrap theListReservedUrls,ReserveUrl, andRemoveURLCIM
methods respectively. TheSet-SqlDscRSUrlReservationcommand provides a
declarative approach to set URL reservations to an exact list, removing any
existing reservations not in the specified list
(issue #2016)
(issue #2024). - Added public command
Get-SqlDscRSConfigurationto retrieve the
MSReportServer_ConfigurationSettingCIM 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 toEnable-SqlDscRsSecureConnectionorDisable-SqlDscRsSecureConnection
(issue #2022). - Added public command
Get-SqlDscRSWebPortalApplicationNameto 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 fromGet-SqlDscRSSetupConfigurationvia pipeline. - Added public command
Enable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2022). - Added public command
Disable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2023). - Added private function
Invoke-RsCimMethodto invoke CIM methods on Reporting
Services configuration instances with consistent error handling. This function
is used byEnable-SqlDscRsSecureConnection,Disable-SqlDscRsSecureConnection,
and theSqlRSresource. Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
SqlResourceBase- Added the method
ConvertToSmoEnumType()to convert string values to SMO
enum types at runtime. This method can be used by all resources inheriting
fromSqlResourceBaseand supports a default namespace parameter to avoid
repeating the full type name
(issue #2174).
- Added the method
Changed
Install-SqlDscServer- Removed misleading Uninstall parameter documentation from comment-based help
(issue #2448).
- Removed misleading Uninstall parameter documentation from comment-based help
SqlRS- Refactored to use the public commands
Enable-SqlDscRsSecureConnectionand
Disable-SqlDscRsSecureConnectionfor 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-SqlDscRSUrlReservationfor managing URL reservations instead of calling
t...
- Refactored to use the public commands
v17.4.0-preview0019
[v17.4.0-preview0019]
Added
- Added public command
Set-SqlDscRSVirtualDirectoryto set the virtual directory
for Reporting Services applications. Wraps theSetVirtualDirectoryCIM method
and supports ReportServerWebService, ReportServerWebApp, and ReportManager
applications (issue #2015). - Added public commands
Get-SqlDscRSUrlReservation,Add-SqlDscRSUrlReservation,
Remove-SqlDscRSUrlReservation, andSet-SqlDscRSUrlReservationto manage
URL reservations for SQL Server Reporting Services or Power BI Report Server.
These commands wrap theListReservedUrls,ReserveUrl, andRemoveURLCIM
methods respectively. TheSet-SqlDscRSUrlReservationcommand provides a
declarative approach to set URL reservations to an exact list, removing any
existing reservations not in the specified list
(issue #2016)
(issue #2024). - Added public command
Get-SqlDscRSConfigurationto retrieve the
MSReportServer_ConfigurationSettingCIM 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 toEnable-SqlDscRsSecureConnectionorDisable-SqlDscRsSecureConnection
(issue #2022). - Added public command
Get-SqlDscRSWebPortalApplicationNameto 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 fromGet-SqlDscRSSetupConfigurationvia pipeline. - Added public command
Enable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2022). - Added public command
Disable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2023). - Added private function
Invoke-RsCimMethodto invoke CIM methods on Reporting
Services configuration instances with consistent error handling. This function
is used byEnable-SqlDscRsSecureConnection,Disable-SqlDscRsSecureConnection,
and theSqlRSresource. Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
SqlResourceBase- Added the method
ConvertToSmoEnumType()to convert string values to SMO
enum types at runtime. This method can be used by all resources inheriting
fromSqlResourceBaseand supports a default namespace parameter to avoid
repeating the full type name
(issue #2174).
- Added the method
Changed
SqlRS- Refactored to use the public commands
Enable-SqlDscRsSecureConnectionand
Disable-SqlDscRsSecureConnectionfor 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-SqlDscRSUrlReservationfor managing URL reservations instead of calling
the CIM methods directly. - Refactored to use the public command
Set-SqlDscRSVirtualDirectoryfor
setting virtual directories instead of calling the CIM method directly
([iss...
- Refactored to use the public commands
v17.4.0-preview0018
[v17.4.0-preview0018]
Added
- Added public command
Set-SqlDscRSVirtualDirectoryto set the virtual directory
for Reporting Services applications. Wraps theSetVirtualDirectoryCIM method
and supports ReportServerWebService, ReportServerWebApp, and ReportManager
applications (issue #2015). - Added public commands
Get-SqlDscRSUrlReservation,Add-SqlDscRSUrlReservation,
Remove-SqlDscRSUrlReservation, andSet-SqlDscRSUrlReservationto manage
URL reservations for SQL Server Reporting Services or Power BI Report Server.
These commands wrap theListReservedUrls,ReserveUrl, andRemoveURLCIM
methods respectively. TheSet-SqlDscRSUrlReservationcommand provides a
declarative approach to set URL reservations to an exact list, removing any
existing reservations not in the specified list
(issue #2016)
(issue #2024). - Added public command
Get-SqlDscRSConfigurationto retrieve the
MSReportServer_ConfigurationSettingCIM 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 toEnable-SqlDscRsSecureConnectionorDisable-SqlDscRsSecureConnection
(issue #2022). - Added public command
Get-SqlDscRSWebPortalApplicationNameto 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 fromGet-SqlDscRSSetupConfigurationvia pipeline. - Added public command
Enable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2022). - Added public command
Disable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2023). - Added private function
Invoke-RsCimMethodto invoke CIM methods on Reporting
Services configuration instances with consistent error handling. This function
is used byEnable-SqlDscRsSecureConnection,Disable-SqlDscRsSecureConnection,
and theSqlRSresource. Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
SqlResourceBase- Added the method
ConvertToSmoEnumType()to convert string values to SMO
enum types at runtime. This method can be used by all resources inheriting
fromSqlResourceBaseand supports a default namespace parameter to avoid
repeating the full type name
(issue #2174).
- Added the method
Changed
SqlRS- Refactored to use the public commands
Enable-SqlDscRsSecureConnectionand
Disable-SqlDscRsSecureConnectionfor 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-SqlDscRSUrlReservationfor managing URL reservations instead of calling
the CIM methods directly. - Refactored to use the public command
Set-SqlDscRSVirtualDirectoryfor
setting virtual directories instead of calling the CIM method directly
([iss...
- Refactored to use the public commands
v17.4.0-preview0017
[v17.4.0-preview0017]
Added
- Added public command
Get-SqlDscRSConfigurationto retrieve the
MSReportServer_ConfigurationSettingCIM 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 toEnable-SqlDscRsSecureConnectionorDisable-SqlDscRsSecureConnection
(issue #2022). - Added public command
Enable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2022). - Added public command
Disable-SqlDscRsSecureConnectionto 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-PassThruto
return the configuration object
(issue #2023). - Added private function
Invoke-RsCimMethodto invoke CIM methods on Reporting
Services configuration instances with consistent error handling. This function
is used byEnable-SqlDscRsSecureConnection,Disable-SqlDscRsSecureConnection,
and theSqlRSresource. Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
SqlResourceBase- Added the method
ConvertToSmoEnumType()to convert string values to SMO
enum types at runtime. This method can be used by all resources inheriting
fromSqlResourceBaseand supports a default namespace parameter to avoid
repeating the full type name
(issue #2174).
- Added the method
Changed
SqlRS- Refactored to use the public commands
Enable-SqlDscRsSecureConnectionand
Disable-SqlDscRsSecureConnectionfor setting the secure connection level
instead of calling the CIM method directly.
- Refactored to use the public commands
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Unit Tests
- Fixed PowerShell class type identity issues that caused "Cannot convert
'Type' to 'Type'" errors when running multiple test files in the same
Pester job. The issue occurred because usingImport-Module -Forceand
Remove-Modulebetween test files caused PowerShell to create new type
identities for module-defined classes. Changed all unit test files to not
use-Forcewhen importing the module being tested and removed the module
unload fromAfterAllblocks. This prevents class type identity mismatches
while maintaining test isolation through mock cleanup.
- Fixed PowerShell class type identity issues that caused "Cannot convert
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration ...
v17.4.0-preview0016
[v17.4.0-preview0016]
Added
Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
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 withSet-SqlDscDatabaseProperty
(issue #2174).
- Added new class-based resource to create, modify, or remove databases on a
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
SqlResourceBase- Added the method
ConvertToSmoEnumType()to convert string values to SMO
enum types at runtime. This method can be used by all resources inheriting
fromSqlResourceBaseand supports a default namespace parameter to avoid
repeating the full type name
(issue #2174).
- Added the method
Changed
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Unit Tests
- Fixed PowerShell class type identity issues that caused "Cannot convert
'Type' to 'Type'" errors when running multiple test files in the same
Pester job. The issue occurred because usingImport-Module -Forceand
Remove-Modulebetween test files caused PowerShell to create new type
identities for module-defined classes. Changed all unit test files to not
use-Forcewhen importing the module being tested and removed the module
unload fromAfterAllblocks. This prevents class type identity mismatches
while maintaining test isolation through mock cleanup.
- Fixed PowerShell class type identity issues that caused "Cannot convert
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration tests, production code, and
build scripts
(issue #2376). SqlRS- Fixed integration tests failing with status code 0 when checking ReportServer
and Reports site accessibility by implementing retry logic (up to 2 minutes)
to handle timing issues where Reporting Services web services are not immediately
ready after DSC configuration completes. On final retry attempt with status
code 0, the exception is now re-thrown to provide detailed error diagnostics
(issue #2376). - Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Fixed integration tests failing with status code 0 when checking ReportServer
SqlProtocolTcpIp- Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Refactored to use the public command
SqlPermission- Refactored to use the new object-based server permission commands
(Grant-SqlDscServerPermission,Deny-SqlDscServerPermission,
Revoke-SqlDscServerPermission, andGet-SqlDscServerPermission)
instead of the deprecatedSet-SqlDscServerPermissioncommand
(issue #2159). - Updated documentation to clarify that the resource supports both logins
and server roles as principals. - Added a note in documentation clarifying that if a name exists as both
a login and a server role, the login will take precedence.
- Refactored to use the new object-based server permission commands
- BREAKING CHANGE:
Set-SqlDscServerPermission- Completely refactored to set...
v17.4.0-preview0015
[v17.4.0-preview0015]
Added
Invoke-ReportServerSetupAction- Now uses
Format-Pathwith-ExpandEnvironmentVariableto expand environment
variables in all path parameters (MediaPath,LogPath,InstallFolder)
(issue #2085).
- Now uses
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
Changed
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Unit Tests
- Fixed PowerShell class type identity issues that caused "Cannot convert
'Type' to 'Type'" errors when running multiple test files in the same
Pester job. The issue occurred because usingImport-Module -Forceand
Remove-Modulebetween test files caused PowerShell to create new type
identities for module-defined classes. Changed all unit test files to not
use-Forcewhen importing the module being tested and removed the module
unload fromAfterAllblocks. This prevents class type identity mismatches
while maintaining test isolation through mock cleanup.
- Fixed PowerShell class type identity issues that caused "Cannot convert
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration tests, production code, and
build scripts
(issue #2376). SqlRS- Fixed integration tests failing with status code 0 when checking ReportServer
and Reports site accessibility by implementing retry logic (up to 2 minutes) to
handle timing issues where Reporting Services web services are not immediately
ready after DSC configuration completes. On final retry attempt with status
code 0, the exception is now re-thrown to provide detailed error diagnostics
(issue #2376). - Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Fixed integration tests failing with status code 0 when checking ReportServer
SqlProtocolTcpIp- Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Refactored to use the public command
SqlPermission- Refactored to use the new object-based server permission commands
(Grant-SqlDscServerPermission,Deny-SqlDscServerPermission,
Revoke-SqlDscServerPermission, andGet-SqlDscServerPermission)
instead of the deprecatedSet-SqlDscServerPermissioncommand
(issue #2159). - Updated documentation to clarify that the resource supports both logins
and server roles as principals. - Added a note in documentation clarifying that if a name exists as both
a login and a server role, the login will take precedence.
- Refactored to use the new object-based server permission commands
- BREAKING CHANGE:
Set-SqlDscServerPermission- Completely refactored to set exact server permissions for a principal. The
command now accepts Login or ServerRole objects (same asGrant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermission) and uses
-Grant,-GrantWithGrant, and-Denyparameters to specify the exact
permissions that should exist within each specified category. Within a
specified category, any existing permissions not listed are revoked;
categories not specified are left unchanged. The command internally uses
Get-SqlDscServerPermission,Grant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermissionto
achieve this
...
- Completely refactored to set exact server permissions for a principal. The
v17.4.0-preview0014
[v17.4.0-preview0014]
Added
- Added public command
Get-SqlDscServerProtocolTcpIpto retrieve TCP/IP address
group information for SQL Server instances. ReturnsServerIPAddressobjects
containing port configuration includingTcpPort,TcpDynamicPorts,Enabled,
andActiveproperties. Supports filtering by specific IP address group name
and accepts pipeline input fromGet-SqlDscServerProtocol. SqlResourceBase- Added
Protocolproperty to specify the network protocol (tcp,np,lpc)
when connecting to SQL Server instances
(issue #2041). - Added
Portproperty to specify the TCP port number when connecting to SQL
Server instances
(issue #2041).
- Added
Connect-SqlDscDatabaseEngine- Added
Protocolparameter to specify the network protocol when connecting. - Added
Portparameter to specify the TCP port number when connecting.
Connection strings now support the format[protocol:]hostname[\instance][,port].
- Added
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
Changed
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration tests, production code, and
build scripts
(issue #2376). SqlRS- Fixed integration tests failing with status code 0 when checking ReportServer
and Reports site accessibility by implementing retry logic (up to 2 minutes) to
handle timing issues where Reporting Services web services are not immediately
ready after DSC configuration completes. On final retry attempt with status
code 0, the exception is now re-thrown to provide detailed error diagnostics
(issue #2376). - Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Fixed integration tests failing with status code 0 when checking ReportServer
SqlProtocolTcpIp- Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Refactored to use the public command
SqlPermission- Refactored to use the new object-based server permission commands
(Grant-SqlDscServerPermission,Deny-SqlDscServerPermission,
Revoke-SqlDscServerPermission, andGet-SqlDscServerPermission)
instead of the deprecatedSet-SqlDscServerPermissioncommand
(issue #2159). - Updated documentation to clarify that the resource supports both logins
and server roles as principals. - Added a note in documentation clarifying that if a name exists as both
a login and a server role, the login will take precedence.
- Refactored to use the new object-based server permission commands
- BREAKING CHANGE:
Set-SqlDscServerPermission- Completely refactored to set exact server permissions for a principal. The
command now accepts Login or ServerRole objects (same asGrant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermission) and uses
-Grant,-GrantWithGrant, and-Denyparameters to specify the exact
permissions that should exist within each specified category. Within a
specified category, any existing permissions not listed are revoked;
categories not specified are left unchanged. The command internally uses
Get-SqlDscServerPermission,Grant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermissionto
achieve this
(issue #2159).
- Completely refactored to set exact server permissions for a principal. The
- Updated comment-based help
.INPUTSand.OUTPUTSsections across all public
commands and private functions to comply with DSC community style guidelines
(issue #2103). Set-SqlDscDatabaseProperty- Updated comment-based help to reference correct enum values.
- Added SQL Server version requirements to version-specific parameter help.
Fixed
Set-SqlDscServerPermission- Fixed an issue where unspecified permission parameters would incorrectly
revoke existing permissions. The command now only processes permission
categories that are explicitly specified via parameters. For example,
specifying only-Grant @()will now correctly revoke only Grant permissions
while leaving GrantWithGrant and Deny perm...
- Fixed an issue where unspecified permission parameters would incorrectly
v17.4.0-preview0013
[v17.4.0-preview0013]
Added
Install-SqlDscServer- Added parameter
AllowDqRemovalto theUpgradeparameter set
(issue #2155).
- Added parameter
Test-SqlDscIsSupportedFeature- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
(17.x) and later versions (issue #2380).
- Added DQ, DQC, and MDS features as discontinued starting with SQL Server 2025
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Invoke-SetupAction- Added parameter
AllowDqRemovalfor theUpgradeaction to allow removal
of Data Quality (DQ) Services during upgrade to SQL Server 2025 (17.x) and
later versions. - Now outputs setup progress when
-Verboseis passed by using/QUIETSIMPLE
instead of/QUIET.
- Added parameter
Changed
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration tests, production code, and
build scripts
(issue #2376). SqlRS- Fixed integration tests failing with status code 0 when checking ReportServer
and Reports site accessibility by implementing retry logic (up to 2 minutes) to
handle timing issues where Reporting Services web services are not immediately
ready after DSC configuration completes. On final retry attempt with status
code 0, the exception is now re-thrown to provide detailed error diagnostics
(issue #2376). - Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Fixed integration tests failing with status code 0 when checking ReportServer
SqlProtocolTcpIp- Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Refactored to use the public command
SqlPermission- Refactored to use the new object-based server permission commands
(Grant-SqlDscServerPermission,Deny-SqlDscServerPermission,
Revoke-SqlDscServerPermission, andGet-SqlDscServerPermission)
instead of the deprecatedSet-SqlDscServerPermissioncommand
(issue #2159). - Updated documentation to clarify that the resource supports both logins
and server roles as principals. - Added a note in documentation clarifying that if a name exists as both
a login and a server role, the login will take precedence.
- Refactored to use the new object-based server permission commands
- BREAKING CHANGE:
Set-SqlDscServerPermission- Completely refactored to set exact server permissions for a principal. The
command now accepts Login or ServerRole objects (same asGrant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermission) and uses
-Grant,-GrantWithGrant, and-Denyparameters to specify the exact
permissions that should exist within each specified category. Within a
specified category, any existing permissions not listed are revoked;
categories not specified are left unchanged. The command internally uses
Get-SqlDscServerPermission,Grant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermissionto
achieve this
(issue #2159).
- Completely refactored to set exact server permissions for a principal. The
- Updated comment-based help
.INPUTSand.OUTPUTSsections across all public
commands and private functions to comply with DSC community style guidelines
(issue #2103). Set-SqlDscDatabaseProperty- Updated comment-based help to reference correct enum values.
- Added SQL Server version requirements to version-specific parameter help.
Fixed
Set-SqlDscServerPermission- Fixed an issue where unspecified permission parameters would incorrectly
revoke existing permissions. The command now only processes permission
categories that are explicitly specified via parameters. For example,
specifying only-Grant @()will now correctly revoke only Grant permissions
while leaving GrantWithGrant and Deny permissions unchanged
(issue #2159).
- Fixed an issue where unspecified permission parameters would incorrectly
New-SqlDscDatabase- Fixed parameter types for database-scoped configuration properties from
System.BooleantoMicrosoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
to match SMO property types and support all valid values (Off, On, Primary)
(issue #2190). - Fixed parameter types for boolean database properties from
System.Booleanto
System.Management.Automation.SwitchParameterto follow PowerShell best practices.
(issue #2190).
- Fixed parameter types for database-scoped configuration properties from
New-SqlDscRole- Fixed duplicate verbose output by removing manual
Write-Verbosecall, as
$PSCmdlet.ShouldProcess()already generates appropriate verbose output
(issue #2156).
- Fixed duplicate verbose output by removing manual
Set-SqlDscDatabaseProperty- Fixed parameter types for database-scoped configuration properties from
`Sys...
- Fixed parameter types for database-scoped configuration properties from
v17.4.0-preview0012
[v17.4.0-preview0012]
Added
- Added public command
Get-SqlDscRSPackageto retrieve package information for
SQL Server Reporting Services or Power BI Report Server. Supports getting version
information from an executable file
(issue #2082). - Added public command
Get-SqlDscBackupFileListto read the list of database
files contained in a SQL Server backup file. Useful for planning file
relocations during restore operations (issue #2026). - Added public command
Test-SqlDscBackupFileto verify the integrity of a
SQL Server backup file (issue #2026). - Added public command
Restore-SqlDscDatabaseto 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). - Added public command
Backup-SqlDscDatabase. Supports full, differential,
and transaction log backups with options for compression, copy-only, checksum,
and retention (issue #2365). - Added public command
Invoke-SqlDscScalarQueryto execute scalar queries using
Server.ConnectionContext.ExecuteScalar(). Server-level, lightweight execution
that does not require any database to be online
(issue #2423). - Added public command
Get-SqlDscDateTimeto 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). - Added public command
Backup-SqlDscDatabaseto perform database backups using
SMO'sMicrosoft.SqlServer.Management.Smo.Backupclass. 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). Set-SqlDscServerPermission- Added integration tests for negative test scenarios including invalid
permission names and non-existent principals.
- Added integration tests for negative test scenarios including invalid
SqlPermission- Added integration tests for server role permissions to complement the
existing login permission tests.
- Added integration tests for server role permissions to complement the
New-SqlDscDatabase- Added comprehensive set of settable database properties that were previously
only available inSet-SqlDscDatabaseProperty
(issue #2190).
- Added comprehensive set of settable database properties that were previously
- Added public command
Resume-SqlDscDatabaseto bring a database online using
SMODatabase.SetOnline(). Supports Server and Database pipeline input
(issue #2191). - Added public command
Suspend-SqlDscDatabaseto take a database offline using
SMODatabase.SetOffline(). Supports Server and Database pipeline input;
includesForceto disconnect active users
(issue #2192). Remove-SqlDscLogin- Added parameter
-KillActiveSessionsto automatically terminate any active
sessions for a login before dropping it
(issue #2372).
- Added parameter
Changed
Assert-SetupActionProperties- Refactored to use the command
Get-FileVersionfrom the DscResource.Common
module instead of the private functionGet-FileVersionInformation
(issue #2373).
- Refactored to use the command
- Renamed commands
*-SqlDscBIReportServerto*-SqlDscPowerBIReportServerfor
clarity. The old names*-SqlDscBIReportServerand*-SqlDscPBIReportServer
are available as aliases for backward compatibility
(issue #2071). SqlProtocol- Refactored to use the public command
Get-SqlDscServerProtocolNameinstead
of the deprecated private functionGet-ProtocolNameProperties
- Refactored to use the public command
Fixed
- Fixed all
Invoke-WebRequestcalls throughout the codebase to include the
-UseBasicParsingparameter. This addresses a Windows PowerShell 5.1 security
update (CVE-2025-54100) released December 9, 2025, which changed the default
behavior ofInvoke-WebRequestto require an interactive prompt unless
-UseBasicParsingis specified. This change prevents failures in non-interactive
CI environments. Affected files include integration tests, production code, and
build scripts
(issue #2376). SqlRS- Fixed integration tests failing with status code 0 when checking ReportServer
and Reports site accessibility by implementing retry logic (up to 2 minutes) to
handle timing issues where Reporting Services web services are not immediately
ready after DSC configuration completes. On final retry attempt with status
code 0, the exception is now re-thrown to provide detailed error diagnostics
(issue #2376). - Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Fixed integration tests failing with status code 0 when checking ReportServer
SqlProtocolTcpIp- Refactored to use the public command
Get-SqlDscServerProtocolinstead
of the deprecated private functionGet-ServerProtocolObject
(issue #2104).
- Refactored to use the public command
SqlPermission- Refactored to use the new object-based server permission commands
(Grant-SqlDscServerPermission,Deny-SqlDscServerPermission,
Revoke-SqlDscServerPermission, andGet-SqlDscServerPermission)
instead of the deprecatedSet-SqlDscServerPermissioncommand
(issue #2159). - Updated documentation to clarify that the resource supports both logins
and server roles as principals. - Added a note in documentation clarifying that if a name exists as both
a login and a server role, the login will take precedence.
- Refactored to use the new object-based server permission commands
- BREAKING CHANGE:
Set-SqlDscServerPermission- Completely refactored to set exact server permissions for a principal. The
command now accepts Login or ServerRole objects (same asGrant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermission) and uses
-Grant,-GrantWithGrant, and-Denyparameters to specify the exact
permissions that should exist within each specified category. Within a
specified category, any existing permissions not listed are revoked;
categories not specified are left unchanged. The command internally uses
Get-SqlDscServerPermission,Grant-SqlDscServerPermission,
Deny-SqlDscServerPermission, andRevoke-SqlDscServerPermissionto
achieve this
(issue #2159).
- Completely refactored to set exact server permissions for a principal. The
- Updated comment-based help
.INPUTSand.OUTPUTSsections across all public
commands and private functions to comply with DSC community style guidelines
(issue #2103). Set-SqlDscDatabaseProperty- Updated comment-based help to reference correct enum values.
- Added SQL Server version requirements to version-specific parameter help.
Fixed
Set-SqlDscServerPermission- Fixed an issue where unspecified permission parameters would incorrectly
revoke existing permissions. The command now only processes permission
categories that are explicitly specified via parameters. For example,
specifying only-Grant @()will now correctly revoke only Grant permissions
while leaving GrantWithGrant and Deny permissions unchanged
(issue #2159).
- Fixed an issue where unspecified permission parameters would incorrectly
New-SqlDscDatabase- Fixed parameter types for database-scoped configuration properties from
System.BooleantoMicrosoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
to match SMO property types and support all valid values (Off, On, Primary)
(issue #2190). - Fixed parameter types for boolean database properties from
System.Booleanto
System.Management.Automation.SwitchParameterto follow PowerShell best practices.
(issue #2190).
- Fixed parameter types for database-scoped configuration properties from
New-SqlDscRole- Fixed duplicate verbose output by removing manual
Write-Verbosecall, as
$PSCmdlet.ShouldProcess()already generates appropriate verbose output
(issue #2156).
- Fixed duplicate verbose output by removing manual
Set-SqlDscDatabaseProperty- Fixed parameter types for database-scoped configuration properties from
System.BooleantoMicrosoft.SqlServer.Management.Smo.DatabaseScopedConfigurationOnOff
to match SMO property types and support all valid values (Off, On, Primary)
(issue #2190). - Fixed parameter types for boolean database properties from
System.Booleanto
System.Management.Automation.SwitchParameterto follow PowerShell best practices.
(issue #2190).
- Fixed parameter types for database-scoped configuration properties from
Removed
- Removed helper function
Get-FilePathMajorVersionfrom the SqlServerDsc.Common
module. Refactored usages to use the commandGet-FileVersionfrom the
DscResource.Common module instead...