Как скопировать файлы на удаленный компьютер с помощью Powershell

  • PowerShell — это надежный скриптовый терминал Microsoft, используемый для выполнения нескольких операций.
  • Вы можете передавать одиночные и множественные файлы на удаленные машины, используя соответствующие сценарии.

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

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

Итак, без лишних слов, приступим к делу.

Почему я должен передавать файлы с помощью PowerShell?

PowerShell может использоваться для передачи файлов по ряду причин:

  • Скорость: при загрузке большого количества данных по сети PowerShell может быть быстрее, чем использование решений на основе графического интерфейса.
  • Автоматизация: вы можете автоматически передавать файлы по расписанию или в ответ на определенные обстоятельства, используя автоматизированные сценарии PowerShell.
  • Универсальность: передача файлов с использованием FTP, FTPS, SFTP и SCP возможна с помощью PowerShell.
  • Обработка ошибок: PowerShell имеет мощные функции обработки ошибок, которые могут быть полезны при передаче файлов, чтобы убедиться, что передача прошла успешно.
  • Составление отчетов: PowerShell может генерировать подробные отчеты о процедуре переноса, включающие общий объем переданных данных, количество переданных файлов и любые возникшие ошибки.

В целом управление передачей файлов с помощью PowerShell может быть практичным и эффективным, особенно в профессиональной среде.

Теперь вот как копировать файлы на удаленные машины с помощью этого инструмента.

Как скопировать файл на удаленный компьютер с помощью PowerShell?

В этой статье

  • Почему я должен передавать файлы с помощью PowerShell?
  • Как скопировать файл на удаленный компьютер с помощью PowerShell?
  • 1. Скопируйте файл с удаленного компьютера с помощью PowerShell
  • 1.1 Настройка удаленного подключения
  • 1.2 Используйте Copy-Item для копирования файла
  • 2. Скопируйте несколько файлов на удаленный компьютер с помощью PowerShell.

1. Скопируйте файл с удаленного компьютера с помощью PowerShell

1.1 Настройка удаленного подключения

  1. Откройте PowerShell с правами администратора, введите команду ниже и нажмите Входить.
    Enable-PSRemoting -Force -Verbose
    копирование файла powershell на удаленный компьютер
  2. Если вы получаете сообщение об ошибке, как показано на изображении выше, введите следующую команду; если нет, пропустите этот шаг:
    Set-WsManQuickConfig
  3. Используйте следующую команду для настройки доверенного хоста, заменив АФАМ с именем компьютера:
    winrm set winrm/config/client '@{TrustedHosts="AFAM"}'
    копирование файла powershell на удаленный компьютер
  4. Используйте эти сценарии оболочки, чтобы перезапустить службу WinRM и проверить имя удаленного компьютера после того, как вы добавили имя удаленного компьютера в доверенный хост (не забудьте заменить имя вашего компьютера на AFAM):
    Restart-Service WinRM
    Test-WsMan @AFAM

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

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

1.2 Используйте Copy-Item для копирования файла

  1. Используйте командлет New-PSSession для запуска сеанса с помощью приведенной ниже команды (не забудьте заменить AFAM именем ПК).
    $SESSION= New-PSSession -Computer 'AFAM' -Cred $credential
    копирование файла powershell на удаленный компьютер
  2. Подключитесь к вновь созданному сеансу с помощью приведенной ниже команды (обратите внимание, что при необходимости вы можете использовать команду cd для изменения каталога):
    Enter-PSSession $SESSION
  3. Скопируйте файл с помощью приведенной ниже команды (не забудьте заменить исходный и конечное место с фактическими путями, из которых и в которые нужно скопировать файл):
    Copy-Item –Path "initial location" –Destination "final location"
  4. Вам может потребоваться выйти из оболочки из доступа к удаленному компьютеру после взаимодействия с удаленным компьютером. Для этого необходимо завершить сеанс с помощью командлета Exit-PSSession следующим образом:
    Exit-PSSession

2. Скопируйте несколько файлов на удаленный компьютер с помощью PowerShell.

  1. Выполните все шаги, указанные в решении 1.1.
  2. Объявите некоторые переменные с помощью приведенного ниже сценария (включая фактические значения для имени пользователя, пароля и обоих путей):
    $username = "username"
    $password = "password"
    $remote_path = "\remote_computer\c$\path\to\destination"
    $local_path = "C:\path\to\local\files"
  3. Затем создайте объект учетных данных, используя скрипт ниже:
    $credential = New-Object System.Management.Automation.PSCredential ($username, (ConvertTo-SecureString $password -AsPlainText -Force))
  4. Используйте скрипт ниже, чтобы получить объявленный локальный путь:
    $files = Get-ChildItem $local_path
  5. Наконец, скопируйте каждый файл на удаленный компьютер с помощью функции foreach:
    foreach ($file in $files) {
    Copy-Item -Path $file.FullName -Destination $remote_path -Credential $credential
    }

Это скопирует все файлы в локальный каталог, указанный $local_path в целевой каталог на удаленном компьютере, указанном $remote_path. Вам нужно будет указать правильные значения для $username, $password, $remote_path и $local_path.

Вот оно. Это одни из лучших способов копирования файлов на удаленный компьютер с помощью MS PowerShell.

PowerShell — очень надежный инструмент, и, обладая некоторыми знаниями в области написания сценариев, вы сможете многого добиться с помощью этого инструмента. С помощью этого инструмента вы можете копировать файлы с удаленных компьютеров и на них.

Пожалуйста, дайте нам знать в комментариях ниже, было ли это руководство полезным.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *