Сценарии PowerShell PS1 открываются в Блокноте по умолчанию, а не в PowerShell ISE. Почему это?

Мне регулярно приходится раскручивать виртуальные машины, а затем я должен переключать ассоциации файлов.ps1 и.psm1 с Блокнота на PowerShell ISE.

Кто-нибудь знает, почему это не редактор по умолчанию для начала?
Сценарий не запускается автоматически, поэтому я не считаю это недостатком безопасности.

2 ответа

Вы почти ответили на свой вопрос: это мера безопасности.

Статья о блоге Windows PowerShell Windows PowerShell и "PowerShell Worm" подробно описывают функции безопасности PowerShell, которые также описаны в статье PowerShell Security:

PowerShell, очевидно, был разработан с гораздо большей безопасностью, чем VBScript или cmd.exe:

  1. По умолчанию файлы сценариев.ps1 связаны с Блокнотом. Двойной щелчок скрипта не запускает его.

  2. Чтобы ссылаться на скрипт в PowerShell, вы должны указать путь к файлу, поэтому, даже если скрипт называется dir.ps1, ввод в dir не запустит его. Кратчайший путь к нему -.\ Dir.ps1.

  3. И, наконец, политики выполнения по умолчанию не позволяют вам запускать какие-либо сценарии вообще. Вы можете немного уменьшить ограничение, позволяя запускать сценарии, подписанные доверенными лицами.

Поведение открытия в текстовом редакторе является дизайнерским. Причины этого немного нюансированы, и те из нас, кто был рядом, когда Microsoft впервые начал работать с Powershell, помнят это. Вы вряд ли найдете это где-то записанным, но Эд Уилсон, возможно, коснулся этого в своей первой книге Пауэршелл или в своем блоге.

Powershell был разработан для конкретной аудитории, системного администратора, а не широкой публики или технического специалиста. Он открыт для всех, но он был разработан для конкретной группы. Хотя ISE хорош, он ресурсоемкий и не предназначен для системных администраторов. Если мы пишем сценарии с нуля или проводим капитальный ремонт сценария, обязательно воспользуемся ISE. Но в большинстве случаев, когда нам нужно дотронуться до сценария, это сделать конкретное и быстрое изменение или подтвердить детали.

Сисадмины обычно предпочитают то, что быстрее или подходящий инструмент для работы. В данном случае это проверка скрипта в простом старом текстовом редакторе. Есть также старая поговорка о том, что людям не нравятся перемены, и которые также могут ее применять. До Powershell мы работали с sysadmins в пакетном режиме, vbs, python и т. Д., Все они основаны на текстовом редакторе. Вероятно, Microsoft посчитала, что слишком большое изменение сразу отвлечет людей от принятия их новой платформы оболочки. Эта ссылка может дать вам некоторое представление

Другие вопросы по тегам