la función powershell no funciona

Oct 07 2020

Soy nuevo en las secuencias de comandos de PowerShell. escanear un archivo windowsdefenderdesde la línea de comandos. que estoy haciendo mal?

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

C:\Archivos de programa\Windows Defender>MpCmdRun -scan -scantype 3 -file *.dll Análisis iniciando... CmdTool: Error con hr = 0x80508023. Compruebe C:\Users\exp\AppData\Local\Temp\MpCmdRun.log para obtener más información MpCmdRun: Línea de comando: "C:\archivos de programa\windows defender\MpCmdRun.exe" -scan -scantype 3 -file *.dll Start Hora: ‎ma. oct. ‎06 ‎2020 23:36:36

MpEnsureProcessMitigationPolicy: hr = 0x1 Iniciando RunCommandScan. INFORMACIÓN: ScheduleJob no está configurado. Saltándose la actualización de la firma. Ruta de escaneo como archivo: *.dll. Inicio: MpScan(MP_FEATURE_SUPPORTED, dwOptions=16385, ruta *.dll, DisableRemediation = 0, BootSectorScan = 0, Tiempo de espera en días = 1) MpScan() iniciado Advertencia: MpScan() encuentra un error. hr = 0x80508023 MpScan() se completó ERROR: MpScan(dwOptions=16385) Falló la finalización 80508023 MpCmdRun: Hora de finalización: ‎ma. oct. ‎06 ‎2020 23:36:36


Respuestas

2 Jacob Oct 14 2020 at 03:33

Para arreglar su función, debe pasar los argumentos cmd a través de -ArgumentList

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

Ya hay un cmdlet de PowerShell para hacer esto:

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