Сценарии PowerShell PS1 открываются в Блокноте по умолчанию, а не в PowerShell ISE. Почему это?
Мне регулярно приходится раскручивать виртуальные машины, а затем я должен переключать ассоциации файлов.ps1 и.psm1 с Блокнота на PowerShell ISE.
Кто-нибудь знает, почему это не редактор по умолчанию для начала?
Сценарий не запускается автоматически, поэтому я не считаю это недостатком безопасности.
2 ответа
Вы почти ответили на свой вопрос: это мера безопасности.
Статья о блоге Windows PowerShell Windows PowerShell и "PowerShell Worm" подробно описывают функции безопасности PowerShell, которые также описаны в статье PowerShell Security:
PowerShell, очевидно, был разработан с гораздо большей безопасностью, чем VBScript или cmd.exe:
По умолчанию файлы сценариев.ps1 связаны с Блокнотом. Двойной щелчок скрипта не запускает его.
Чтобы ссылаться на скрипт в PowerShell, вы должны указать путь к файлу, поэтому, даже если скрипт называется dir.ps1, ввод в dir не запустит его. Кратчайший путь к нему -.\ Dir.ps1.
И, наконец, политики выполнения по умолчанию не позволяют вам запускать какие-либо сценарии вообще. Вы можете немного уменьшить ограничение, позволяя запускать сценарии, подписанные доверенными лицами.
Поведение открытия в текстовом редакторе является дизайнерским. Причины этого немного нюансированы, и те из нас, кто был рядом, когда Microsoft впервые начал работать с Powershell, помнят это. Вы вряд ли найдете это где-то записанным, но Эд Уилсон, возможно, коснулся этого в своей первой книге Пауэршелл или в своем блоге.
Powershell был разработан для конкретной аудитории, системного администратора, а не широкой публики или технического специалиста. Он открыт для всех, но он был разработан для конкретной группы. Хотя ISE хорош, он ресурсоемкий и не предназначен для системных администраторов. Если мы пишем сценарии с нуля или проводим капитальный ремонт сценария, обязательно воспользуемся ISE. Но в большинстве случаев, когда нам нужно дотронуться до сценария, это сделать конкретное и быстрое изменение или подтвердить детали.
Сисадмины обычно предпочитают то, что быстрее или подходящий инструмент для работы. В данном случае это проверка скрипта в простом старом текстовом редакторе. Есть также старая поговорка о том, что людям не нравятся перемены, и которые также могут ее применять. До Powershell мы работали с sysadmins в пакетном режиме, vbs, python и т. Д., Все они основаны на текстовом редакторе. Вероятно, Microsoft посчитала, что слишком большое изменение сразу отвлечет людей от принятия их новой платформы оболочки. Эта ссылка может дать вам некоторое представление