Как включить Удаленный рабочий стол в Windows 10

PowerShell: системное администрирование и программирование

Для добавления в домен или рабочую группу применяется командлет Add-Computer. Он присутствует в PowerShell 5, но удалён из PowerShell 7 и никто не знает, чем его заменить, подробности смотрите в статье «Аналог Add-Computer в PowerShell 7».

Если вы уже установили PowerShell 7, то для переключения на PowerShell 5 выполните:

Включение удаленного доступа через Параметры

  1. Открываем меню Пуск, и нажимаем на кнопку «Параметры» (иконка в виде шестеренки).
  2. В окне параметров выбираем пункт «Система».
  3. Далее переходим на вкладку «Удаленный рабочий стол».
  4. Здесь нужно переключить единственный переключатель «Включить удаленный рабочий стол» со значения «Откл.» в значение «Вкл.».
  5. Появится окошко, в котором Вас попросят подтвердить, действительно ли вы хотите включить удаленный рабочий стол. Поскольку, именно это и стоит целью данной статьи, то нажать нужно «Подтвердить».
  6. После этого к компьютеру смогут подключаться по удаленному рабочему столу все пользователи, которые входят в группу «Администраторы». Для того, чтобы добавить пользователей, которые смогут подключаться к удаленному рабочему столу, и которые при этом не имеют прав администратора, нужно пролистать окно настроек удаленного рабочего стола в самый низ, и там нажать на надпись «Выберите пользователей, которые могут получить удаленный доступ к этому компьютеру«.

    В открывшемся окне достаточно будет нажать на кнопку «Добавить» и ввести логин или имя пользователя компьютера (для сверки корректности введенных данных можно нажать на кнопку «Проверить имена».

Как и в предыдущих версиях Windows, в десятой версии данной операционной системы, можно управлять доступом к удаленному рабочему столу через свойства системы.

  1. Для использования этого метода нужно открыть Свойства системы — проще всего это сделать, нажав на клавиши Win + R и выполнить там команду SystemPropertiesRemote . После выполнения этой команды откроется окошко Свойств системы с настройками удаленного доступа.
  2. В данном окне нужно отметить пункт «Разрешить удаленные подключения к этому компьютеру», и нажать «Применить». После этого, компьютер будет готов к подключениям по удаленному рабочему столу. Подключаться смогут только пользователи, которые состоят в группе «Администраторы». Для того, чтобы это исправить, необходимо нажать на кнопку «Выбрать пользователей».
  3. Откроется окно, где будет доступна кнопка «Добавить», с помощью которой можно добавить пользователей в список тех, кому доступен доступ к компьютеру через удаленный рабочий стол. Вписывать туда стоит логин или имя пользователя, для проверки корректности ввода воспользовавшись кнопкой «Проверить имена».

Выполнение одной команды на удаленном компьютере

Самый простой способ подключиться к среде PowerShell на удаленном компьютере — воспользоваться командой Enter-PSSession. По умолчанию эта команда выполняется с параметром -ComputerName, поэтому при ее вводе с клавиатуры данный параметр можно не указывать. К примеру, для установления соединения с удаленным компьютером с именем rigel надо ввести с клавиатуры

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

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

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

команда Get-ChildItem будет выполнена на удаленной машине. Ее выходные данные будут содержать имена файлов и папок, хранимых в накопителе C удаленного компьютера. Чтобы завершить сеанс удаленного взаимодействия, воспользуйтесь командой Exit-PSSession

Версии Windows PowerShell

Первая версия PowerShell 1.0 появилась 14 ноября 2006 года и выпускалась в виде отдельного дистрибутива, который можно было установить на следующие версии операционных систем Windows: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 и Windows Vista.

В Windows Server 2008 PowerShell 1.0 поставлялся в виде компонента, который также нужно было устанавливать.

Начиная с Windows 7 и Windows Server 2008 R2, PowerShell поставляется как неотъемлемый компонент системы (т.е. предустановленный, устанавливать его не надо). Ниже представлена таблица соответствия версии PowerShell и версии операционной системы Windows (т.е. какая версия PowerShell по умолчанию установлена в той или иной версии Windows):

Версия PowerShell Версии Windows
PowerShell 2.0 Windows 7, Windows Server 2008 R2
PowerShell 3.0 Windows 8, Windows Server 2012
PowerShell 4.0 Windows 8.1, Windows Server 2012 R2
PowerShell 5.0 Windows 10, Windows Server 2016

С каждой новой версией PowerShell становится все более мощным инструментом администрирования, для сравнения в первой PowerShell было около 130 командлетов, а в PowerShell 5.0 их уже более 600!

Узнать текущую версию PowerShell можно с помощью свойства PSVersion встроенной переменной $PSVersionTable, например, выполните следующую команду:

Или запустите командлет

где, значение PSVersion и будет версией PowerShell.

Неявное удаленное управление

Еще один, довольно нестандартный способ удаленного управления — неявное удаленное управление (Implicit remoting). Используя его можно, не создавая удаленной сессии, локально выполнять командлеты, находящиеся на удаленном компьютере.

Для примера берем обычную рабочую станцию, без установленных средств удаленного администрирования. Создаем удаленную сессию с контроллером домена SRV4 и импортируем в эту сессию модуль Active Directory:

$session = New-PSSession -ComputerName SRV4
Invoke-Command -Session $session

Затем экспортируем из удаленной сессии командлеты Active Directory и помещаем их в локальный модуль RemoteAD:

Export-PSSession -Session $session -CommandName *-AD* -OutputModule RemoteAD`
-AllowClobber

Эта команда создаст в папке WindowsPowerShellModulesRemoteAD новый модуль PowerShell. Загружены будут только командлеты с именами, соответствующими шаблону *-AD*. При этом сами командлеты не копируются на локальный компьютер. Локальный модуль служит своего рода ярлыком, а сами команды будут выполняться на удаленном контроллере домена.

После создания модуля удаленную сессию можно закрыть, она больше не понадобится.

импорт удаленного модуля PowerShell

Импортируем новый модуль в текущий сеанс (в PS 3.0 можно этот шаг пропустить):

А теперь внимание — мы не открываем удаленную сессию с контроллером домена, где расположены командлеты. Не нужно явно запускать этот сеанс — это можно сделать неявно, попытавшись выполнить удаленные командлеты:

New-ADUser -Name BillGates -Company Microsoft
Get-ADUser BillGates

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

Удаленный сеанс будет активным до тех пор, пока вы не закроете консоль или не удалите модуль RemoteAD.

неявное удаленное управление в PowerShell

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

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

Планировщик заданий (Task Scheduler)

Планировщиком заданий можно управлять из командной строки используя две утилиты – at.exe и schtasks.exe. Обе эти утилиты позволяют указать имя удалённого компьютера для создания задания, и, следовательно, позволяют решить нашу задачу. Но подробно мы рассмотрим лишь schtasks.exe, так как она предоставляет гораздо больше возможностей.

Хотя выполнение команд на других компьютерах не является основным предназначением планировщика, тем не менее он позволяет реализовать немало интересных сценариев. Например, с его помощью можно включить установку программного обеспечения в период обеденного перерыва. Или если ваши пользователи обедают в разное время, запуск можно выполнять после определённого периода бездействия компьютера.

schtasks /create /s server6.td.local /tn install /tr \maindatainstall.cmd /sc once /st 13:00 /ru system

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

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

Test the Connection

Now that you’ve got your PCs set up for PowerShell Remoting, it’s time to test the connection. On the PC you want to access the remote system from, type the following cmdlet into PowerShell (replacing “COMPUTER” with the name or IP address of the remote PC), and then hit Enter:

This simple command tests whether the WinRM service is running on the remote PC. If it completes successfully, you’ll see information about the remote computer’s WinRM service in the window—signifying that WinRM is enabled and your PC can communicate. If the command fails, you’ll see an error message instead.

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

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

Enter-PSSession -ComputerName COMPUTER -Credential USER

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

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

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

Adblock
detector