【问题标题】:Can Python be used as an effective script language for Windows Server environment?Python 可以用作 Windows Server 环境的有效脚本语言吗?
【发布时间】:2011-06-09 18:48:06
【问题描述】:

我目前正在制定管理多个运行 SQL Server 2000 - 2008 的 Windows Server 2003 到 2008 的策略,我想要/需要一个统一的脚本平台来自动执行任务。我正在成为 Python 的忠实粉丝,因此我想知道 Python 是否已被有效地用作一种脚本语言,用于管理各种 Windows Server 安装以及运行各种作业的各种 SQL Server 安装。 我熟悉针对 .Net 框架执行的 IronPython,但我不确定 Python IronPython 使用什么语法版本。

编辑:仅供参考:我熟悉 Powershell,但我对它了解得越多,它的语法就越不喜欢它。

编辑:如果可以的话,我想知道您在 Windows 上将 Python 实现为脚本解决方案的成功故事。

【问题讨论】:

  • 我同意 PowerShell (v2) -- 它设计 可用于 Windows,非常容易 访问 WMI、.NET、COM ,而 仍然 是一个外壳,并带有一堆标准模块。对特殊的 Windows 管理任务也有很好的支持,例如 SharePoint 管理。 PowerShell 的最大问题是 1) 需要管理员权限才能授予执行权限(对管理员来说不是交易) 2) 它仍然没有一个好的外壳。拿起 RXVT 或类似的。语法就是这样,语法。由于它具有闭包/匿名功能,因此如果需要,可以很容易地包装“丑陋的东西”。
  • 我坚持@Chris 的观点,虽然我期待 Windows 中的脚本语言很久了,但 PowerShell 从来没有吸引我去学习它,只是因为它的语法很丑

标签: python ironpython windows-server


【解决方案1】:

尽管我很喜欢Python,但我认为PowerShell 更适合。

来自Wikipedia

Windows PowerShell 是 Microsoft 的任务自动化框架,由命令行 shell 和相关的脚本语言组成,这些脚本语言构建在 .NET Framework 之上并与 .NET Framework 集成。 PowerShell 提供对 COM 和 WMI 的完全访问权限,使管理员能够在本地和远程 Windows 系统上执行管理任务。

【讨论】:

  • 我不想赞成这个答案,但我越想它,我就越看不到 Python 的希望。
  • PyWin32 + WMI 用于来自 CPython 的 COM/WMI。或用于本机 .NET 的 IronPython。 Python 是大多数管理任务的合法竞争者。
【解决方案2】:

我不确定是什么语法版本 Python IronPython 使用。

IronPython 的语法目前与 Python 2.6 处于同一级别。

IronPython 与 .NETCOM 以及 IMO 集成得非常好,比 Powershell 更适合程序员的心态(我不是 Powershell 语法的粉丝)。但是,Powershell 肯定是更安全的选择,因为它受到 Microsoft 的积极支持。

【讨论】:

    【解决方案3】:

    在 Windows 上使用 Python 工作的两个要点是:

    Tim Golden 的 WMI 模块:
    * http://timgolden.me.uk/python/wmi/cookbook.html

    Mark Hammond 的 PyWin32 包:
    * http://docs.activestate.com/activepython/2.4/pywin32/PyWin32.HTML

    【讨论】:

      【解决方案4】:

      我自己从来没有用 Python 做过复杂的 Windows 系统管理(反正不涉及 SQL 服务器),但我认为你可以看看 winsys 项目。

      【讨论】:

        【解决方案5】:

        我不确定 Windows,但 Python 在 Linux 中被大量用于管理脚本,它比原生 Windows shell 要好得多。而且我认为 Python 非常适合您的任务。

        作为另一种选择,您可以看看 cygwin 和 bash。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-24
          • 1970-01-01
          • 2010-12-27
          • 2010-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多