Стандартизация в единственном Windows Scripting Language

Мой общий подход таким образом:

  • Не производите stdout, когда Ваше cron'ed приложение завершится успешно.
  • Не передавайте вывод по каналу к/dev/null.
  • Действительно произведите значимый вывод stderr, когда что-то пойдет не так, как надо.
  • Действительно установите адрес $MAILTO в crontab, чтобы отправить тот вывод ошибок необходимой команде.
1
задан 2 December 2009 в 20:54
6 ответов

PowerShell 2, без любых сомнений. Я считаю, что это выполняет все Ваши требования, и его Интегрированная Среда Сценариев делает подсветку синтаксиса и имеет хорошую поддержку отладки, включая точки останова и пошаговое выполнение.

6
ответ дан 3 December 2019 в 16:19
  • 1
    @downvoter: комментарии должно когда Вы downvote; это помогает другим изучить what' s неправильно с их ответами.:-) –  CesarGon 4 December 2009 в 05:47

если Вы не ищете wmi и dotnet специфические особенности, я нашел, что Python превосходный инструмент сценариев для всех платформ. это действительно покрывает почти все Ваши требования

иначе я предполагаю, что powershell является способом пойти, хотя он действительно требует, чтобы dotnet платформа была установлена.

2
ответ дан 3 December 2019 в 16:19
  • 1
    Платформа.NET является неотъемлемой частью любого Windows OS с 2006. –  CesarGon 2 December 2009 в 21:42
  • 2
    Вы попытались использовать PS на ядре 2008 года? –  dyasny 3 December 2009 в 11:47
  • 3
    Я знаю то, что Вы имеете в виду.:-) Но davidhayes' требования didn' t упоминают Ядро 2008 года. –  CesarGon 4 December 2009 в 05:49
  • 4
    хорошо, как я сказал - PS2 довольно в порядке. но я лично предпочитаю портативные сценарии и Python, поскольку язык является, вероятно, самой легкой вещью начиная с ABC :) взял меня (не тип программирования) приблизительно две недели, чтобы начать писать производственные сценарии. –  dyasny 4 December 2009 в 10:19
  • 5
    И 2 008 Ядер R2 поддерживают PowerShell. –  Steven Murawski 8 December 2009 в 23:10

Мне не нравится ISE, но я испорчен с Visual Studio IDE для другой разработки. Некоторые люди как свободная замена PowerGUI: http://www.powergui.org. Это, кажется, имеет подобную Intellisense функциональность.

Единственное возражение, о котором я могу думать для PowerShell, является им, требует платформы и требует 3,5 платформ для некоторых расширенных функций V2. Не точно легкий компонент, если необходимо развернуть его на сотнях или тысячах машин.

1
ответ дан 3 December 2019 в 16:19

Как большой фактор в ответе, я спросил бы, какой язык сценариев является самым легким развернуть в Вашу среду. Рассмотрите следующие языки сценариев и инфраструктуру все-Windows:

  • CMD (batchfiles): Уже развернутый на всех системах, потому что встроенный к Windows с тех пор навсегда.
  • vbscript: Уже развернутый на всех системах, потому что встроенный к Windows начиная с Win98.
  • PowerShell: Встроенный к Windows 2008R2, Windows 7 и чему-либо с Exchange 2007, работая на нем. Должен быть развернут на всех других системах, где Вы ожидаете, что сценарии будут работать - но не к системам Вы запросите из сценариев, работающих в другом месте. EG Powershell может работать на системе Win7, названной хостой, и запросить свойства hostB, выполняющего Windows XP, которому не установили Powershell.
  • Perl: должен быть развернут на всех системах, куда сценарии будут работать.
  • Python: должен быть развернут на всех системах, куда сценарии будут работать.

Так, если я не хотел иметь дело с развертыванием одного из последних механизмов выполнения сценариев ко всем моим системам, я стандартизирую на VBscript и/или CMD. Из этих двух vbscript намного более мощен, хотя как старый пакетный сценарист, у меня все еще есть слабость к CMD. Когда это может сделать задание, обычно требуется намного меньше ввода! Но если бы я должен был выбрать, то это был бы vbscript для удобочитаемости и гибкости. vbscript IDE, такой как PrimalScript являются просто Google далеко.

Если бы у меня была роскошь пристраивания абсолютно новой среды, куда все системы выполнили Win2008R2 и Win7, я стандартизировал бы на PowerShell.

1
ответ дан 3 December 2019 в 16:19

Мы использовали VBScript в течение многих лет и только недавно начали изучать PowerShell (V2). VBScript имеет свои недостатки, но он служил нам хорошо, таким образом, я не вижу оснований для отказа от наших прошлых инвестиций в него. С другой стороны, PowerShell является ment, чтобы быть стандартом языка сценариев Windows, и поддержка, конечно, поправится. Так, для нас это будет смешанной средой сценариев для нас в течение следующих нескольких лет.

BTW, когда я смотрю на Ваш список требования, PowerShell легко, выполняет все кроме того о поддержке отладки и того об управлении исключением (но обработка ошибок VBScript не является большой ни один). Кроме того, одним большим преимуществом PowerShell по VBScript является свой доступ к.Net Framework.

0
ответ дан 3 December 2019 в 16:19
  • 1
    PowerShell 2 имеет отладку поддержки на ISE, включая точки останова и пошаговое выполнение. –  CesarGon 2 December 2009 в 21:39

Я использовал бы Визуальный Экспресс 2005 или 2008 годов C#. Это отвечает всем Вашим требованиям, версии Экспресса Visual Studio являются бесплатными (как в пиве), Платформа.NET (особенно при выборе 2005) уже, вероятно на серверах, и это позволяет Вам насладиться некоторыми своими существующими навыками разработки для некоторого действительно необычного материала.

Конечно, это действительно "не пишет сценарий" как таковой, но я лично думаю (дополнительно), добавление элементов GUI может быть выгодным для других задач.

0
ответ дан 3 December 2019 в 16:19

Теги

Похожие вопросы