Почему скрипты PS1 по умолчанию связаны с Блокнотом?

Почему скрипты PS1 по умолчанию связаны с Блокнотом?

В Windows всякий раз, когда я нажимаю на файл .bat. .cmdили .vbsскрипт (пакетный и VBScript), они выполняются своими отдельными движками (командная строка и хост скриптов Windows).

Так почему же расширение PowerShell .ps1по умолчанию связано с Блокнотом, а не с Powershell?

решение1

По-видимому, Microsoft пыталась спроектировать PowerShell как безопасный по умолчанию. Хотя Microsoft, похоже, нигде не заявляла об этом явно, это ограничение, вероятно, было призвано предотвратить обман пользователей, заставляющих их выполнять и распространять вредоносные скрипты.

Есть хорошее описание того, почему это может быть опасно.здесь:

PowerShell — это фактически командная оболочка и язык сценариев, призванный заменить CMD и пакетные сценарии в системах Windows. Таким образом, сценарий PowerShell можно настроить на выполнение практически любых действий, которые вы могли бы выполнить вручную из командной строки. Это равносильно внесению практически любых изменений, возможных в вашей системе, вплоть до ограничений, установленных для вашей учетной записи пользователя. Так что, если бы вы могли просто дважды щелкнуть сценарий PowerShell и запустить его с полными правами администратора, простая однострочная команда вроде этой могла бы действительно испортить вам день:Get-ChildItem "$env:SystemDrive\" -Recurse -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue НЕ запускайте указанную выше команду!

...

Хуже того, вместо того чтобы получить скрипт, который просто уничтожит его файловую систему, вашего друга могут обманом заставить запустить скрипт, который загружает и устанавливает кейлоггер или службу удаленного доступа.

На практике, однако, код powershell может быть выполнен через .batфайл, просто передав код как аргумент командной строки в powershell. Поэтому PowerShell теперь полагается наАМСИ(Интерфейс сканирования Anti-Malware) для блокировки вредоносных скриптов. По какой-то необъяснимой причине первоначальное ограничение осталось на месте.

Связанный контент