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

База знаний

База знаний разделена на разные категории. Вы можете найти ответы на вопросы, выбрав категорию, или воспользоваться поиском.

Linux VPS (2)
Статьи, относящиеся к VDS с ОС Linux
Администрирование Windows (24)
Инструкции по типовым задачам администрирования Windows серверов
Вопросы новых клиентов (11)
Вопросы, задаваемые большинством новых клиентов после активации сервера
Общие вопросы (24)
Вопросы не вошедшие в другие разделы и новые, еще не отсортированные статьи
Партнерская программа (1)
Ответы на вопросы по партнерской программе
Техподдержка (4)
Информация и советы для более эффективного взаимодействия с техподдержкой
Удаленный рабочий стол (11)
Информация и советы по работе с удаленным рабочим столом
Управление VDS сервером (15)
VNC консоль, перезагрузка, переустановка, установка свой ОС, подключение ISO и другие операции с VDS
Финансовые вопросы (13)
Вопросы оплаты, тарифов, трафика и т.д.
Что делать, если. (14)
Подборка типовых вопросов со ссылками на подходящие статьи

Раскидать файл по компьютерам в сети

Казалось бы, все просто, скопировал — вставил. А если компьютеров пару сотен? Что делать? Как раскидать какой либо файл по сети? Самый простой, на мой взгляд выход — воспользоваться стандартной утилитой xcopy.

Что необходимо? Главное — это текстовый файл с перечнем компьютеров, куда необходимо скопировать файл, причём желательно, чтобы в нём не было недоступных в настоящее время компьютеров, иначе раскидывание файла по сети затянется. Ну и сам файл.

Итак, создаём отдельную папку, закидываем в неё наш файл с перечнем компьютеров, копируемый файл. Создаем исполняемый файл bat и пишем в нём следующий код:

echo off
FOR /F » tokens=1 » %%i in (comp.txt) do (
If Not Exist «\%%iC$program files1cv82confnethasp.ini» (
xcopy /Y /E /H «nethasp.ini» «\%%iC$program files1cv82confnethasp.ini»
echo %%i)
)

Разберём наш bat файл.

C$program files1cv82confnethasp.ini — это путь куда мы будем копировать
nethasp.ini — наш файл
comp.txt — файл с перечнем компьютеров

Принцип работы прост. Считывается построчно текстовый файл с перечнем компьютеров куда мы будем раскидывать файлы. Если файл есть на удаленном компьютере, то считываем следующее место назначения. Файла нет — копируем.

Естественно все файлы у Вас могут находится в разных папках, просто надо будет указывать полные пути. В текстовом файле с перечнем могут быть как имена , так и ip-адреса. Права администратора само собой нужны, т.к. используется административный доступ «C$».

Список файлов и папок в PowerShell

В Windows 10 командная строка заменена консолью PowerShell , для получения списка файлов можете использовать её. Для примера выведем в файл содержимое папки Тест с её подкаталогами:

PowerShell

А можно и проще. Зажав Shift , кликаем по папке ПКМ, выбираем в меню «Открыть PowerShell здесь».

Открыть PowerShell здесь

И выполняем в открывшемся окне консоли команду Get-Childitem -Recurse | Out-File D:filelist.tхt .

Get-Childitem

Необходимость использования параметра -Path с указанием пути в данном случае отпадает.

Работа с удаленными сессиями Powershell

Не так давно пришлось потратить немного времени на настройку удаленного доступа через Powershell. Мне такой подход кажется очень хорошей альтернативной Remote Desktop Services в ряде случаев (перезапустить сервис на удаленном хостинге VDS, сделать резервные копии, посмотреть состояние системы и т.д.).

Возможность создания удаленных сеансов Powershell появилась в версии 2. Для этого используется командлет Enter-PSSession / Invoke-Command . Однако, перед их использованием следует подготовить среду.

Что делаем на сервере:

Шаг 1: Открываем консоль Powershell и разрешаем удаленные сессии командлетом Enable-PSRemoting с ключом Force .

Шаг 2: Убеждаемся в том, что служба WinRM запущена.

Шаг 3: Настраиваем правила в брэндмауэре, чтобы входящие подключения были возможны.

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

Шаг 1: Разрешить подключение к удаленным узлам. Для доступа к любым узлам можно воспользоваться следующей конструкцией:

Шаг 2: Убедиться, что брэндмауэр не блокирует исходящие соединения.

Теперь для подключения к удаленному узлу через Powershell можно осуществлять так:

Значения 192.168.1.160 и VMNAMEUser необходимо заменить адресом удаленного узла и именем пользователя Windows на сервере.

Теперь удаленный доступ через Powershell работает. Однако, есть еще один ньюанс. Возможно, кто-либо из вас пользуется профилями в Powershell. Профили – это специальные скрипты, которые запускаются при запуске самой консоли. Здесь, например, можно определить все необходимые алиасы и выполнить предварительные действия.

Проблема заключается в том, что профили не запускаются при использовании удаленных сеансов. Решить это можно путем использования разных конфигураций подключения. Для этого первоначально необходимо зарегистрировать конфигурацию на удаленном сервере. Сделать это можно путем выполнения коммандлета Register-PSSessionConfiguration . При этом каждой конфигурации присваивается имя. Для каждой конфигурации можно задать путь до скрипта, который будет выполняться при старте сессии.

После этого, при подключении к удаленному узлу, при использовании коммандлета Enter-PSSession следует указать имя конфигурации.

Теперь можно не тратить ресурсы сервера на создание сессии подключения через Remote Desktop Services и удаленно управлять сервером, используя Powershell.

Как сохранить вывод командной строки в файл

Чтобы сохранить вывод команды в текстовый файл с помощью командной строки, выполните следующие действия:

  1. Откройте командную строку от имени администратора.
  2. Введите следующую команду, чтобы сохранить вывод в текстовый файл и нажмите Enter : ваша-команда > c:путьпапкафайл.txt

В этой команде обязательно замените «ваша-команда» на ваш запрос в командной строке, а «c:путьпапкафайл.txt» на путь и имя файла для хранения вывода.

В этой команде обязательно замените «ваша-команда» на ваш запрос в командной строке, а «c:путьпапкафайл.txt» на путь и имя файла для хранения вывода.

Пример данных из командной строки в текстовый файл

Совет: если у вас возникли проблемы с просмотром файла, вы можете использовать команду type c:путьпапкафайл.txt после шага 3.

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

Как скачать файл в PowerShell

скачать файл из PowerShell

PowerShell становится популярным инструментом среди пользователей Windows. PowerShell не заменяет командную строку, но делает ее использование проще. Одним из таких примеров является загрузка файлов. Если вы хотите скачать файл из командной строки, у вас есть несколько довольно сложных способов. Для загрузки файла из командной строки вам потребуется установить приложение вроде wget или Cygwin. С помощью PowerShell скачать файлы намного проще. Вы можете загружать файлы из PowerShell и сохранять их в текущей папке или в любую другую папку по вашему усмотрению.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector