Не удается подключиться к FTP-серверу локального компьютера из сценария Powershell службы автоматизации Azure.

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

Но когда я пытаюсь запустить скрипт из службы автоматизации Azure, я получаю сообщение об ошибке «Невозможно подключиться к удаленному серверу». Я также попробовал свой скрипт для включения пассивного режима, как здесь

Я также попытался поделиться своей ftp-папкой на сетевом диске для всех пользователей, отключить все брандмауэры, настроить поддержку брандмауэра FTP в IIS с моим общедоступным IP-адресом и полным диапазоном портов канала данных, но я все еще получаю ту же ошибку. Пожалуйста помоги.


person Payal    schedule 06.04.2017    source источник
comment
Я пытаюсь запустить сценарий из службы автоматизации Azure: уточните свое намерение, уточните настройку сетевого подключения.   -  person mootmoot    schedule 06.04.2017
comment
Я предлагаю вам WinRM ваш FTP-сервер вместо FTP. Когда вы подключаетесь к серверу, вы можете вызывать команды.   -  person Shui shengbao    schedule 06.04.2017
comment
Вы хотите достичь этого вопрос?   -  person Shui shengbao    schedule 06.04.2017
comment
Да, я пытаюсь достичь этого вопроса.   -  person Payal    schedule 06.04.2017


Ответы (2)


Вы хотите достичь этого вопрос: Как загрузить файл большого двоичного объекта из хранилища Azure и сохранить его на FTP-сервере с помощью Powershell??

Если да, то по вашему сценарию я предлагаю вам лучше использовать WinRM вместо FTP вашего сервера. Когда ваш WinRM ваш сервер, вы можете вызывать команды точно так же, как ваш локальный ПК.

1. Настройте локальный FTP-сервер для удаленного доступа к WinRM. Перейдите по этой ссылке< /а>.

2. Подключите свой сервер к автоматизации Azure с неинтерактивным входом в систему. Просто используйте следующие командлеты.

$username = '<admin-user>'
$pass = ConvertTo-SecureString -string '<password>' -AsPlainText -Force
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass
Enter-PSSession -ComputerName <public-IP> -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)

Обратите внимание, что вам, возможно, придется настроить доверенные узлы на своем компьютере так, чтобы они доверяли компьютеру Azure для создания сеанса winrm. Это можно сделать с помощью чего-то вроде: Set-Item WSMan:localhost\Client\TrustedHosts -value * -Force

Кроме того, вы можете обратиться к этому ответу.

person Shui shengbao    schedule 06.04.2017
comment
После того, как вы загрузите свой FTP-сервер Winrm, вы сможете загружать большие двоичные объекты на свой FTP-сервер с помощью командлетов PowerShell. - person Shui shengbao; 06.04.2017
comment
Спасибо, я пробую это. У меня есть один вопрос, связанный с TrustedHosts. Как узнать имя компьютера, если у меня нет виртуальной машины Azure? У меня запущены только некоторые сценарии из службы автоматизации Azure? - person Payal; 06.04.2017
comment
@Payal Вы можете управлять своим сервером как локальным ПК. - person Shui shengbao; 07.04.2017
comment
@Payal У вас нет виртуальной машины Azure. Это просто пример. Они одинаковы, если ваш FTP-сервер может быть открыт для общедоступного Интернета, вы можете использовать этот способ. ComputerName — общедоступный IP-адрес вашего сервера. - person Shui shengbao; 07.04.2017
comment
Привет, работает? Если у вас есть другой вопрос, пожалуйста, спросите здесь. - person Shui shengbao; 07.04.2017
comment
это не сработало. Я запустил WinrM на своей локальной машине, как указано в ссылке выше. Но когда я включаю PSRemoting в верхней части сценария powershell для автоматизации Azure, я получаю сообщение об ошибке: «Не удалось проверить состояние WinRM». Я не уверен, что это значит, потому что мой локальный статус WinRM показывает, что он работает в локальной Powershell. И как я могу проверить статус WinRM портала Azure? - person Payal; 07.04.2017
comment
Еще одна вещь, которую я пытаюсь сейчас сделать, — это добавить FTP-сервер на другую клиентскую виртуальную машину Azure, и я пытаюсь вызвать эту машину из другого сценария powershell автоматизации учетной записи Azure. Я могу вызывать FTP-сервер виртуальной машины из локального Filezilla и загружать/загружать файлы, но из сценария Azure я получаю эту ошибку: Удаленный сервер вернул ошибку: (550) Файл недоступен (например, файл не найден, нет доступа ). В этом случае это определенно не проблема доступа, но что мне нужно сделать для этого? Это все еще связано с той же проблемой PSRemoting? PSRemoting здесь отключен. - person Payal; 07.04.2017

Мне не удалось заставить работать решение WinRM на моем локальном компьютере, и я обновлю его, как только это произойдет. Но я думаю, что гибридный рабочий процесс Runbook Azure, как упоминалось здесь может быть хорошим решением. Я все еще должен попробовать это тоже. В настоящее время я добавил FTP к своей виртуальной машине Azure и сделал это работоспособным.

person Payal    schedule 07.04.2017
comment
@Walter Спасибо за всю вашу помощь. - person Payal; 07.04.2017