WebDAV и Powershell и Windows - странные ошибки и поведение
У нас есть сайт WebDAV, который работает на IIS. Из PowerShell мы пытаемся загрузить информацию о папке
Get-ChildItem \\webserver@SSL\davwwwroot\webdav\Folder1\Folder2 -Name
Это говорит
'\\webserver@SSL\davwwwroot\webdav\Folder1\Folder2', поскольку он не существует. На GetWebDAVFolderContents.ps1:33 char:10 + $items = Get-ChildItem $url -Name + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (\\webserver@SSL\...der1\Folder2:String) [Get-ChildItem], ItemNotFoundException + FullyQualifiedErrorId: PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Папка существует. Очень странные вещи: мы запускаем File Explorer на этом клиентском ПК, вводим URL, например https://inside.mycompany.com/it/site
это сайт WebDAV на сайте нашей компании SharePoint, затем он запрашивает логин. После успешного входа на этот сайт скрипт PowerShell начинает работать, больше не выдает ошибки и может загрузить информацию Folder1 \ Folder2 с нашего сайта WebDAV.
Зачем? Как можно избежать ручного ввода информации для входа на другой сайт, чтобы этот скрипт работал? Это потому, что наш сайт WebDAV неправильно настроен под IIS?
1 ответ
Бывает, что для запуска требуется локальная служба с именем "WebClient". По умолчанию это "ручной" запуск с "триггера". Похоже, что PowerShell не будет запускать сервис, но исследователь это сделает. Пока он запущен, скрипт powershell неожиданно работает. Решение состоит в том, чтобы изменить запуск сервиса на автоматизированный, и до сих пор он работает.