Расширение пользовательского сценария для переопределения буквы диска при создании виртуальной машины Azure.
Я могу запустить приведенный ниже скрипт на виртуальной машине без каких-либо ошибок.
gwmi win32_pagefilesetting
$pf=gwmi win32_pagefilesetting
$pf.Delete()
Restart-Computer –Force
Get-Partition -DriveLetter "D" | Set-Partition -NewDriveLetter "T"
$TempDriveLetter = "T"
$TempDriveLetter = $TempDriveLetter + ":"
$drive = Get-WmiObject -Class win32_volume -Filter “DriveLetter = '$TempDriveLetter'”
#re-enable page file on new Drive
$drive = Get-WmiObject -Class win32_volume -Filter “DriveLetter = '$TempDriveLetter'”
Set-WMIInstance -Class Win32_PageFileSetting -Arguments @{ Name = "$TempDriveLetter\pagefile.sys"; MaximumSize = 0; }
Restart-Computer -Force
и когда я пытаюсь запустить сценарий через собственное расширение сценария, я получаю следующую ошибку:Скриншот ошибки
Ссылка на сценарий: https://stackoverflow.com/questions/58015765/drive-letter-override-in-azure-vm-creation
1 ответ
Этого можно добиться с помощью расширения PowerShell DSC. Следующий код DSC назначит букву T: первому диску с данными, установит файл подкачки и перезагрузит сервер.
Configuration SetPageFile {
Import-DscResource -ModuleName ComputerManagementDsc
Import-DscResource -ModuleName StorageDSC
Node localhost {
LocalConfigurationManager {
RebootNodeIfNeeded = $true
}
WaitforDisk Disk2
{
DiskId = 2
RetryIntervalSec = 30
RetryCount = 3
}
Disk Disk2 {
DiskId = 2
DriveLetter = 'T'
DependsOn = '[WaitForDisk]Disk2'
}
VirtualMemory PagingSettings
{
Type = 'CustomSize'
Drive = 'T'
InitialSize = '2048'
MaximumSize = '2048'
DependsOn = '[Disk]Disk2'
}
}
}
Добавьте расширение в виртуальную машину, указав следующие параметры.
Вы можете найти zip-файл в моем репозитории на GitHub . Загрузите его в учетную запись хранения и выберите его, нажав «Обзор» в конфигурации расширения виртуальной машины.