【问题标题】:Remove a Web Application from IIS 6.0 using Powershell使用 Powershell 从 IIS 6.0 中删除 Web 应用程序
【发布时间】:2014-04-01 07:30:12
【问题描述】:

我正在使用带有 IIS 6.0 的 Windows Server 2003。我已经使用以下 powershell 代码 sn-p 编写了将 Web 应用程序添加到 IIS 的代码。

# Get parameters passed to the script
param($appName, $appPath)
$path = [ADSI]"IIS://localhost/W3SVC/1/ROOT"
$app = $path.Create("IIsWebVirtualDir", $appName)
$app.AppCreate3(1,"TestAppPool", $false)
$app.Put("AppFriendlyName", $appName)
$app.Put("Path", $appPath)
$app.put("EnableDirBrowsing", $true)
$app.SetInfo()

现在我的要求是从 IIS 中删除 Web 应用程序。 我尝试过使用命令 AppDelete 和 AppDeleteRecursive。他们两个都没有工作。他们只是删除应用程序,但文件夹快捷方式仍保留在 IIS 中。

我已经尝试过这段代码:

$path = [ADSI]"IIS://localhost/W3SVC/1/ROOT/SampleService"
$app = $path.AppDelete()

【问题讨论】:

  • 您要删除的是物理目录还是虚拟目录?
  • IIS 中的虚拟目录。我试过使用命令 AppDelete 和 AppUnload 都没有,或者它们没有用。
  • 您当前删除应用程序的代码是什么?
  • 在问题中添加了代码。 :)

标签: asp.net iis powershell


【解决方案1】:

如果你运行它会发生什么?

$path = [ADSI]"IIS://localhost/W3SVC/1/ROOT"

try {
  $vdir = new-object System.DirectoryServices.DirectoryEntry($path + "/SampleService")
  $vdir.AppDelete()
}
catch [Exception] {
  write-warning "Couldn't delete app: $($_.Exception.Message)"
}

【讨论】:

  • 应用程序被删除,但 IIS 中的虚拟目录仍然存在。 (即)我在 IIS 中有虚拟目录,如果我右键单击它,我可以选择将其转换为 Web 应用程序。
  • 这听起来对我来说是正确的 - 该目录是否实际存在于系统的站点根目录中?
  • 是的。目录存在。 :)
  • 所以它不再是一个虚拟目录——那个位已经起作用了。您已成功删除该应用程序。此方法不能删除物理目录,需要使用remove-item从文件系统中删除目录。
  • 但我在 IIS 中以目录快捷方式的形式看到应用程序。有没有办法去掉。
【解决方案2】:

您好,我已经使用这段代码解决了这个问题。

$path = [ADSI]"IIS://localhost/W3SVC/1/ROOT"
$path.Delete("IIsWebVirtualDir","SampleService")

【讨论】:

    猜你喜欢
    • 2010-09-20
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 2010-10-03
    • 2011-12-18
    相关资源
    最近更新 更多