
Первый пост здесь, и он (возможно) бросает вам большой вызов. Я пытаюсь достичь своей цели в течение 2 дней, но безуспешно.
Мне нужно скопировать огромный список файлов («всего» около 900 тыс. файлов, около 3 ТБ данных) с одного сервера на другой. Проблема в том, что эти серверы находятся не в одной сети/домене и не в одном месте. Фактически, они находятся в разных городах, и у каждого свой домен.
Мы можем получить доступ к каждому серверу с помощью терминального соединения (чтобы избавиться от IP, мы используем службы NO-IP), но мы не можем скопировать так много файлов, используя этот метод. Мы знаем, что можем использовать FTP и/или VPN, но из-за огромного размера данных это просто не работает (потеря соединения, тайм-ауты и т. д.).
Итак, начиная сздесь, я нашел Powershell как кандидата для решения проблемы, используя New-PSSession
и/или New-PSDrive
. Фактически, powershell даже запрашивает имя пользователя/пароль, но я не смог подключить один сервер к другому. Что еще хуже, я нуб с Powershell.
Ну, первое, что я увидел, это добавить серверы в список доверия и проверить, работает ли WinRM на обоих. Я сделал это с winrm quickconfig
и Set-Item WSMan:\localhost\Client\TrustedHosts -Value 'no-ip.servername.here'
. Обе команды на обоих серверах возвращают результат.
Затем попытался соединить сервер A с B. На сервере AI использовал $server_b = New-PSSession -computername no-ip.servername.here -credential domain_b\administrador
. В этот момент сервер A запрашивает имя пользователя и пароль. Я печатаю, но powershell возвращает множество ошибок об аутентификации, kerberos, неправильном пользователе/пароле и многом другом. Я не могу предоставить скриншот, потому что наши серверы используют бразильские португальские системы.
Читая больше о New-PSSession
, я просто перепробовал множество вариантов, таких как аутентификация, транспорт, connectionuri и другие, но безуспешно...
Итак, что вы можете мне предложить?
Спасибо за совет.
решение1
Я это сделал! ВАУ!
Пойдем:
- Убедитесь, что служба WinRM запущена и работает на обоих компьютерах:
get-service winrm
Если нет, запустите ее:start-service winrm
- Убедитесь, что порт 5985 открыт. Сделайте это самостоятельно с помощью модема/маршрутизатора.
- Убедитесь, что ваш клиентский NO-IP-адрес является доверенным на сервере:
get-item wsman:\localhost\client\trustedhosts
. Если нет, добавьте его:set-item wsman:\localhost\client\trustedhosts -value 'client_no-ip_address' -force
- Убедитесь, что ваш клиент доверяет вашему серверу, как указано выше, но используйте свойсерверНЕТ-IP-адреса
- На клиенте отключите некоторые проверки безопасности:
$option = new-pssessionoption -skipcacheck -skipcncheck
- Подключитесь к своему серверу:
$my_server = new-pssession -computername server_no-ip_address -credential domain\user -sessionoption $option
Ну вот!