Можно ли использовать Python в качестве эффективного языка сценариев для среды Windows Server?

В настоящее время я работаю над стратегией управления несколькими Windows Server 2003–2008, на которых работает SQL Server 2000–2008, и мне нужна унифицированная платформа сценариев для автоматизации задач. Я становлюсь большим поклонником Python, и поэтому я хотел бы знать, эффективно ли Python используется в качестве языка сценариев для администрирования различных наборов установок Windows Server с различными установками SQL Server, выполняющими различные задания. Я знаком с IronPython, который работает с платформой .Net, но я не уверен, какой синтаксис использует версия Python IronPython.

РЕДАКТИРОВАТЬ: FYI: я знаком с Powershell, но чем больше я знаю о нем и его синтаксисе, тем больше он мне не нравится.

РЕДАКТИРОВАТЬ: Пожалуйста, если вы можете, я хотел бы узнать о вашей истории успеха внедрения Python в качестве скриптового решения в Windows.


person Chris Hayes    schedule 15.01.2011    source источник
comment
Я согласен с PowerShell (v2) — он был разработан для работы с Windows, предлагает очень простой доступ к WMI, .NET, COM, но все еще i> является оболочкой и поставляется с набором стандартных модулей. Также имеется хорошая поддержка специальных задач администратора Windows, таких как администрирование SharePoint. Самая большая проблема с PowerShell: 1) нужны права администратора для предоставления разрешения на выполнение (не дело для администраторов) 2) он по-прежнему не поставляется с хорошей оболочкой. Возьмите RXVT или аналогичный. Синтаксис — это просто синтаксис. Поскольку у него есть замыкания/анонимные функции, при желании довольно легко обернуть уродливые вещи.   -  person    schedule 16.01.2011
comment
Я отстаиваю точку зрения @Chris, хотя я давно ждал языка сценариев в Windows, PowerShell никогда не привлекал меня к его изучению только из-за его уродливого синтаксиса.   -  person Jahan    schedule 16.01.2011


Ответы (5)


Несмотря на мою любовь к Python, я думаю, что PowerShell подходит больше.

Из Википедии:

Windows PowerShell — это среда автоматизации задач Microsoft, состоящая из оболочки командной строки и связанного с ней языка сценариев, созданного поверх .NET Framework и интегрированного с ним. PowerShell предоставляет полный доступ к COM и WMI, позволяя администраторам выполнять административные задачи как в локальных, так и в удаленных системах Windows.

person Jahan    schedule 15.01.2011
comment
Я ненавижу голосовать за этот ответ, но чем больше и больше я думаю об этом, тем меньше и меньше я вижу надежды на Python. - person Chris Hayes; 16.01.2011
comment
PyWin32 + WMI для COM/WMI от CPython. Или IronPython для собственного .NET. Python — законный претендент на большинство всех административных задач. - person Corey Goldberg; 17.01.2011

2 основы для работы в Windows с Python:

Модуль WMI Тима Голдена:
* http://timgolden.me.uk/python/wmi/cookbook.html

Пакет PyWin32 Марка Хаммонда:
* http://docs.activestate.com/activepython/2.4/pywin32/PyWin32.HTML

person Corey Goldberg    schedule 16.01.2011

Я не уверен насчет Windows, но Python часто используется в Linux для административных сценариев, и это намного лучше, чем родная оболочка Windows. И я думаю, что Python вполне подходит для ваших задач.

В качестве другого варианта вы можете взглянуть на cygwin и bash.

person Elalfer    schedule 15.01.2011

Я не уверен, какой синтаксис использует версия Python IronPython.

Синтаксис IronPython в настоящее время находится на том же уровне, что и Python 2.6.

IronPython очень хорошо интегрируется с .NET и COM и IMO лучше подходит для мышления программиста, чем Powershell (я не очень люблю синтаксис Powershell). Однако Powershell, безусловно, является более безопасным вариантом, поскольку Microsoft активно поддерживает его.

person Richard Nienaber    schedule 16.01.2011

Я никогда не занимался сложным системным администрированием Windows на Python (во всяком случае, не используя SQL-сервер), но я думаю, что вы могли бы взглянуть на winsys.

person s.m.    schedule 15.01.2011