Sco*_*ott 4 sql-server sql-server-agent vulnerability-assessment
我想从 SQL Server 代理作业运行 SQL Server 漏洞评估。目前,我正在尝试使用 PowerShell 脚本完成一项工作,并且正在运行如下所示的命令。
Invoke-SqlVulnerabilityAssessmentScan -ServerInstance $(ESCAPE_DQUOTE(SRVR)) -Database AdventureWorks
Run Code Online (Sandbox Code Playgroud)
我已经确认 Invoke-SqlVulnerabilityAssessmentScan 在 SQL Server 上可用(我可以从那里的 PowerShell 命令提示符运行它),但是当我运行我的作业时,我收到一条错误消息,指出
术语“Invoke-SqlVulnerabilityAssessmentScan”未被识别为 cmdlet 的名称
看完这篇 Microsoft 文章后,我想知道 SQL Agent 是否只有它可以访问的 PowerShell cmdlet 的一个子集。
如何从 SQL 作业运行漏洞评估扫描?
您收到该错误是因为该模块未导入。
你必须使用
import-module -name sqlserver # or path to the module
Run Code Online (Sandbox Code Playgroud)
@Kin Shah 的回答中引用的文章帮助我找到了最终解决方案。我不得不从“PowerShell”SQL 作业类型切换到“操作系统(CmdExec)”类型。我将我的 PowerShell 命令移动到一个脚本中,并在 SQL 作业中使用如下所示的命令文本来引用它。
powershell.exe d:\data\dev\VulnerabilityScanTest.ps1
Run Code Online (Sandbox Code Playgroud)
脚本中的命令最终看起来像这样:
Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "myserver\myinstance" -Database AdventureWorks
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
562 次 |
最近记录: |