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

Initialize variable amount of disks with a single DSC configuration

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

如果您在本地编译,这应该有效。由于该语言允许强制构建声明的状态。您可以查询磁盘并设置状态。

我的示例中的盘符分配相当粗糙。你也应该改进它。

这使用了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'        
      }
    }
  }
}