diff --git a/Validate v4 adn v5.ps1 b/Validate v4 adn v5.ps1 index f683ebaa..a15fc73c 100644 --- a/Validate v4 adn v5.ps1 +++ b/Validate v4 adn v5.ps1 @@ -15,8 +15,8 @@ RUN THIS SECTION MANUALLY IF YOU JUST IMPORT THE FUNCTION BELOW! ipmo ./dbachecks.psd1 -$Checks = 'TraceFlagsNotExpected','TraceFlagsExpected','TwoDigitYearCutoff','MaxDopInstance','ErrorLogCount','ModelDbGrowth','DefaultBackupCompression','SaExist','SaDisabled','SaRenamed','DefaultFilePath','AdHocDistributedQueriesEnabled','AdHocWorkload', 'DefaultTrace', 'OleAutomationProceduresDisabled', 'CrossDBOwnershipChaining', 'ScanForStartupProceduresDisabled', 'RemoteAccessDisabled', 'SQLMailXPsDisabled', 'DAC', 'OLEAutomation' -$Checks = 'TraceFlagsNotExpected' +$Checks = 'CLREnabled','TraceFlagsNotExpected','TraceFlagsExpected','TwoDigitYearCutoff','MaxDopInstance','ErrorLogCount','ModelDbGrowth','DefaultBackupCompression','SaExist','SaDisabled','SaRenamed','DefaultFilePath','AdHocDistributedQueriesEnabled','AdHocWorkload', 'DefaultTrace', 'OleAutomationProceduresDisabled', 'CrossDBOwnershipChaining', 'ScanForStartupProceduresDisabled', 'RemoteAccessDisabled', 'SQLMailXPsDisabled', 'DAC', 'OLEAutomation' +$Checks = 'CLREnabled' Compare-v4andv5Results -Checks $Checks # if you need to see the details to see why the results are different @@ -129,6 +129,7 @@ and For v5 we ran {1} tests The MOST COMMON REASON IS you have used Tags instead of Tag in your Describe block +but TraceFlagsNotExpected will change that also " -f $v4code.TotalCount, ($v5code.TotalCount - $v5code.NotRunCount) Write-PSFMessage -Message $Message -Level Warning } diff --git a/checks/Instancev5.Tests.ps1 b/checks/Instancev5.Tests.ps1 index 3a71ce61..2facf93f 100644 --- a/checks/Instancev5.Tests.ps1 +++ b/checks/Instancev5.Tests.ps1 @@ -241,3 +241,12 @@ Describe "Trace Flags Not Expected" -Tag TraceFlagsNotExpected, TraceFlag, Mediu } } } + +Describe "CLR Enabled" -Tag CLREnabled, security, CIS, High, Instance -ForEach $InstancesToTest { + $skip = Get-DbcConfigValue skip.instance.CLREnabled + Context "Testing CLR Enabled on <_.Name>" { + It "CLR Enabled is set to <_.ConfigValues.CLREnabled> on <_.Name>" -Skip:$skip { + $PSItem.Configuration.IsSqlClrEnabled.ConfigValue -eq 1 | Should -Be $psitem.ConfigValues.CLREnabled -Because 'This is the setting you have chosen for CLR Enabled' + } + } +} diff --git a/internal/functions/NewGet-AllInstanceInfo.ps1 b/internal/functions/NewGet-AllInstanceInfo.ps1 index 3b23c539..e1a73f1c 100644 --- a/internal/functions/NewGet-AllInstanceInfo.ps1 +++ b/internal/functions/NewGet-AllInstanceInfo.ps1 @@ -188,6 +188,10 @@ function NewGet-AllInstanceInfo { ActualTraceFlags = $TraceFlagsActual } } + 'CLREnabled' { + $configurations = $true + $ConfigValues | Add-Member -MemberType NoteProperty -Name 'CLREnabled' -Value (Get-DbcConfigValue policy.security.clrenabled) + } Default { } }