【问题标题】:Deleting an application directory from iss with appcmd and reports identifer needed使用 appcmd 从 iis 中删除应用程序目录并报告需要标识符
【发布时间】:2018-02-09 01:49:33
【问题描述】:

我以某种方式使用 appcmd 命令创建了一个应用程序目录,该命令隐藏了我所有的应用程序目录。

我可以使用appcmd 列出我的应用程序目录,我认为我创建的最后一个目录的文件路径末尾带有双引号字符,所以我试图删除那个应用程序目录。

当我运行命令 appcmd list app 时,我得到了我的应用程序目录列表​​,这些目录没有显示在 UI 中。

这是最后三个的列表:

  • APP“默认网站/hotele/language90”(applicationPool:DefaultAppPool)
  • APP“默认网站/hotele/business900”(applicationPool:DefaultAppPool)
  • APP“默认网站/hotelk”(applicationPool:DefaultAppPool)

当我尝试删除我认为会弄乱所有目录的 hotelk 时,我尝试运行以下命令:

appcmd delete app "Default Web Site"/"hotelk"

它给了我这个错误:

消息:必须使用带有动词 DELETE 的 APP 对象的确切标识符。

我尝试了许多不同的删除语法组合,但没有使用标识符的含义?

我无法使用 IIS UI 删除此应用程序目录,因为当我去那里时,我的所有应用程序目录都没有出现。

【问题讨论】:

    标签: iis appcmd


    【解决方案1】:

    首先尝试从 Internet 信息服务 (IIS) 管理器 GUI 中删除该应用程序。

    如果您在那里找不到您的应用,您可以手动编辑 IIS 配置文件 (ApplicationHost.config):

    • 转到路径%windir%\system32\inetsrv\config
    • 创建 ApplicationHost.config 文件的备份
    • 打开 ApplicationHost.config 文件
    • 搜索您要删除的应用的名称(例如 hotelk)。你应该在<sites> 部分找到它:

      <sites>
          <site name="Default Web Site" id="1">
              ...
          </site>
          <site name="hotelk&quot;" id="2">
              <application path="/">
                  <virtualDirectory path="/" physicalPath="d:\test" />
              </application>
              <bindings>
                  <binding protocol="http" bindingInformation="*:80:" />
              </bindings>
          </site>
          <siteDefaults>
              ...
          </siteDefaults>
          <applicationDefaults applicationPool="DefaultAppPool" />
          <virtualDirectoryDefaults allowSubDirConfig="true" />
      </sites>
      
    • 删除包含您要删除的站点的整个节点
    • 保存文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      相关资源
      最近更新 更多