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

Оглавление:

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

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

Видео: Как запускать команды PowerShell на удаленных компьютерах
Видео: Что делать после сборки ПК. Установка Windows, установка драйверов, настройка BIOS. - YouTube 2024, Май
Anonim
PowerShell Remoting позволяет запускать команды PowerShell или получать доступ к полным сеансам PowerShell в удаленных системах Windows. Это похоже на SSH для доступа к удаленным терминалам в других операционных системах.
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». Щелкните правой кнопкой мыши результат и выберите «Запуск от имени администратора».
В Windows 7 или 8 нажмите «Пуск», а затем введите «powershell». Щелкните правой кнопкой мыши результат и выберите «Запуск от имени администратора».
В окне PowerShell введите следующий командлет (имя PowerShell для команды), а затем нажмите Enter:
В окне PowerShell введите следующий командлет (имя PowerShell для команды), а затем нажмите Enter:

Enable-PSRemoting -Force

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

-Force

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

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

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

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

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

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

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

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

Set-Item wsman:localhostclient rustedhosts *

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

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

Restart-Service WinRM

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

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

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

Test-WsMan COMPUTER

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

Image
Image

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

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

Invoke-Command

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

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
Image

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

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

Enter-PSSession -ComputerName COMPUTER -Credential USER

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

Рекомендуемые: