powershell 功能不起作用

powershell 功能不起作用

windowsdefender我是 powershell 脚本的新手。使用命令行扫描文件。我做错了什么?

function scan { Start-Process "C:\program files\windows defender\mpcmdrun.exe" -Scan -ScanType 3 -File $args[0] }

C:\Program Files\Windows Defender>MpCmdRun -scan -scantype 3 -file *.dll 扫描开始...CmdTool:失败,hr = 0x80508023。检查 C:\Users\exp\AppData\Local\Temp\MpCmdRun.log 以获取更多信息 MpCmdRun:命令行:“C:\program files\windows defender\MpCmdRun.exe”-scan -scantype 3 -file *.dll 开始时间:‎ma. ‎oct. ‎06 ‎2020 23:36:36

MpEnsureProcessMitigationPolicy:hr = 0x1 正在启动 RunCommandScan。信息:未设置 ScheduleJob。跳过签名更新。扫描路径为文件:*.dll。开始:MpScan(MP_FEATURE_SUPPORTED,dwOptions=16385,路径 *.dll,DisableRemediation = 0,BootSectorScan = 0,超时天数 = 1)MpScan() 已启动警告:MpScan() 遇到错误。hr = 0x80508023 MpScan() 已完成错误:MpScan(dwOptions=16385)完成失败 80508023 MpCmdRun:结束时间:‎ma. ‎oct. ‎06 ‎2020 23:36:36


答案1

要修复您的功能,您需要通过 -ArgumentList 传递 cmd 参数

function scan { Start-Process "C:\program files\windows defender\mpcmdrun.exe" -ArgumentList "-Scan -ScanType 3 -File $($args[0])" }

已经有一个 PowerShell Cmdlet 可以执行此操作:

Start-MpScan -ScanPath C:\Windows\System32\cmd.exe -ScanType CustomScan

相关内容