DataLife Engine / Удаленное управление Windows Server 2008 R2 (Server Core) в Windows PowerShell 2.0

Удаленное управление Windows Server 2008 R2 (Server Core) в Windows PowerShell 2.0



Автор статьи Ro8 
Привет друзья! В данной статье мы выполним удаленное управление операционной системой Windows Server 200 R2 установленной в режиме Server Core используя Windows PowerShell 2.0.
У нас есть две машины, одна с предустановленной Windows Server 2008 R2 (Server Core), другая с Windows 7

Удаленное управление машиной с Windows Server 2008 R2 будем выполнять при помощи службы удаленного управления Windows (WinRM). Данная служба применяет протокол WS-Management для удаленного управления. WS-Management представляет собой стандартный протокол веб-служб для удаленного управления программным обеспечением и оборудованием. Служба WinRM прослушивает сеть на наличие запросов WS-Management и обрабатывает их.

Для запуска службы WinRM на машине с Windows Server 2008 R2 применим утилиту Core Configurator
Переходим по ссылке https://coreconfig.codeplex.comи скачиваем ее

Скачанный образ с утилитой Core Configurator

На компьютере с Windows 7 смонтируем скачанный образ в виртуальный привод (в нашем случае под буквой F). Также к компьютеру подключен флеш-накопитель

Содержимое смонтированного образа Core Configurator. Копируем все файлы со смонтированного образа на наш флеш-накопитель

Скопированные файлы утилиты Core Configurator на флеш-накопителе

Переходим на машину с Windows Server 2008 R2, подключаем к ней флеш-накопитель с файлами утилиты Core Configurator
Выполняем команды dir c:, dir d:, dir e: и так далее и определяем букву нашего флеш-накопителя. В нашем случае флеш-накопитель определился под буквой E:
На флеш-накопителе присутствует папка CoreConfig, в которую были скопированы файлы утилиты Core Configurator

Переходим на флеш-накопитель 



Далее переходим в папку coreconfig введя команду cd coreconfig

Для просмотра содержимого папки coreconfig выполним команду dir /b. В данной папке присутствует файл Start_Coreconfig.wsf 

Выполняем команду Start_Coreconfig.wsf 

После выполнения команды Start_Coreconfig.wsf откроется главное окно утилиты Core Configurator

В главном окне выбираем Computer settings 

Выбираем WinRM 

Как видим, служба WinRM на машине с Windows Server 2008 R2 не запущена

Запускаем службу WinRM поставив переключатель в положение Enable WinRM и нажав кнопку Apply



Как видим, теперь служба WinRM запустилась

Проверим выполнение службы WinRM используя Windows PowerShell
Запускаем Windows PowerShell выполнив команду PowerShell
Проверить состояние службы WinRM можно выполнив команду get-service winrm 

Как видим, служба WinRM выполняется

Переходим на машину с Windows 7 и запускаем на ней Windows PowerShell
Для подключения к удаленной машине с Windows Server 2008 R2 и выполнения на ней нужных нам действий выполняем команду:
invoke-command -computername Server01 -Credential exityrwed\Administrator -ScriptBlock {……..}
где Server01 - это имя машины, к которой производится подключение
exityrwed - домен в состав которого входит машина
Administrator -  пользователь, от имени которого производится подключение
{……} - в данных скобках прописываем команду, которую хотим выполнить на удаленной машине
К примеру мы хотим получить список процессов на удаленной машине Windows Server 2008 R2
Для этого выполняем команду invoke-command -computername Server01 -Credential exityrwed\Administrator -ScriptBlock {get-process}

Указываем пароль пользователя и нажимаем ОК

Как видим, мы подключились к машине с Windows Server 2008 R2 (имя машины Server01) и нам отобразился список процессов на данной машине

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

Как видим,  мы подключились к удаленной машине Server01, и теперь можем выполнять на ней любые действия

К примеру перейдем в корень диска C: выполнив команду set-location / и посмотрим его содержимое, введя команду get-childitem 

Или к примеру определим политику выполнения сценариев PowerShell на удаленной машине Server01 выполнив команду get-executionpolicy
(подробнее о политиках выполнения сценариев в статье "Сценарии в Windows PowerShell" ) http://remontcompa.ru/851-scenarii-v-windows-powershell-20.html

Для закрытия сессии с удаленной машиной вводим команду exit 

Произведено закрытие сессии с удаленной машиной Server01

26-09-2015
Вернуться назад