Загрузка данных


 - name: "Extend C: partition to fill unallocated space"
      10    ansible.windows.win_shell: |
      11      $ErrorActionPreference = "Stop"
      12 +
      13 +    $cPart = Get-Partition -DriveLetter C
      14 +    $diskNumber = $cPart.DiskNumber
      15 +
      16 +    # ВАЖНО: Windows может расширить раздел только в СМЕЖНОЕ unallocated-
      17 +    # пространство. На типовом Windows-диске после C: обычно идёт ещё один
      18 +    # раздел (Recovery/WinRE) — если его не убрать, новое место после роста
      19 +    # VMDK оказывается ПОСЛЕ него, а не сразу после C:, и Resize-Partition
      20 +    # молча не находит, куда расти (SizeMax остаётся равен текущему размеру).
      21 +    # Удаляем все разделы, идущие после C: на том же диске, перед расширением.
      22 +    # Компромисс: среда восстановления (WinRE) перестаёт быть доступна — для
      23 +    # тестовых disposable VM это приемлемо (аналогично уже принятому решению
      24 +    # не делать sysprep/generalize).
      25 +    $partsAfterC = Get-Partition -DiskNumber $diskNumber | Where-Object { $_.Offset -gt $cPart.Offset }
      26 +    foreach ($p in $partsAfterC) {
      27 +      Remove-Partition -DiskNumber $diskNumber -PartitionNumber $p.PartitionNumber -Confirm:$false
      28 +    }
      29 +
      30      $max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
      31      $current = (Get-Partition -DriveLetter C).Size
      32      if ($max -gt $current) {