Проблема: создание MOF конфигурации LCM или MOF DSC в задаче Powershell в DevOps Azure
Объяснение: Итак, обычно вы просто вызываете свою конфигурацию dsc, то есть myconfig.ps1, и в файле, который я уже упоминал, конфигурация dscНАЗВАНИЕ.После этого он сгенерирует файл MOF.Если я сделаю то же самое, вызывая этот файл myconfiguration.ps1 в задаче Powershell (та же ошибка во встроенной задаче), он не будет генерировать файл.
Образец: см. Ниже мой пример кода, который я сохранил в файле .ps1
Configuration myconfig
{
Import-DscResource -ModuleName PSDesiredStateConfiguration
Service OIService
{
Ensure = "Present"
Name = "HealthService"
State = "Running"
}
}
myconfig -OutputPath c:\myconfig
При вызове файла myconfig.ps1 с задачей powershell в azuredevops выдается следующая ошибка:
ОШИБКА:
На C: \ agent_work \ 1 \s \ Scripts-VSTS \ DSCDeploy \ myconfig.ps1: 2 char: 15 + Конфигурация myconfig {+ ~~~ System.Management.Automation.PSArgumentException: Невозможно обработать аргумент, поскольку значение аргумента "fullFilePath" недопустимо.Измените значение аргумента «fullFilePath» и снова запустите операцию.по адресу Microsoft.PowerShell.DesiredStateConfiguration.CimDSCParser.GetFileContent (String fullFilePath) по адресу Microsoft.PowerShell.DesiredStateConfiguration.CimDSCParser.ParseSchemaMof (String filePath) по адресу, Boolean importInBoxResourcesImplicitly) в Microsoft.PowerShell.DesiredStateConfiguration.Internal.DscClassCache.Initialize (коллекция 1 errors, List
1 modu lePathList) в Microsoft.PowerShell.DesiredStateConfiguration.Internal.DscClassCache.LoadDefaultCimKeyKey для 1 словаcustomAttributes, Token con figurationToken) В C: \ agent_work \ 1 \ s \ Scripts-VSTS \ DSCDeploy \ myconfig.ps1: 2 char: 20 + Конфигурация myconfig {+ ~ Неожиданный токен '' в выражении или операторе.В C: \ agent_work \ 1 \ s \ Scripts-VSTS \ DSCDeploy \ myconfig.ps1: 16 char: 1 +} + ~ Неожиданный токен '}' в выражении или выражении.+ CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: ParserError