#powershell #sharepoint
Вопрос:
Мы пытаемся найти все неработающие ссылки на документы в библиотеке документов SharePoint. Эти ссылки хранятся в библиотеках в виде файлов .url. Сам файл содержит ссылку, которую мы хотим проверить. Используя powershell, мы отправляем ссылку на invoke-webrequest. Но мы всегда получаем результат 200 (страница найдена), даже для известных неработающих ссылок. Когда мы смотрим на пакет ответов, мы видим, что SharePoint возвращает «Страницу входа», что означает, что у нас, скорее всего, нет разрешения на доступ к ссылке через invoke-webrequest. Мы подключаемся с помощью-веб-блога, а не интерактивного.
$text = Get-PnPFile -Url $Item.FileRef -AsString # get content of the .url file
# parse file to get target link as $link_url
$result = (invoke-webrequest $link_url - DisableKeepAlive -UseBasicParsing)
всегда возвращается
Код состояния :200
Описание состояния:ОК
Содержание: …
Всегда возвращает страницу входа.
Комментарии:
1. Чтобы было ясно, мы используем многофакторную аутентификацию в нашем арендаторе
Ответ №1:
Как вы пытались запустить скрипт, используя опцию учетных данных?
$text = Get-PnPFile -Url $Item.FileRef -AsString # get content of the .url file
# parse file to get target link as $link_url
$result = (invoke-webrequest $link_url - DisableKeepAlive -UseBasicParsing -UseDefaultCredentials)
Комментарии:
1. Да, -Учетные данные не работают, потому что мы используем многофакторную аутентификацию. Я также пробовал-Интерактивно, но это, похоже, тоже не работает. Кажется, это работает с-DeviceLogin, но я все еще получаю 200 за неработающие ссылки. Вот одна подсказка: заголовок действительно возвращает параметр [SharePointError, 0] для неработающих ссылок, но не для хороших ссылок. Может быть, это то, что я ищу?
2. Не могли бы вы, пожалуйста, добавить в свой вопрос часть о МИД?
3. Мы пробовали использовать-DeviceLogin, и это, кажется, работает нормально. Когда мы переходим по ссылкам на документы, мы обнаруживаем, что по-прежнему получаем ответ 200 (потому что SharePoint возвращает какую-то страницу», но заголовки разные. Для неработающих ссылок заголовок содержит параметр [SharePointError,0]. Хорошие связи не имеют этого парама. Может ли этого быть достаточно, чтобы сказать нам, какие ссылки нарушены?