gpt4 book ai didi

Powershell 应用程序池设置周期性重启语法

转载 作者:行者123 更新时间:2023-12-04 15:33:03 26 4
gpt4 key购买 nike

我正在尝试设置 periodicRestart 属性使用 powershell 脚本,但我尝试使用与我在代码示例中看到的略有不同的语法。

这是根据 Set the specific times to recycle an application pool with PowerShell 做的一种方法:

Clear-ItemProperty $iisAppPoolName -Name Recycling.periodicRestart.schedule
Set-ItemProperty $iisAppPoolName -Name Recycling.periodicRestart.schedule `
-Value @{value="01:00:00"}

但是,我已经有一段代码在其中设置 $appPool 的属性。本身是这样的:
$appPool = New-WebAppPool $iisAppPoolName 
$appPool.managedPipelineMode = "Classic"
$appPool.managedRuntimeVersion = "c4.0"
$appPool.recycling.periodicRestart.time = [TimeSpan]"00:00:00"
$appPool | Set-Item

哪个工作正常,所以我想添加以下行:
$appPool.recycling.periodicRestart.schedule = @{value="01:00:00"}

但我无法获得 @{value="01:00:00"} 的语法采取。 schedule属性需要一个哈希表,这就是我要传递的。

example

有任何想法吗?

最佳答案

有趣的是,您将其视为 [Hashtable] .我认为它是 [Microsoft.Iis.Powershell.Framework.ConfigurationElement] .

它有一个名为 .UpdateCollection() 的方法。预计 [PSObject[]] ,所以它正在寻找一个对象数组。

问题是,无论是在从 New-WebAppPool 返回的池对象上调用该方法,或来自 Get-Item IIS:\AppPools\ExistingPool , 导致错误,指出它是只读的。

我尝试替换整个 .Collection使用添加了时间跨度对象的新数组列表,我没有收到任何错误,但它没有设置值。

我也尝试创建一个 ConfigurationElement 对象,但它似乎没有构造函数,所以它可能是代码中某处的私有(private)类。

我并不是说绝对没有办法按照你的意愿去做,但看起来你最好只使用 Set-ItemProperty因为似乎其中一些属性被设计为只能通过 PS Provider 进行更新。

关于Powershell 应用程序池设置周期性重启语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31819272/

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