Я не совсем уверен, будет ли это лучше на StackOverflow или нет, не стесняйтесь перемещать его, если считаете, что там более уместно.
В любом случае, к вопросу ...
Ситуация
В настоящее время у нас есть смесь VBScript, пакетных файлов DOS и несколько сценариев PowerShell, выполняющих различные задачи в рамках бизнеса.
Задачи варьируются от выяснения того, кто вошел в систему на конкретном компьютере по IP, до довольно сложной обработки текста и запросов к базе данных (SQL Server 2005/2008).
VbScript на самом деле не лучший язык, хотя у него довольно хорошая поддержка отладки, PowerShell намного лучше, но (бесплатная) поддержка отладки довольно рудиментарна, и чем меньше сказано о пакетных файлах, тем лучше
Вопрос
Не желая начинать войну с пламенем (пожалуйста, только объективные комментарии!), Я хотел бы стандартизировать единый язык сценариев, требования: -
Мне были бы очень интересны ваши мысли / рекомендации
PowerShell 2, без всяких сомнений. Я считаю, что он удовлетворяет всем вашим требованиям, а его интегрированная среда сценариев выделяет синтаксис и имеет хорошую поддержку отладки, включая точки останова и пошаговое выполнение.
Если вы не ищете специфику wmi и dotnet, я считаю, что python - отличный инструмент для создания сценариев для всех платформ. он покрывает почти все ваши требования
в противном случае я полагаю, что Powershell - это правильный путь, хотя для этого требуется установка dotnet framework.
В качестве важного фактора в ответе я бы спросил, какой язык сценариев самый простой в развертывании в вашу среду. Рассмотрим следующие языки сценариев и инфраструктуру на базе Windows:
Итак, если я не хотел иметь дело с развертыванием одного из последних скриптовых движков во всех моих системах, я бы стандартизировал VBscript и / или CMD. Из двух vbscript далеко более мощный, хотя, как старый пакетный скриптер, у меня все еще есть слабость к CMD. Когда он может выполнять свою работу, обычно требуется гораздо меньше набора текста! Но если бы мне пришлось выбирать, это был бы vbscript для удобочитаемости и гибкости. vbscript IDE, например PrimalScript просто Google далеко.
Если бы у меня была возможность создать совершенно новую среду, в которой все системы работают под Win2008R2 и Win7, я бы стандартизировал PowerShell.
Мне не нравится ISE, но я избалован Visual Studio IDE для других разработок. Некоторым нравится бесплатная замена PowerGUI: http://www.powergui.org. Похоже, он имеет функциональность, подобную Intellisense.
Единственное возражение, которое я могу придумать в отношении PowerShell, заключается в том, что для него требуется фреймворк и фреймворк 3.5 для некоторых расширенных функций V2. Не совсем легкий компонент, если вам нужно развернуть его на сотнях или тысячах машин.
Мы использовали VBScript в течение многих лет и только недавно начали изучать PowerShell (V2). VBScript имеет свои недостатки, но он хорошо нам послужил, поэтому я не вижу причин отказываться от наших прошлых вложений в него. С другой стороны, PowerShell должен стать стандартом языка сценариев Windows, и его поддержка, несомненно, улучшится. Итак, в ближайшие пару лет это будет смешанная среда сценариев.
Кстати, когда я смотрю на ваш список требований, PowerShell легко выполняет все, кроме того, что касается поддержки отладки и одного об управлении исключениями (но обработка ошибок VBScript тоже не очень хороша). Кроме того, одним большим преимуществом PowerShell перед VBScript является доступ к .Net Framework.
Я бы использовал Visual C # 2005 или 2008 Express. Он отвечает всем вашим требованиям, экспресс-версии Visual Studio бесплатны (как в пиве), .NET Framework (особенно если вы выберете 2005), скорее всего, уже на ваших серверах, и это позволяет вам использовать некоторые из ваших существующих разработок. навыки для действительно необычных вещей.
Конечно, это не совсем «скриптинг» как таковой, но я лично считаю, что добавление (необязательное) элементов графического интерфейса может быть полезным для других задач.