Как использовать модуль SharePointPnpPowerShellOnline PowerShell в Azure DevOps? - PullRequest
0 голосов
/ 02 марта 2020

Мне не удается использовать модуль SharePointPnpPowerShellOnline PS как часть моего конвейера выпуска. Мы используем Azure DevOps с размещенным агентом сборки на Azure ВМ. Я хочу выполнить sh загрузку артефактов сборки в Microsoft Teams / Sharepoint.

  • Я установил SharePointPnpPowerShellOnline на сервере (под учетной записью, с которой работает агент сборки DevOps), однако агенту сборки не удалось выполнить скрипт в первой строке, в которой используется указанный модуль (вызов Connect-PnPOnline -Url https://... -Credentials ...). Сообщение об ошибке: «Connect-PnPOnline: термин« Connect-PnPOnline »не распознается как имя командлета, функции, файла сценария». Таким образом, он ведет себя так, как будто модуль вообще не установлен.
  • Тем не менее, когда я захожу на сервер (с правильной учетной записью), модуль найден, и я могу успешно выполнить Connect-PnPOnline.
  • используемой Azure задачей конвейера DevOps является «PowerShell».

Разве агент сборки не сможет найти установленный модуль, как я установил его для его пользователя?

Редактировать: я сделал еще несколько «отладок», а именно:

  • регистрация имени пользователя, под которым выполняется скрипт, с помощью [Environment] :: UserName, чтобы убедиться, что я установил модуль для нужного пользователя , результат: соответствует ожидаемому пользователю.
  • Вывод списка установленных модулей с помощью Get-InstalledModule в моем скрипте. Как только агент выполняет его в конвейере выпуска, он выдает пустой список. все же выполнение того же сценария на виртуальной машине (через RemoteDesktop) дает установленные модули

Я предполагаю, что я делаю глупую ошибку новичка, потому что у меня не так уж много опыта с PowerShell ...

1 Ответ

0 голосов
/ 02 марта 2020

Отвечая на мой собственный вопрос: В конце я просто снова установил Модуль как часть сценария, добавив следующие две строки. Конечно, я был бы счастлив, если бы кто-нибудь мог объяснить , почему это не сработало ...

Install-PackageProvider Nuget -ForceBootstrap -Force
Install-Module -Name SharePointPnPPowerShellOnline -Force -Verbose -Scope CurrentUser
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...