powershell işlevi çalışmıyor

Oct 07 2020

Powershell komut dosyası oluşturma konusunda yeniyim. windowsdefenderkomut satırından bir dosyayı tarayın . neyi yanlış yapıyorum?

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 Tarama başlatılıyor... CmdTool: hr = 0x80508023 ile başarısız oldu. Daha fazla bilgi için C:\Users\exp\AppData\Local\Temp\MpCmdRun.log'u kontrol edin MpCmdRun: Komut Satırı: "C:\program files\windows defender\MpCmdRun.exe" -scan -scantype 3 -file *.dll Başlat Zaman: anne. Ekim ‎06 ‎2020 23:36:36

MpEnsureProcessMitigationPolicy: hr = 0x1 RunCommandScan başlatılıyor. BİLGİ: ScheduleJob ayarlanmadı. İmza güncellemesi atlanıyor. Dosya olarak tarama yolu: *.dll. Başlangıç: MpScan(MP_FEATURE_SUPPORTED, dwOptions=16385, yol *.dll, DisableRemediation = 0, BootSectorScan = 0, Zaman aşımı = 1) MpScan() başladı Uyarı: MpScan() hatayla karşılaştı. hr = 0x80508023 MpScan() tamamlandı HATA: MpScan(dwOptions=16385) Tamamlama Başarısız 80508023 MpCmdRun: Bitiş Zamanı: ma. Ekim ‎06 ‎2020 23:36:36


Yanıtlar

2 Jacob Oct 14 2020 at 03:33

İşlevinizi düzeltmek için cmd argümanlarını -ArgumentList aracılığıyla iletmeniz gerekir.

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

Bunu yapmak için zaten bir PowerShell Cmdlet'i var:

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