为什么默认情况下 Powershell 脚本不会通过双击运行?

Sos*_*lik 1 windows security powershell usability user-interface

我的问题不是关于如何通过双击运行脚本!
我很好奇这种行为的原因。
.bat.cmd.vbs.exe,和许多其他的运行与双击,但.ps1没有,为什么呢?

von*_*ryz 7

.ps1与记事本关联的原因是关于安全性。

过去,微软因为协会的默认行为而受到严重打击。默认情况下,Windows 的文件管理器(后来称为文件资源管理器)旨在易于使用。它没有显示文件扩展名。也就是说,MyResume.doc在默认的资源管理器列表中显示为简单MyResume- 而且它通常也有一个 Word 图标。

虽然这是一种节省屏幕空间的便捷方式,但它提供了一种利用系统的绝妙方法。许多用户只是根据名称和图标双击文件。现在,破解者开始发送具有双重扩展名的文件,例如MyResume.doc.vbs. Explorer 的默认操作是删除.vbs,这意味着该文件实际上是 Visual Basic 脚本文件。由于 Windows 与.vbsWindows Scripting Host相关联,因此脚本文件是在用户权限下执行的。为了防止这种攻击媒介,Powershell 文件默认不与 powershell.exe 关联。

扩展漏洞利用的著名案例是情书ILOVEYOU和关于Anna Kournikova的成人内容承诺。

另一种蠕虫(抱歉我用了可怕的双关语)是 Windows 屏幕保护程序文件。该.scr文件是真的只是可执行文件。很多用户被愚弄,给系统安装了后门,因为他们不了解安装屏保的风险。通过发送扩展名与有效负载不匹配的文件,并依赖操作系统仍然选择了正确的应用程序关联,从而进一步利用了这一点。