用于Windows身份验证的Inspec测试用例

时间:2018-05-31 15:29:00

标签: testing devops inspec

我正在尝试使用inspec验证(mssql)Sql身份验证模式“集成”。我找不到任何参考资料。如何使用ruby传递sql查询,因为我有sql查询,显示当前的sql身份验证模式。

1 个答案:

答案 0 :(得分:0)

您可以使用powershell检查身份验证模式,有关powershell代码的参考,请参阅this article,有关Microsoft.SqlServer.Management.Smo程序集的加载方式,请参阅this article

# Connect to the instance using SMO $s = new-object 
('Microsoft.SqlServer.Management.Smo.Server') 'MyServer\MyInstance'
[string]$nm = $s.Name [string]$mode = $s.Settings.LoginMode

write-output "Instance Name: $nm"
write-output "Login Mode: $mode"

因此,您可以编写powershell测试来实现您的目标:

control 'sql auth type' do
  impact 1.0
  ps_script = <<-EOH
  [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
  $s = new-object ('Microsoft.SqlServer.Management.Smo.Server') $env:COMPUTERNAME
  [string]$nm = $s.Name
  [string]$mode = $s.Settings.LoginMode

  write-output $mode
  EOH

  describe powershell(ps_script) do
    its('stdout') { should match (/Integrated/)}
  end
end