如何使用Powershell在IIS WebApplication(而不是WebSite)上将applicationDefaults.preloadEnabled设置为True?

How to set applicationDefaults.preloadEnabled to True on a IIS WebApplication (instead of WebSite) with Powershell?

提问人:RandyMangar 提问时间:2/16/2023 最后编辑:RandyMangar 更新时间:2/16/2023 访问量:260

问:

我在我的 WixToolset 安装程序中包含一个 Powershell 脚本,用于在 IIS 中执行各种任务,但我无法弄清楚一件事。

IIS 中的“我的网站”的结构如下:

  • 网站
    • 默认网站
      • WebApp1
      • WebApp2
      • 身份

我可以在默认网站上将applicationDefaults.preloadEnabled设置为true,但我只想在我的Identity WebApplication上设置preloadEnabled

由于 Powershell 知识有限,我尝试过:

Import-Module WebAdministration
Get-WebApplication 
Get-WebApplication "Identity"

上面的代码正确地列出了 Identity WebApplication。

cd C:\inetpub\wwwroot
Set-ItemProperty "Identity" -Name applicationDefaults.preloadEnabled -Value True

上面的代码给出了错误: 属性字符串 applicationDefaults.preloadEnabled=True 不存在或未找到。 在行:1 字符:1

我也尝试过preloadEnabled而不是applicationDefaults.preloadEnabled,结果相同。

PowerShell PowerShell-3.0 IIS-6

评论

0赞 guiwhatsthat 2/16/2023
您不能在普通文件路径上使用。您需要使用 iss 路径,类似于 IIS:\Sites\SiteNameSet-Itemproprty
0赞 RandyMangar 2/16/2023
看起来我正在寻找的路径是“IIS:\Sites\Default Web Site\Identity”

答:

1赞 RandyMangar 2/16/2023 #1

多亏了@guiwhatsthat的评论和一些额外的搜索,才弄清楚了。这就是有效的方法。

Set-ItemProperty "IIS:\Sites\Default Web Site\Identity" -Name preloadEnabled -Value True

评论

0赞 Mort 6/5/2023
该属性的名称为“applicationDefaults.preloadEnabled”。指定“preloadEnabled”将返回错误。