Скрипт PowerShell для перезапуску сервісів DocsVision

Найчастіше виникає завдання перезапуску сервісів DocsVision і IIS. Для цього потрібно або відкривати 2 консолі управління, або зупиняти з командного рядка все по черзі.
При цьому потрібно пам'ятати, що якщо клієнти з'єднуються за net pipes c Windows сервісом DocsVision Storage Server Service, то зупиняти його потрібно в останню чергу.

Для спрощення завдання можна використовувати скрипти на PowerShell для автоматизації процесу.

Скрипти наведені для версії DocsVision 4.1. Для інших версій потрібно вказати інші імена сервісів в масиві $ Services

 

1. Перезапуск сервісів DocsVision та служби IIS

Function SmartStop ([string]$Name, [bool]$RO)
{
$Service = Get-Service -Name $Name
If ($RO -eq $true)
{
If ($Service.Status -eq “Running”)
{
write-host (“Stopping:” + $Name)
Stop-Service -Name $Name -force
return $Name
break
}
} else {
write-host (“Stopping:” + $Name)
Stop-Service -Name $Name
return $Name
}
}

$ErrorActionPreference=”SilentlyContinue”
$ Services = ("WFServer41", "WWFServer41", "DVReportServer41", "DVStorageServer41")
$Stopped=@()

$RunningOnly=$false
if ($args)
{
if ($args[0] -eq “-ro”)
{
$RunningOnly=$true
write-host (“Restarting only running services”)
}
}

foreach ($ServName in $Services) {
[string]$a=SmartStop $ServName $RunningOnly
$Stopped=$Stopped+$a
}

Stop-Process “ExecLogic.exe”
write-host (“IIS restarting”)
IISRESET /RESTART

$i=0
while ($Stopped[$i] -ne $null)
{
if ($Stopped[$i] -ne “”)
{
write-host (“Starting:” + $Stopped[$i])
Start-Service -Name $Stopped[$i]
}
$i+=1
}

Наприклад, скрипт збережений в restart-dv.ps1. Є два варіанти використання
>restart-dv1
перезапускає сервіси по порядку

>restart-dv1 -ro
перезапускає, тільки ті сервіси, які на даний момент активні. Корисно у випадках, коли деякі з них зупинені вручну.

2. Зупинка всіх сервісів DocsVision та служби IIS.

$ErrorActionPreference=”SilentlyContinue”
$ Services = ("WFServer41", "WWFServer41", "DVReportServer41", "DVStorageServer41")

foreach ($ServName in $Services) {
write-host (“Stopping:” + $ServName)
Stop-Service -Name $ServName
}
Stop-Process “ExecLogic.exe”

iisreset /STOP

3. Запуск всіх сервісів DocsVision та служби IIS.
$ErrorActionPreference=”SilentlyContinue”
$ Services = ("DVStorageServer41", "WFServer41", "WWFServer41", "DVReportServer41")

iisreset /START

foreach ($ServName in $Services) {
write-host (“Starting:” + $ServName)
Start-Service -Name $ServName
}

Пам'ятайте про установку політики безпеки скриптів> Set-ExecutionPolicy

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*