首页 > 解决方案 > WebDAV 和 Powershell 和 Windows - 奇怪的错误和行为

问题描述

我们有一个在 IIS 上运行的 WebDAV 站点。从 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

该文件夹确实存在。非常奇怪的事情:我们在客户端 PC 上启动文件资源管理器,输入一个类似于https://inside.mycompany.com/it/site我们公司 SharePoint 站点上的 WebDAV 站点的 URL,然后它要求登录。成功登录该站点后,PowerShell 脚本开始工作,不再出现错误,并且可以从我们的 WebDAV 站点下载 Folder1\Folder2 信息。

为什么?如何避免手动将登录信息输入到另一个站点以使此脚本正常工作?是不是因为我们的WebDAV站点在IIS下没有正确配置?

标签: powershelliiswebdav

解决方案


碰巧需要启动名为“ WebClient ”的本地服务。默认情况下,它是“手动”,以“触发器”开头。似乎powershell方式不会触发服务启动,但资源管理器会。当它仍然启动时,powershell 脚本突然起作用了。解决方案是将服务启动更改为自动化,并且'直到现在它才能工作。


推荐阅读