我们有一个在IIS上运行的WebDAV网站。从PowerShell中,我们尝试下载文件夹信息
Get-ChildItem \\webserver@SSL\davwwwroot\webdav\Folder1\Folder2 -Name
它说
'\\webserver@SSL\davwwwroot\webdav\Folder1\Folder2' because it does not exist. At 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
该文件夹确实存在。非常奇怪的事情是:我们在该客户端PC上启动文件资源管理器,输入https://inside.mycompany.com/it/site
之类的URL,它是我们公司的SharePoint网站上的WebDAV网站,然后要求登录。成功登录该站点后,PowerShell脚本开始工作,不再丢失任何错误,并且可以从我们的WebDAV站点下载Folder1 \ Folder2信息。
为什么?如何避免手动将登录信息输入到另一个站点以使此脚本正常工作?是因为我们的WebDAV站点未在IIS下正确配置吗?
答案 0 :(得分:0)
碰巧需要启动名为“ WebClient ”的本地服务。默认情况下,它是“手动”以“触发”开头。似乎Powershell不会触发服务启动,但资源管理器会触发。在启动时,powershell脚本突然起作用。解决方案是将服务启动更改为自动化,然后“直到现在它可以正常工作。”