Назад | Перейти на главную страницу

Шаблон Azure ARM: как развернуть виртуальную машину и создать файл на рабочем столе администратора?

Я использую CustomScriptExtension для выполнения сценария PowerShell на последнем этапе развертывания моей виртуальной машины:

"settings": {
  "fileUris": [
    "[uri(parameters('PostDeploymentScriptUri'), 'PostDeployment.ps1')]"
  ],
  "commandToExecute": "[concat('powershell -ExecutionPolicy bypass -File ./PostDeployment.ps1 -repo ', uri(parameters('PostDeploymentScriptUri'), 'installScript.ps1'), '-account ', parameters('AdminUsername'))]"
}

Скрипт выполняется, как и ожидалось, однако я заметил, что все загрузки и файлы создаются в C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.9\Downloads\0.

Одна из вещей, которые сценарий намеревается сделать, - это создать файл и разместить его на рабочем столе учетной записи администратора. Вот почему я передаю $account param, который вводится как один из параметров шаблонов ARM.

В моем собственном скрипте я попробовал следующее:

$tempLoc = "c:/users/$account/Desktop"
New-Item $tempLoc/test.cmd -type file -force

Хотя это создает файл в правильном месте, пользователь-администратор не увидит его при первом подключении RDP к машине, потому что вместо того, чтобы разместить учетную запись пользователя под users/username, процесс входа в систему создаст users/username.machinename потому что уже есть папка с именем пользователя.

Идеи?