我想从Server代理作业运行Server漏洞评估。目前,我正在尝试使用PowerShell脚本执行作业,并运行如下命令。
Invoke-SqlVulnerabilityAssessmentScan -ServerInstance $(ESCAPE_DQUOTE(SRVR)) -Database AdventureWorks
我已经确认调用-SqlVulnerabilityAssessmentScan在Server上是可用的(我可以在那里的PowerShell命令提示符中运行它),但是当我运行我的工作时,我会收到一个错误声明:
术语'Invoke-SqlVulnerabilityAssessmentScan‘不被识别为cmdlet的名称
在查看这篇微软文章之后,我想知道subset是否只有可以访问的PowerShell cmdlet的子集。
如何从SQL作业运行漏洞评估扫描?
发布于 2019-08-20 09:39:32
@Kin Shah的回答中引用的文章帮助我找到了最终的解决方案。我不得不从"PowerShell“SQL切换到”操作系统(CmdExec)“类型。我将PowerShell命令移到脚本中,并使用命令文本引用该命令,如SQL中的如下所示。
powershell.exe d:\data\dev\VulnerabilityScanTest.ps1
脚本中的命令最后如下所示:
Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "myserver\myinstance" -Database AdventureWorks
发布于 2019-08-20 07:20:53
您将得到该错误,因为没有导入该模块。
你必须用
import-module -name sqlserver # or path to the module
https://dba.stackexchange.com/questions/245781
复制相似问题