Могу ли я скопировать файлы в Network Place из скрипта или командной строки? [закрыто]

Возможно ли в Windows XP копировать файлы в Network Place из командной строки, командного файла или, что еще лучше, из сценария PowerShell?

На этом пути исследований я пытался опубликовать файлы в библиотеке документов WSS 3.0 с компьютера пользователя. Я не могу сопоставить диск с рассматриваемой библиотекой, потому что сайт WSS доступен только для аутентификации через NTLM на порте, отличном от 80 или 443. Я предполагаю, что я мог бы поочередно использовать веб-сервисы WSS для выталкивания файлов, но я Мне действительно интересно узнать ответ на этот вопрос.

13.08.2008 20:02:06
также смотрите аналогичный вопрос здесь: serverfault.com/q/43116/84502
Synox 16.04.2012 15:46:36
9 ОТВЕТОВ

Да, ты можешь. Я предлагаю использовать такой инструмент, как robocopy.

-1
13.08.2008 20:04:20

Вы можете использовать команды net для аутентификации, а затем скопировать файлы.

copy src \\dest-machine\shared-library-name\dest

Я не совсем уверен, как именно обрабатывать аутентификацию, если это необходимо.

1
13.08.2008 20:08:47

Если это то, что вам нужно для сценария, вы должны рассмотреть NAnt .

Он в основном используется для сценариев сборки, но он очень мощный и достаточно простой для начала.

Также есть NAntContrib и nant ftp задача, которая должна вам помочь.

0
13.08.2008 20:44:29

Я могу ошибаться по этому поводу, но я думаю, что ни решение Робокопии Ника, ни решение команды копирования Натана не подойдут. Robocopy, похоже, хочет подключенный диск, что я не могу сделать, потому что он не работает на порте 80 или 443, а Windows не может обработать путь, который включает порт в имени в стиле UNC:

copy src \\dest-machine:45000\shared-library-name\dest

Я также не видел задачи NAnt, которая бы справилась с этой ситуацией.

Я также знаю, что есть инструменты, которые позволят мне подключать диски WebDAV. Мне было больше интересно, есть ли какой-нибудь способ использовать сетевые элементы, которые были настроены без использования графического интерфейса.

0
13.08.2008 21:23:10

Powershell использует абстракцию провайдеров для обеспечения общего интерфейса с хранилищами данных. Похоже, что они придерживаются обычного существительного «Предмет», так что вы можете получить полный список с man *item*. Если вы знаете другой способ копировать и иным образом работать с данными из хранилища, вы также можете использовать их, но использование командлетов обеспечивает лучший подход «учиться один раз, часто использовать». В вашем случае вы могли бы:

Copy-Item test.txt -Destination \\dest-machine\share

Copy-item также поддерживает параметр -Credential, если вам это нужно.

3
17.08.2008 21:18:01
Copy-Item имеет параметр -Credential, но ни один из стандартных провайдеров (а именно файловая система) не поддерживает его, поэтому он не очень пригоден для использования.
chills42 23.03.2011 17:09:26

Используя пакетный файл, вы можете войти в систему и скопировать файл:

Пакетный файл будет содержать следующее:

net use \\{dest-machine}\{destfolder} {password} /user:{username}
copy {file} \\{dest-machine}\{destfolder}

например

net use \\Development\myfolder mypassword /user:Administrator
copy newfile.c \\development\myfolder
19
18.08.2008 11:06:03
РЕШЕНИЕ

Из того, что я вижу, кажется, что невозможно напрямую получить доступ к сетевому пространству или манипулировать им из командной строки, будь то в PowerShell или в простой командной строке.

@slipsec (# 13899): Спасибо за предложение, но PowerShell не поддерживает номер порта в пути назначения больше, чем net useкоманда.

Поэтому лучшее, что я могу сделать в своей конкретной ситуации, - это откусить пулю и купить что-то вроде WebDrive, чтобы включить сопоставление дисков через WebDAV на нестандартных портах, или выполнить другую конфигурацию (например, отдельное веб-приложение с другим IP-адресом и заголовки узла) в SharePoint для предоставления сайта через NTLM через стандартный порт.

1
27.08.2008 14:35:37

«Сетевое окружение» на самом деле не имеет API, это всего лишь набор ярлыков, и в общем ресурсе SharePoint используется расширение Shell, если я правильно помню.

Все это говорит о том, что для доступа к Sharepoint в качестве файловой системы из PowerShell также требуется расширение, поставщик SharePoint .

2
16.09.2008 02:28:04

Если вы имеете в виду windows box, просто используйте xcopy. Это довольно стандартно, чтобы иметь в xcopyналичии.

xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src
6
19.11.2011 10:14:48