gpt4 book ai didi

iis - 为什么/如何在获取和设置时 ManagedPipelineMode 是不同的类型?

转载 作者:行者123 更新时间:2023-12-02 00:37:07 24 4
gpt4 key购买 nike

在尝试编写一些脚本来管理 IIS 站点时,我遇到了 IIS 中 ManagedPipelineMode 的一些奇怪行为。我的代码相当通用,使用 Get-ItemProperty 读取旧值,然后使用 Set-ItemProperty 更新它(如果它不是我们想要的值)。

但是,如果我运行这个:

Get-ItemProperty "IIS:\AppPools\MyAppPool" "managedPipelineMode"

我取回了字符串Classic。但是,如果我运行这个:

Set-ItemProperty "IIS:\AppPools\MyAppPool" "managedPipelineMode" "Classic"

我收到错误Classic is not a valid value for Int32

所以,我知道我可以使用 ([int][Microsoft.Web.Administration.ManagedPipelineMode]::Classic) 设置该值,但我不明白为什么该类型似乎是使用 Get-ItemPropertySet-ItemProperty 时有所不同,或者我如何以行为一致的方式查询它。

注意:我真的不想为 ManagedPipelineMode 添加特殊情况,因为所有其他属性似乎都按预期运行。那么,有两个问题:

  1. 这种奇怪的行为是什么?允许属性在读取时为 string,但在设置时为 int?所有枚举都是这样吗?
  2. 有没有办法使用相同的类型读取/写入此属性,以便我可以编写能够读取该值的代码,检查它是否是我们想要的,如果不是,则更新它?

最佳答案

使用以下值:0 = 集成; 1 = 经典

Set-ItemProperty "IIS:\AppPools\MyAppPool" "managedPipelineMode" "1"

关于iis - 为什么/如何在获取和设置时 ManagedPipelineMode 是不同的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com