Подключите Сетевой диск к Серверу WebDAV через PowerShell

Моя цель состоит в том, чтобы подключить сетевой диск в Windows к серверу WebDAV через PowerShell.

У меня есть сценарий, который автоматически создает Azure VM с установленным IIS и настроенный WebDAV. Я могу успешно подключить вручную сетевой диск через Windows Explorer к серверу WebDAV (использующий опцию использовать различные учетные данные). Это подтверждает, что сервер WebDAV настроен правильно. Я могу считать и записать файлы, также.

Через PowerShell я попытался использовать команду New-PSDrive и получить ошибки, как Вы видите.

New-PSDrive –Name $networkDrive –PSProvider FileSystem –Root "http://$serviceName.cloudapp.net/" –Persist
New-PSDrive : When you use the Persist parameter, the root must be a file system location on a remote computer.
At line:1 char:1
+ New-PSDrive –Name $networkDrive –PSProvider FileSystem –Root "http:// ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Z:PSDriveInfo) [New-PSDrive], NotSupportedException
    + FullyQualifiedErrorId : DriveRootNotNetworkPath,Microsoft.PowerShell.Commands.NewPSDriveCommand

ИЛИ без параметра -Persist

New-PSDrive –Name $networkDrive –PSProvider FileSystem –Root "http://$serviceName.cloudapp.net/"
New-PSDrive : The specified drive root "http://webdavservertest3.cloudapp.net/" either does not exist, or it is not 
a folder.
At line:1 char:1
+ New-PSDrive –Name $networkDrive –PSProvider FileSystem –Root "http:// ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (Z:PSDriveInfo) [New-PSDrive], IOException
    + FullyQualifiedErrorId : DriveRootError,Microsoft.PowerShell.Commands.NewPSDriveCommand

Поскольку каждый видит термин "http://$serviceName.cloudapp.net/" успешно оценивает к "http://webdavservertest3.cloudapp.net/".

Так, действительно ли это - правильный подход? Должен Новый-PSDrive быть способным к отображению на серверы WebDAV? В противном случае какая-либо идея подключить сетевой диск через PowerShell?

5
задан 7 May 2015 в 23:32
4 ответа

Вот рабочий пример того, как я монтирую сайт Sysinternals WebDAV на свой диск S:

[String]$WebDAVShare = '\\live.sysinternals.com\Tools'
New-PSDrive -Name S -PSProvider FileSystem -Root $WebDAVShare

Обратите внимание, что вам нужно использовать формат UNC, а не http: // .

Также вам необходимо убедиться, что на вашем компьютере запущена служба WebClient.

Если вы хотите подтвердить, что сервер поддерживает WebDAV, вы можете сделать:

(Invoke-WebRequest http://live.sysinternals.com -Method Options).Headers.DAV  

И если это вернет что-то вроде 1,2,3 то сервер поддерживает различные версии WebDAV. (Хотя администратор сервера мог запретить команду «Параметры».)

3
ответ дан 3 December 2019 в 01:44

Мне не удалось получить метод New-PSDrive для подключения к моему сайту https. Я использовал команду dos в PowerShell, завернутую в тест, чтобы увидеть, существует ли диск.

net use B: https://tu13.DEG3.usae.com/BAD/code /Persistent:Yes

Я понимаю, что это не идеальный подход, основанный на OP, но я подумал, что работа того стоит.

0
ответ дан 3 December 2019 в 01:44
New-PSDrive -Name F -PSProvider FileSystem -Root "\\\\$FQDN_without_https@SSL/$URI_or_PathTo" -Credential <Username>

Обратите внимание на @SSL после FQDN.

Это работает для PowerShell 5.0.

1
ответ дан 3 December 2019 в 01:44

Я использовал все вышеперечисленные ресурсы, и ни одна из моих попыток смонтировать размещенную на хосте библиотеку документов 365 Sharepoint не сработала. В конце концов я смонтировал его как общую сетевую папку и отметил в свойствах этого подключения истинный путь WebDAV, который вы должны использовать для этого.

Эта строка подключения позволяет мне смонтировать и использовать библиотеку Sharepoint в качестве буквы диска:

function Map-SharePoint
        {
        $cred = Get-Credential "email@address.com"
        New-PSDrive -Name U -PSProvider FileSystem -Root "\\organisation.sharepoint.com@SSL\DavWWWRoot\Shared Documents" -Credential $cred
        }

Примечание о пути, это не сработает, если вы исправите, содержащий% 20 для пробелов. Оставьте как есть и заключите в кавычки.

0
ответ дан 3 December 2019 в 01:44

Теги

Похожие вопросы