SQL中的Powershell漏洞评估
我想用 作为输出,我需要一个JSON文件,可以将其导入SSMS。 唯一可以生成JSON文件的cmdlet是Export-SqlVulnerabilityAssessmentBaselineSet。但是,作为输出,它会生成类似于一行带一个基线的内容,并且它不包含JSON层次结构,该层次结构可以被SSMS标记为红色,例如:SQL中的Powershell漏洞评估,sql,powershell,security,Sql,Powershell,Security,我想用 作为输出,我需要一个JSON文件,可以将其导入SSMS。 唯一可以生成JSON文件的cmdlet是Export-SqlVulnerabilityAssessmentBaselineSet。但是,作为输出,它会生成类似于一行带一个基线的内容,并且它不包含JSON层次结构,该层次结构可以被SSMS标记为红色,例如: {"Version":"1.0","RuleBaselines":[{"RuleId":"
{"Version":"1.0","RuleBaselines":[{"RuleId":"VA2109","Properties":{"Severity":null,"ExpectedResults":[["xp_instance_regread","public"],["xp_regread","public"]],"UpdatedTime":"2020-10-01T10:28:59.5565389Z","SizeInBytes":82}}]}
我用来生成这个的代码是:
$scanResult = Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database some_database
$failedResults = @{}
$scanResult.Results.GetEnumerator() | Where {$_.Value.Status -eq "Failed"} | foreach {$failedResults[$_.Key] = $_.Value }
$failedCheckResults = $failedResults["VA2109"].QueryResults
$baseline = New-SqlVulnerabilityAssessmentBaseline -SecurityCheckId "VA2109" -ExpectedResult $failedCheckResults
$baselineSet = New-SqlVulnerabilityAssessmentBaselineSet -Baselines $baseline
$baselineSet | Export-SqlVulnerabilityAssessmentBaselineSet -FolderPath ".\baseline.json"
有人能帮我吗?
谢谢。有效的JSON文档是什么样子的?我在这个链接中上传了JSON文件(由SSMS生成):您是否尝试过手动导出扫描结果<代码>$scanResult |转换为Json-深度7 |设置内容-路径。\scanResult.JsonMathias R.Jessen,感谢您的帮助。请检查来自SSMS:和Powershell:的文件。不幸的是,结构不同,SSMS不会从convertto json cmdlet读取json文件。