アプリケーションプールでリサイクル時間を変更するためのPowerShellスクリプト

StackOverflow https://stackoverflow.com//questions/25068442

質問

私は私が使用する必要があると思うコードを見つけました、しかしそれはそれが機能していないということです。

Import-Module WebAdministration
$appPools = Get-childItem 'IIS:\AppPools\App Pool'
Set-ItemProperty -Path $appPools -Name recycling.periodicRestart.time -Value 1.00:00:00
.

しかし私はこのエラーを得ています

Set-ItemProperty : Cannot find path 'C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules\WebAdministration\Microsoft.IIs.PowerShell.Framework.NodeCollection' because it does not exist.
At line:3 char:1
+ Set-ItemProperty -Path $appPools -Name recycling.periodicRestart.time -Value 1.0 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (C:\Windows\SysW....NodeCollection:String) [Set-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetItemPropertyCommand
.

私はそれがパスの問題ではないことを知っています。これは仕事をします。

set-itemproperty -path 'D:\test\TestPS\New Text.txt' -name IsReadOnly -value $true
.

任意の助けが素晴らしいでしょう...

役に立ちましたか?

解決

IT はパスの問題です。

Get-ChildItem 'IIS:\AppPools\App Pool'から返されたオブジェクトはNodeCollectionオブジェクトであり、Set-ItemProperty -Path $appPoolsを実行すると、$appPoolsが "Microsoft.iis.Powershell.Framework.NodeCollection"に展開されます(これは有効なパスではありません)

アプリプールのプロパティを変更するには:

Set-ItemProperty -Path 'IIS:\AppPools\App Pool' -Name recycling.periodicRestart.time -Value 1.00:00:00
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top