使用单个DSC配置初始化可变数量的磁盘

问题描述:

是否可以使用单个DSC配置将所有连接的磁盘初始化为多个VM?例如,如果VM1连接了1个磁盘,DSC配置会将该磁盘初始化为磁盘F,则VM2将有2个磁盘,因此完全相同的DSC配置会攻击F和G磁盘。此想法是将该配置文件重复用于多个VM可变数量的磁盘而不会出错。使用单个DSC配置初始化可变数量的磁盘

+0

你编译目标节点上的配置? – TravisEz13

+0

是的,我正在使用Azure DSC扩展。 – Max

这应该工作,如果你在本地编译。由于该语言允许强制建立已宣布的状态。您可以查询磁盘并设置状态。

在我的示例中分配驱动器号是相当粗糙的。你也应该改进它。

它使用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'   
     } 
    } 
    } 
} 
+0

失败,出现不同错误: '''DSC扩展接收到错误的输入:处理配置'磁盘'时发生编译错误。请检查错误流中报告的 错误,并适当修改您的配置代码。索引操作失败;数组索引评估为 null。调用带有“2”参数的“InvokeWithContext”异常:“索引操作失败;数组索引评估为null”。索引 操作失败;数组索引评估为null.''' – Max