Script Powershell para alterar o tempo de reciclagem no pool de aplicativos
-
26-12-2019 - |
Pergunta
Encontrei o código que acho que preciso usar, mas o problema é que não está funcionando.
Import-Module WebAdministration
$appPools = Get-childItem 'IIS:\AppPools\App Pool'
Set-ItemProperty -Path $appPools -Name recycling.periodicRestart.time -Value 1.00:00:00
Mas estou recebendo esse erro
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
Eu sei que não é um problema de caminho.Isso funciona.
set-itemproperty -path 'D:\test\TestPS\New Text.txt' -name IsReadOnly -value $true
Qualquer ajuda seria ótimo...
Solução
Isto é um problema de caminho.
O objeto retornado de Get-ChildItem 'IIS:\AppPools\App Pool'
é um NodeCollection
objeto, e quando você executa Set-ItemProperty -Path $appPools
, $appPools
é expandido para "Microsoft.IIs.PowerShell.Framework.NodeCollection" (que não é um caminho válido)
Para alterar as propriedades do pool de aplicativos:
Set-ItemProperty -Path 'IIS:\AppPools\App Pool' -Name recycling.periodicRestart.time -Value 1.00:00:00
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow