【问题标题】:Using powershell to Set-WebConfigurationProperty on a web application with a parent site使用 powershell 在具有父站点的 Web 应用程序上设置 WebConfigurationProperty
【发布时间】:2015-05-06 10:12:46
【问题描述】:

我正在尝试修改this Octopus Deploy step template 以在新创建的应用程序上启用anonymousAuthentication

我的应用程序有一个父站点,所以它会是这样的

MyParentSite\MyChildSite

是否可以定位到 parentSite \ name 类似下面的东西?

Set-WebConfigurationProperty  
-filter /system.WebServer/security/authentication/anonymousAuthentication  
-name enabled  
-value true 
-location $parentSite\$name

还是我使用了错误的属性?

【问题讨论】:

    标签: powershell iis octopus-deploy


    【解决方案1】:

    我不确定您是否知道,但您可以使用默认的 NuGet 包部署步骤设置“匿名身份验证”。就像单击一个复选框一样简单。

    在内置的“部署 NuGet 包”步骤中,单击该步骤底部的“配置功能”。选择“IIS 网站和应用程序池”。从那里,您应该会看到以下选项:

    如果您愿意,您绝对可以编写您的解决方案,但很多人没有意识到 Octopus 中默认存在此菜单,因为它隐藏在“配置功能”设置中。我知道你在问一个 PowerShell 问题,而我用一个非 PowerShell 的答案来回答,但这可能是获得你想要的更简单的路径。

    【讨论】:

    • 猜我应该在问题中澄清这一点 - '标准' nuget 部署步骤不允许我部署到网站下的虚拟目录,因此需要 powershell 步骤
    • 啊。好的,谢谢你的澄清。您确实说过子站点,而该步骤是针对父 IIS 站点的。我的错。我不熟悉 Set-WebConfigurationProperty 但您的路径似乎是正确的。我认为该位置可以换成:“-PSPath IIS:\”
    • 这不是我的首选设置,但有各种烦人且不可动摇的原因我必须使用虚拟目录/父站点等...
    • 您是否尝试过使用 PowerShell WebAdministration 模块?这个 Set-WebConfigurationProperty 看起来很理想,但我想知道另一个模块是否更好。
    【解决方案2】:

    您只需要使用正斜杠而不是反斜杠:

    Set-WebConfigurationProperty -filter /system.WebServer/security/authentication/anonymousAuthentication -name enabled -value true -location $parentSite/$name

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 2014-06-24
      • 2016-04-22
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多