【问题标题】:Powershell, Powershell SnapIn, AppCmd.exePowershell、Powershell 管理单元、AppCmd.exe
【发布时间】:2014-12-31 23:22:11
【问题描述】:

我刚刚开始阅读一些 Powershell 教程 - 因为我想编写脚本来创建网站/虚拟目录/appPool
但是我对这些术语感到困惑-

  • Powershell
  • Powershell 管理单元
  • AppCmd.exe

似乎它们都可以用于 IIS 7.0 管理任务。
请分享一些关于这三个如何相互不同的知识?

非常感谢!

【问题讨论】:

    标签: powershell


    【解决方案1】:

    Powershell 本身并不能真正用于 IIS 管理——它“只是”一个 shell。但是,它是可扩展的,通过管理单元和模块,例如 IIS 模块“WebAdministration”。您可以使用 powershell 中的 Import-Module 命令加载它。这将使许多与 IIS 管理相关的命令可用,例如 New-Website 和朋友。您还可以访问新的 PSDrive,它是 IIS 配置的逻辑表示。它可以通过cd IIS:\ 获得,在这里您可以浏览您的应用程序池和网站。查看this MSDN article 了解更多信息。

    AppCmd 的作用基本相同,但不需要 powershell。您可以将其中任何一个用于大多数任务。不过,我更喜欢带有 IIS 模块的 Powershell,因为脚本更容易阅读,而且 PSDrive 可以进行许多使用 AppCmd 不容易做到的检查(例如,在创建网站之前检查网站是否存在) , 在设置脚本中)

    【讨论】:

    • 感谢您的回复。再问一个问题——那为什么微软提供了两种不同的工具(AppCmd 和 Powershell),功能几乎相同?
    • 对不起,不知道,也无法通过一些研究找到好的答案。我以为是 appcmd 是随早期版本一起提供的,并且正在逐步淘汰以支持 powershell,但似乎两者都是为 IIS7 添加的......希望其他人可以回答!
    【解决方案2】:

    AppCmd.exe 是管理 IIS 的单一命令行工具,您可以使用 powershell 创建 部署时的网站/虚拟目录/appPool

    希望这个回答你的问题..

    【讨论】:

      【解决方案3】:

      确保将 appcmd.exe 的路径添加到 $PROFILE 文件中的 ENV 路径,以便可以从任何地方访问它。

      $env:Path = $env:Path + ";C:\Windows\System32\inetsrv"
      

      【讨论】:

        猜你喜欢
        • 2014-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-15
        • 1970-01-01
        • 2013-11-27
        相关资源
        最近更新 更多