Расширяем User Profile Disk с помощью PowerShell

При использовании дисков профилей User Profile Disk в ферме RD Connection Broker на базе Windows Server 2012 R2 рано или поздно может появиться задача расширения того или иного диска профилей. Выполнить эту задачу можно как с помощью графических средству управления, таких как, консоль Управление дисками (diskmgmt.msc) и Диспетчер Hyper-V (virtmgmt.msc), так и с помощью PowerShell для того, чтобы свести к минимуму пробег мыши. Для непосредственной процедуры расширения VHDX-диска воспользуемся командлетом Resize-VHD из PS-модуля Hyper-V. Для того, чтобы этот командлет отрабатывал без ошибок на рабочей станции с Windows 10, помимо Средств управления Hyper-V мне пришлось доустановить в систему Службы Hyper-V через оснастку Программы и компоненты (appwiz.cpl) Чтобы сориентироваться в том, какой именно VHDX-файл нам нужно модифицировать в сетевой папке где расположены файлы дисков профилей, узнаем SID доменного пользователя запросившего расширение диска профиля: Import-Module ActiveDirectory Get-ADUser petya | Select -Property SID Зная SID, сформируем полный путь к VHDX-файлу (имя файла формируется как UVHD-<SID>.vhdx) и запишем его в переменную $VDiskPath В переменную $VDiskNewSize запишем новый размер (увеличенный) виртуального диска в байтах. Перед запуском скрипта на всякий случай сделаем резервную копию модифицируемого VHDX-файла. В процессе расширения диска нам потребуется эксклюзивный доступ к VHDX-файлу, поэтому на время расширения лучше попросить пользователя закрыть сессию в ферме RDS, чтобы диск его профиля не был занят. Выполним скрипт расширения: Import-Module Hyper-V # $VDiskPath = “\\MYDOM\DFSRoot\RDS-Profiles\UVHD-S-1-5-21-2988499774-3619934774-1776546648-108997.vhdx” $VDiskNewSize = 1347420160 [int]$VDiskBusy = 0 # Try { # # Check if vdisk busy # Mount-DiskImage -ImagePath $VDiskPath -ErrorAction Stop } Catch{ Write-Warning “Mount-DiskImage error:`n$_” $VDiskBusy = 1 BREAK } # If ($VDiskBusy -eq 0) { # Dismount-DiskImage -ImagePath $VDiskPath # # Resize vdisk # Resize-VHD -Path $VDiskPath -SizeBytes $VDiskNewSize # # Mount, extend partition and dismount vdisk # Mount-DiskImage -ImagePath $VDiskPath $VDiskVol = Get-DiskImage –ImagePath $VDiskPath | Get-Disk | Get-Partition | Get-Volume $PartSize = Get-PartitionSupportedSize -DriveLetter $VDiskVol.DriveLetter Resize-Partition -DriveLetter $VDiskVol.DriveLetter -size … Читать далее Расширяем User Profile Disk с помощью PowerShell