Установить программу удаленно через powershell

Powershell настолько крут, что позволяет не только выполнять некоторые команды на удалённых компьютерах, но и полностью подключаться к компьютеру и выполнять команды как-будто на локальном компьютере. По умолчанию такое удовольствие отключено в целях безопасности. Включить и настроить его совсем не сложно, но многие почему-то этого не знают.

Для удалённого управления необходимо два условия: во-первых на обоих компьютерах естественно необходимо чтобы были установлены Powershell, .NET Framework и служба Windows Remote Management (все компоненты начиная с версии 2.0 и выше), а во-вторых, чтобы они были настроены на удалённое управление. Для Windows 7 и выше ничего устанавливать не нужно, всё уже есть, для Windows XP/2003 нужно установить .NET Framework и Powershell (служба Windows Remote Management поставляется в комплекте с Powershell).

После того как всё необходимое установлено нужно настроить, компьютер к которому нужно будет подключаться на разрешение удалённых подключений. Для этого нужно выполнить команду winrm quickconfig или winrm qc . Эта команда выполняет сразу несколько действий:

POWERSHELL — НАСТРОЙКА УДАЛЕННОГО УПРАВЛЕНИЯ

  • Запускает службу WinRM
  • Изменяет тип запуска службы WinRM на автоматический
  • Создаёт прослушивателя для приема запросов с любого IP-адреса
  • Изменяет правила брандмауэра для трафика WS-Management (только HTTP)

На этом можно сказать, что компьютер готов для удалённых подключений, однако на практике бывает нужно ещё выполнить команду Enable-PSRemoting .

Всё! Настройка компьютера завершена, и к нему можно подключаться. Теперь пару слов о том, как подключаться. Самый простой способ это использовать командлет Enter-PSSession , после которого указать имя компьютера к которому нужно подключиться, например:

При таком способе подключиться удастся при членстве комьютеров в домене, или если на удалённом компьютере есть пользователь, входящий в группу “Администраторы” с таким же логином и паролем как у текущего пользователя.

Кстати, по умолчанию подключаться к удалённому компьютеру могут только члены группы “Администраторы” (о том как это исправить в другой раз).

А как быть в случае если компьютеры не в домене (или в разных доменах) и логины и пароли администраторов разные?

В этом случае командлет Enter-PSSession нужно использовать с параметром -Credential , который позволяет ввести нужные учётные данные для подключения. Но до того как подключаться к компьютеру его нужно добавить в список доверенных узлов (Trusted Hosts). Это делается командой:

Set-Item WSMan: localhostClientTrustedHosts -value ComputerName

где ComputerName — имя компьютера, к которому будем подключаться. Можно указать как имя компьютера, так и его IP-адрес, однако следует помнить, что то, что ввести здесь, то и нужно будет в последствии использовать для подключения, т.е. если указать IP-адрес, то нельзя будет подключиться к компьютеру, указывая его имя, нужно будет указывать IP-адрес, и наоборот.

Скрипты PowerShell с нуля. Уроки для начинающих

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

Читайте также:
На ноутбуке не открываются папки и программы

$curValue = ( Get-Item wsman: localhostClientTrustedHosts ).value
Set-Item wsman: localhostClientTrustedHosts -value «$curValue, newComputer»

Источник: smearg.wordpress.com

Удаленное выполнение сценариев в Windows PowerShell 2.0

У нас есть две машины, одна с предустановленной Windows Server 2008 R2 Enterprise (в режиме Server Core), другая с Windows 7 (x64) Ultimate

Перейдем на машину с Windows Server 2008 R2 и запустим на ней Windows PowerShell выполнив команду powershell

Посмотрим состояние службы WinRM, выполнив команду get-service winrm. Как видим, данная служба выполняется

Перейдем на машину с Windows 7. На данной машине на диске C создана папка Scripts

В папке Scripts был заранее подготовлен сценарий Service_status.ps1

Если открыть файл Service_status.ps1 (например в блокноте), то можно увидеть, что в нем прописаны две команды:

clear — очистка экрана PowerShell

get-service s* | sort-object status — получить список служб, которые начинаются на букву S и отсортировать их по параметру Status

Запускаем на машине с Windows 7 PowerShell

Первым делом нам нужно определить политику выполнения сценариев на удаленной машине с Windows Server 2008 R2

Для этого выполним команду invoke-command -computername Server01 -credential exityrwed/Administrator -ScriptBlock , где Server01 — это имя удаленной машины (в нашем случае это машина с Windows Server 2008 R2), exityrwed — домен, членом которого является машина с Windows Server 2008 R2

Administrator — пользователь, от имени которого будет производится подключение к удаленной машине

— в данных скобках прописываем команду, которую нужно выполнить на удаленной машине. Так как нам нужно определить политику выполнения сценариев PowerShell, в скобках пишем команду get-executionpolicy

Вводим пароль пользователя для подключения к удаленной машине

