BlackTDN Search

sexta-feira, 16 de janeiro de 2009

Protheus :: "Windows® PowerShell® Script Stop and Start Services"

Como é do conhecimento de todos, os serviços do Protheus tem um "pequeno" problema no que diz respeito ao gerenciamento de memória (quando executado sobre a plataforma Windows Server 32). Sendo assim, de vez em quando faz-se necessário "reiniciar" esses serviços de forma a liberar memória e evitar efeitos colaterais. Em função desse "pequeno problema", disponibilizo um "script" em Windows® PowerShell® para "reiniciar" os serviços do Protheus. Para adaptá-lo às suas necessidades altere: $IniPort; $EndPort; o nome do serviço a ser "parado/reiniciado" e o intervalo de definição das "portas" (presumindo que existam vários serviços do Protheus "escutando" em um mesmo "server").

#Script Name P10Restart.ps1
$IniPort = 5110
$EndPort = 5911
for ( $Port = $IniPort ; $Port -le $EndPort ; $Port+=100 )
{
if ( get-service | where { $_.status -eq "running" -and $_.name -eq "P10Server"+$Port} )
{
Stop-Service -force P10Server$Port
Start-Service P10Server$Port
}
elseif ( get-service | where { $_.name -eq "P10server"+$Port} )
{
Start-Service P10Server$Port
}
}

Crie um agendamento (no meu caso, aos domingos) para que esse "script" seja executado.

Obs.:

  • Para que o "script" possa ser executado no "Task Manager" faz-se necessário informar o caminho completo do programa que irá executá-lo e o "script" a ser executado. Ex.: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe c:\totvs\p10\scripts\P10Restart.ps1; e
  • Para que o "script" possa ser executado faz-se necessário autoriza-lo através do Windows® PowerShell® , sendo assim, execute o Windows® PowerShell® e digite o seguinte comando: get-help about_signing. Esse comando irá listar as opções de "Diretivas de Assinatura e de Execução" de "Script", leia-as atentamente. Mas se quiser pular esse passo (eu não recomendo)digite o seguinte comando no Windows® PowerShell® : Set-ExecutionPolicy Unrestricted. Esse comando fará que qualquer "Script" seja executado em sua máquina (mas atente para os ítens de segurança listados à partir do comando get-help about_signing).

Nenhum comentário:

Postar um comentário