Не удалось установить артефакт "Выполнить PowerShell" с помощью CommandNotFoundException
Я пытаюсь загрузить и запустить скрипт PowerShell (из хранилища больших двоичных объектов), используя артефакт Run Powershell на существующей виртуальной машине в лабораториях Azure DevTest.
Я получаю следующую ошибку и предполагаю, что делаю что-то глупое.
& : The term './script.ps1' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:3
+ & ./script.ps1
+ ~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (./script.ps1:String) [], Comman
dNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Вот моя установка...
Я также попробовал синтаксис массива JSON, который дал тот же результат, и недопустимый URL, который выдал ошибку 404, поэтому кажется, что он загружает мой скрипт, но потом не может его найти.
1 ответ
Ниже приведена информация, которую я написал некоторое время назад. Несколько предметов для заметки:
- На данный момент структура папок не поддерживается. Поэтому скрипт должен находиться в корне контейнера
- Убедитесь, что ваш объект публичный
Сначала вам понадобится файл в хранилище Azure. После загрузки в ваш контейнер щелкните файл, чтобы перейти к его свойствам, и скопируйте поле URL.
В качестве примера я создал следующий файл сценария Run.ps1 и загрузил его в хранилище в виде большого двоичного объекта:
param ( [string]$drive = "c:\" )
param ( [string]$folderName = "DefaultFolderName" )
New-Item -Path $drive -Name $folderName -ItemType "directory"
Теперь, добавляя артефакт "Запуск PowerShell" на виртуальную машину, мы предоставляем следующую информацию:
File URI (s): поле URL, скопированное с предыдущего шага. (например, https://myblob.blob.core.windows.net/mycontainer/Run.ps1)
Скрипт для запуска: имя скрипта PS1 (например, Run.ps1)
Аргументы скрипта: Аргументы, которые вы пишете в конце своей команды (например, -drive "d:\" -folderName "MyFolder")