Так что я новичок в DS C (долгое время PS Script). Короче говоря.
СИТУАЦИЯ: У меня есть пользовательские письменные службы (написанные подрядчиком, которого здесь больше нет), которые запускают процессы, вызываемые другими приложениями. Время от времени эти службы производят sh из-за перегрузки и просто должны быть запущены. У меня есть 3 разных сервера с 10 разными сервисами, у каждого из которых есть префикс, но суффикс сервиса отличается.
НАЧАЛЬНАЯ ПРОБЛЕМА: Эти службы должны постоянно находиться в рабочем состоянии. Запуск службы резервного копирования устраняет проблему каждый раз. Из-за SLA компании я не могу вообще долго отказываться от этих сервисов, поэтому ожидание того, что технология запрыгнет на поверхность, - это и боль для технологии, и удар по нашему SLA
** РЕШЕНИЕ: ** Я реализовал DS C Pu sh (я переключусь на Pull, но это было быстрое решение), где у меня есть следующий код для создания файлов .mof
Configuration <Product>_Services{
Import-DscResource –ModuleName 'PSDesiredStateConfiguration'
Node $Computername
{
$Services = Get-Service -ComputerName $Computername -Name "<prefix>.*"
Foreach ($service in $services)
{
Service $service
{
Name="$service"
State="Running"
}
}
}
}
<Product>_Services -OutputPath "C:\DSC_Repo\<product>"
Когда код запускается, я get
"При обработке спецификации для узла '' был обнаружен дубликат идентификатора ресурса '[Service] System.ServiceProcess.ServiceController'. Измените имя этого ресурса так, чтобы он был уникальным в пределах узла Спецификация. "
** Вопрос: ** Кто-нибудь имеет представление о том, что я делаю здесь неправильно? Я устал, используя только один сервис, и это сработало. Я также попробовал это без "-Computername" в $ Services, и ничего не произошло. Никаких ошибок или чего-то еще, поэтому я предполагаю, что он тянул с моего компьютера, а не с узла.
Заранее спасибо.