После выполнения команды invoke-command -computername Server01 -credential exityrwed/Administrator -ScriptBlock видим, что политика выполнения сценариев на машине с Windows Server 2008 R2 имеет статус Unrestricted, то есть разрешено выполнение любых сценариев

Выполним сценарий Service_status.ps1 на удаленной машине с Windows Server 2008 R2, введя команду invoke-command -filepath C:ScriptsService_status.ps1 -computername Server01, где C:ScriptsService_status.ps1 — это путь к файлу сценария Service_status.ps1

Server01- имя удаленной машины, на которой выполняется сценарий

Как видим, сценарий Service_status.ps1 успешно отработал на машине с именем Server01 и отобразил нам список служб начинающихся на букву S

Напишем еще один сценарий, состоящий из одной команды, а именно stop-service sppsvc

Данной командой мы остановим выполняющуюся службу sppsvc на удаленной машине Server01

Выбираем File-Save As

Сценарий сохраним в папке Scripts на диске С: под именем Stop_service_sppsvc

Сохраненный сценарий Stop_service_sppsvc.ps1

Выполним созданный сценарий Stop_service_sppsvc.ps1 на удаленной машине Server01

Для этого вводим команду invoke-command -filepath C:ScriptsStop_service_sppsvc.ps1 -computerName Server01и выполняем её

Сценарий Stop_service_sppsvc.ps1 выполнен успешно, так как никаких ошибок PowerShell нам не выдал

После выполнения сценария Stop_service_sppsvc.ps1 служба sppsvc на удаленной машине Server01 должна быть остановлена.

Проверим состояние службы sppsvc на удаленной машине Server01 выполнив сценарий Service_status.ps1

Выполняем команду invoke-command -filepath C:ScriptsService_status.ps1 -computername Server01

Как видим, служба sppsvc на машине с именем Server01 остановлена

tagsКлючевые слова
Рекомендуем другие статьи по данной теме
Заметили ошибку
Выделите и нажмите Ctrl+Enter

Комментарии (0)

Комментариев пока-что нет Но! Вы можете стать первым. Поделитесь своим впечатлением о статье или задайте свой вопрос!

Рекламный блок

Подпишитесь на рассылку

  • Windows (все версии)
  • Windows 10
  • Лицензирование и активация
  • Windows 8.1
  • Windows 7
  • Windows XP
  • Установка Windows
  • Драйвера
  • Обновления Windows
  • Восстановление Windows
  • Перенос (миграция, клонирование) Windows
  • Учётные записи и пароли
  • Чистка, оптимизация, твики
  • Сборки и дистрибутивы Windows
  • Кастомизация
  • Функционал Windows
  • Безопасность
  • Антивирусы
  • Восстановление данных
  • Резервное копирование
  • Шифрование данных
  • Загрузочный носитель
  • LiveDisk
  • Разное
  • Другие операционные системы
  • Веб-дизайн

Облако тегов

Архив статей

Сейчас обсуждаем

img

admin

Вентиляция должна быть правильно организована в системном блоке. Выбираем корпус для ПК

Читайте также:
Составить алгоритм и программу вывода на экран таблицы значений y

serega

Неопытные юзеры считают, что чем больше вентиляторов, тем лучше. Для компьютеров с процессорами

mustang

Не сбрасывается БИОС при замыкании контактом CLR_CMOS отвёрткой. Даже нашёл джампер и замкнул, но

hightbot

Такая и другие похожие ошибки обычно выходят сразу после установки Windows. После установки системы

Добрыня

В своё время закончил универ и нашёл работу на Hh.ru. Как всё было. Выложил резюме на Хантер, через

О проекте RemontCompa.ru

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы.

Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

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

Разделы сайта

  • Регистрация на сайте
  • Новое на сайте
  • Статистика
  • Пользовательское соглашение
  • Об авторе
  • Карта сайта
  • RSS подписка
  • Правила сайта
  • Обратная связь

Социальные сети

Источник: remontcompa.ru

Как запускать команды PowerShell на удаленных компьютерах

Как запускать команды PowerShell на удаленных компьютерах

  • Включите удаленно PowerShell на ПК, на котором вы хотите получить доступ удаленно
  • Настройка рабочей группы
  • Проверить соединение
  • Выполнение одиночной удаленной команды
  • Запуск удаленного сеанса

Видео: Как запускать команды PowerShell на удаленных компьютерах

Видео: Как запускать команды PowerShell на удаленных компьютерах

2023 Автор: Geoffrey Carr | [email protected] . Последнее изменение: 2023-07-11 09:29

PowerShell Remoting позволяет запускать команды PowerShell или получать доступ к полным сеансам PowerShell в удаленных системах Windows. Это похоже на SSH для доступа к удаленным терминалам в других операционных системах.

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

Включите удаленно PowerShell на ПК, на котором вы хотите получить доступ удаленно

Ваш первый шаг — включить PowerShell Remoting на ПК, для которого вы хотите сделать удаленные подключения. На этом ПК вам нужно будет открыть PowerShell с правами администратора.

В Windows 10 нажмите Windows + X, а затем выберите PowerShell (Admin) в меню Power User.

