尝试下载 EXE 文件后,PowerShell (x64) 停止工作 (Windows 7)

Posted

技术标签:

【中文标题】尝试下载 EXE 文件后,PowerShell (x64) 停止工作 (Windows 7)【英文标题】:PowerShell (x64) stops working after trying to download EXE files (Windows 7) 【发布时间】:2020-11-29 11:37:31 【问题描述】:

上下文:

在 SO 上找到了一个脚本,用于从 PowerShell v2.0 中的 URL 下载文件(我使用的是 Windows 7)
PowerShell.exe -ExecutionPolicy Bypass -Command "(New-Object System.Net.WebClient).DownloadFile( 'site.com/file.txt', 'file.txt' )"
使用批处理文件 .bat 内联运行此脚本。 效果很好 -- 适用于 zip 和图片!

问题:一旦我尝试从 URL 下载 .exe,批处理文件就会在不执行 Powershell 脚本的情况下运行。 Powershell.exe 在 Windows 7 中完全停止工作...

另一方面,Powershell (x86) 仍然有效。 直接从文件夹打开 powershell.exe (x64):仅限C:\WINDOWS\system32\WindowsPowerShell\v1.0 打开空白窗口并立即关闭 尝试使用 sfc /scannowDISM /Online /Cleanup-image /Restorehealth,但由于 Windows 7 没有该选项,因此无法正常工作 再次运行批处理脚本有效,但跳过了 powershell 部分

我相信它在重新启动后会再次工作(尚未正确测试),但我似乎无法在不重新启动的情况下让 Powershell (x64) 再次工作:/ 我什至不知道问题出在哪里'不知道从哪里开始调试。

这个问题可能更适合 superuser.com,但我先在这里问——谢谢你的帮助 :)

【问题讨论】:

杀毒软件?尝试禁用它 @JCWasmx86 禁用了 Malware Bytes 和 Avast,但仍然没有:/ 我相信他们应该告诉我他们是否阻止了某个程序,但我没有弹出信息 为了你的理智..安装WMF 5.1 3 ways to download files with PowerShell 和 v5x 更新同上。甚至 MS 也一直在告诉人们不要使用 v2。 @JCWasmx86 Nvm,你说得对,它杀毒软件。根据您的想法对其进行了广泛的测试,一旦启用 Avast,Powershell (x64) 在脚本执行后被静默阻止,并一直持续到重新启动。 【参考方案1】:

正如@JCWasmx86 所指出的,确实是我的防病毒软件阻止了 Powershell。

我在不同状态下使用 Malwarebytes 和 Avast 对其进行了广泛的测试 - 将它们都关闭,然后一个接一个地打开它们,并在每次状态更改后运行我的脚本。事实证明,一旦启用 Avast,Powershell(x64,或 默认)在脚本执行后会被静默阻止,并一直处于非活动状态,直到重新启动或经过足够的时间。

这只发生在.exe 文件中。 Avast 一定不喜欢从互联网上下载未经验证的 exe 文件的脚本。

【讨论】:

以上是关于尝试下载 EXE 文件后,PowerShell (x64) 停止工作 (Windows 7)的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Office setup找不到powershell

运行 Cmd.exe 后 Powershell 不会退出

使用 PowerShell 脚本执行 EXE 文件

如何在PowerShell脚本中嵌入EXE文件

win10 找不到powershell

无法使用 Powershell 2.0 压缩文件