Выполнение сценария PowerShell с помощью папки Add-PNP не удалось, но работает в командной строке

#powershell #sharepoint-2013

Вопрос:

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

Если я попытаюсь запустить сценарий в PowerShell ISE запуск от имени администратора, я получу сообщение об ошибке

Get-PNP Папка: Файл не найден.

Сценарий содержимого является:

     Param(
    [Parameter(Mandatory=$true)] [string]$FolderRelativeURL,
    [Parameter(Mandatory=$true)] [string]$FolderToCreate
)


Import-Module SharePointPnPPowerShell2013

Get-Command -Name Connect-PnPOnline

$SiteURL = "https://myOrg.org/sites/MyLIB"

Connect-PnPOnline –Url $SiteUrl -UseWebLogin

Get-PnPFolder -RelativeURL $FolderRelativeURL

Add-PnPFolder -Folder $FolderRelativeURL -Name $FolderToCreate

Disconnect-PnPOnline
´´´
Any clues ?
 

Комментарии:

1. Покажите нам, как вы называете сценарий. Я предполагаю, что параметр не задан или задан неправильно.

2. Я нажимаю кнопку «Выполнить» в PowerShell, он запрашивает обе переменные. Укажите значения для следующих параметров: FolderRelativeURL: «/rfl/00. RCMs POC» FolderToCreate: Тест

3. Может быть, добавить a write-host $FolderRelativeURL , чтобы проверить, что правильное значение используется в обоих случаях? На самом деле это не то, на что мы можем ответить здесь, вам придется отладить это на своей машине и постепенно сузить круг проблем.

4. Я уже писал раньше, что если я выполню те же действия в командной строке, это сработает с тем же содержимым переменной. Я вижу папку, созданную в Sharepoint. Когда я запустил сценарий, я получаю ошибку в папке Get-PNP или в папке Add-PNP, и ошибка заключается в том, что файл не найден для обоих. Мой вопрос в том, почему это не так в командной строке ?

5. Опять же, лучшее, что мы могли бы здесь сделать, — это смутные догадки, ничего не зная о вашем окружении. У меня и раньше были подобные проблемы. Все, что вы можете сделать, — это систематически устранять неполадки, чтобы понять, в чем разница между обоими случаями. Сузьте круг вопросов. Возможно, попробуйте, например, использовать жестко закодированную строку и посмотрите, останется ли проблема. Вам нужно устранять один фактор за другим, чтобы сузить круг источников проблемы.

Ответ №1:

@marsze укажи мне решение, это ситуация с копипастом.

Первый параметр, который я пропустил (выделен жирным шрифтом), «/rfl/00. RCMs POC»

Правильный ввод (выделено жирным шрифтом), /rfl/00. RCMs POC

Спасибо @marsze