В Windows 7 или 8 нажмите «Пуск», а затем введите «powershell». Щелкните правой кнопкой мыши результат и выберите «Запуск от имени администратора». В окне PowerShell введите следующий командлет (имя PowerShell для команды), а затем нажмите Enter:

Эта команда запускает службу WinRM, заставляет ее автоматически запускаться с вашей системой и создает правило брандмауэра, которое позволяет принимать входящие соединения.

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

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

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

Как всегда, проконсультируйтесь с администраторами, прежде чем попробовать что-нибудь подобное. У них могут быть веские причины не допускать практики, или они могут пожелать настроить ее для вас.

Настройка рабочей группы

Если ваши компьютеры не находятся в домене, вам нужно выполнить еще несколько шагов, чтобы настроить настройки. Вы должны были включить Remoting на ПК, к которому вы хотите подключиться, как мы описали в предыдущем разделе.

Примечание. Чтобы PowerShell Remoting работал в среде рабочей группы, вы должны настроить свою сеть как частную, а не общедоступную сеть. Подробнее о различиях и о том, как перейти в частную сеть, если у вас уже есть общедоступная сеть, — ознакомьтесь с нашим руководством по приватным и общедоступным сетям.

Читайте также:
Код при загрузке программы

Затем вам нужно настроить параметр TrustedHosts как на ПК, к которому вы хотите подключитьсяа также ПК (или ПК), с которым вы хотите подключиться, поэтому компьютеры будут доверять друг другу. Вы можете сделать это одним из двух способов.

Если вы находитесь в домашней сети, где хотите продолжить работу, и доверять любому удаленному компьютеру для подключения, вы можете ввести следующий командлет в PowerShell (опять же, вам нужно будет запустить его как Администратор).

Set-Item wsman:localhostclient rustedhosts *

Звездочка является символом подстановки для всех ПК. Если вместо этого вы хотите ограничить компьютеры, которые могут подключаться, вы можете заменить звездочку разделенным запятыми списком IP-адресов или имен компьютеров для утвержденных компьютеров.

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

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

Проверить соединение

Теперь, когда у вас установлены компьютеры для PowerShell Remoting, пришло время проверить соединение. На ПК, с которого вы хотите получить доступ к удаленной системе, введите следующий командлет в PowerShell (заменив «КОМПЬЮТЕР» на имя или IP-адрес удаленного ПК), а затем нажмите «Ввод»:

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

Image

Выполнение одиночной удаленной команды

Чтобы выполнить команду в удаленной системе, используйте

командлет с использованием следующего синтаксиса:

Invoke-Command -ComputerName COMPUTER -ScriptBlock < COMMAND >-credential USERNAME

«КОМПЬЮТЕР» представляет имя или IP-адрес удаленного ПК. «КОМАНДА» — это команда, которую вы хотите запустить. «USERNAME» — это имя пользователя, которое вы хотите запустить как на удаленном компьютере. Вам будет предложено ввести пароль для имени пользователя.

Вот пример. Я хочу просмотреть содержимое каталога C: на удаленном компьютере с IP-адресом 10.0.0.22. Я хочу использовать имя пользователя «wjgle», поэтому я бы использовал следующую команду:

Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock < Get-ChildItem C: >-credential wjgle

Image

Запуск удаленного сеанса

Если у вас несколько командлетов, которые вы хотите запустить на удаленном ПК, вместо многократного ввода командлета Invoke-Command и удаленного IP-адреса, вы можете запустить удаленный сеанс. Просто введите следующий командлет и нажмите «Ввод»:

Enter-PSSession -ComputerName COMPUTER -Credential USER

Снова замените «КОМПЬЮТЕР» на имя или IP-адрес удаленного ПК и замените «USER» на имя учетной записи пользователя, которую вы хотите вызвать.

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

Популярная тема

Как исправить «Установленный драйвер не проверен для этого компьютера» на компьютерах Intel

Как исправить «Установленный драйвер не проверен для этого компьютера» на компьютерах Intel

Графические драйверы Intel откажутся устанавливать на некоторых компьютерах, даже если они используют графические чипы Intel. Если вы видите это сообщение об ошибке, производитель вашего компьютера хочет, чтобы вы устанавливали драйверы со своего веб-сайта, а не напрямую от Intel. Но есть способ обойти это сообщение и установить драйверы Intel в любом случае.

Как синхронизировать открытые вкладки на разных компьютерах с помощью Google Chrome

Как синхронизировать открытые вкладки на разных компьютерах с помощью Google Chrome

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

Почему команды Windows PowerShell вызывают командлеты?

Почему команды Windows PowerShell вызывают командлеты?

При работе с Windows PowerShell вы могли столкнуться с термином cmdlet и немного смущены. Является ли командлет чем-то совершенно отличным от команды или это просто имя PowerShell для них? Сегодняшний вопрос о Q https://ru.begin-it.com/1982-how-to-run-powershell-commands-on-remote-computers» target=»_blank»]ru.begin-it.com[/mask_link]

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru