Возможно ли инициализировать все подключенные диски на несколько виртуальных машин с помощью одной конфигурации DSC? Например, если в VM1 установлено 1 диск, то конфигурация DSC будет инициализировать этот диск как диск F, VM2 имеет 2 диска, поэтому сама конфигурация DSC будет атаковать диски как F и G. Идея состоит в том, чтобы повторно использовать этот файл конфигурации для нескольких виртуальных машин с помощью переменное количество дисков без ошибок.Инициализировать переменное количество дисков с одной конфигурацией DSC
ответ
Это должно работать, если вы компилируете локально. Так как язык позволяет настойчиво строить заявленное состояние. Вы можете запросить диски и установить состояние.
Назначение букв дисков в моем образце довольно грубое. Вы также должны улучшить его.
Это использует xStorage which can be found on the PowerShell Gallery
Configuration disks
{
$DriveLetters = 'DEFGHIJKLMNOPQSRT'
Import-DscResource -ModuleName xStorage
Node localhost
{
Get-Disk | Where-Object {$_.NumberOfPartitions -lt 1} | Foreach-Object {
Write-Verbose "disk($($_.Number))" -Verbose
xDisk "disk($($_.Number))"
{
DriveLetter = $DriveLetters[$_.Number]
DiskNumber = $_.Number
FSFormat = 'NTFS'
}
}
}
}
Ошибка с другой ошибкой: '' 'Расширение DSC получило неправильный ввод: ошибки компиляции произошли при обработке« дисков »конфигурации. Ознакомьтесь с ошибками , указанными в потоке ошибок, и соответствующим образом измените свой код конфигурации. Не удалось выполнить операцию индексирования; индекс массива оценивается как null. Вызов исключения «InvokeWithContext» с аргументом «2»: «Ошибка операции индекса, индекс массива оценивается как null». Индекс не выполнен; индекс массива оценивается как null. '' ' – Max
Вы компиляции конфигурации на целевом узле? – TravisEz13
Да, я использую Azure DSC Extension для этого. – Max