Windows 2012 без gui

Информационный портал по безопасности

Windows Server 2012 — жизнь без GUI

Автор: admin от 11-06-2013, 20:29, посмотрело: 3 736

Windows Server 2012 позиционируется как система, которой GUI для полноценной работы не нужен. При установке по умолчанию выбран пункт Server Core, добавлена возможность удаления графического интерфейса без переустановки сервера, список ролей, не нуждающихся в GUI в сравнении с 2008 R2 расширен. В своих книгах Microsoft утверждает, что работа с командной строкой естественна и вспоминает начало 90-х годов прошлого века, когда системные администраторы жаловались на бесполезную трату ресурсов графической оболочкой. В дополнение к этому Microsoft предлагает «новый» путь администрирования своих серверных операционных систем, в котором предполагается, что серверную консоль вы будете видеть только один раз — при установке операционной системы, а вся работа и настройка системы будет осуществляться удаленно: через «Диспетчер серверов», MMC-оснастки и PowerShell, который в 2012 сервере уже версии 3.0

Допустим, что первоначальная настройка сервера после установки включает в себя:

  • Настройку сетевых интерфейсов
  • Установку часового пояса
  • Включение удаленного рабочего стола
  • Переименование компьютера
  • Присоединение к домену

Вопрос в следующем: а можно ли эти задачи выполнить удаленно средствами PowerShell? Ну вот, допустим, есть удаленный сервер где-нибудь в тайге, на который местный умелец поставил 2012 сервер, пошел отметить это дело и потерял ключ от шкафа. Шкаф бронебойный, водо-, звуконепроницаемый и вообще предполагает защиту от несанкционированного доступа медведей. А настроить надо. Допустим, есть VPN или какой-нибудь «прямой провод» (очень часто вижу эту услугу в прайсах провайдеров) и сервер доступен по сети. И только по сети.

В исходных данных письмо от местного умельца:

Привет, поставил венду на сервер. IP — 169.254.23.43. Логин — Администратор. Пароль — [email protected]#. Пока.

Готовимся

Удаленный сервер в рабочей группе, в свежеустановленном состоянии, RPC не понимает (порты на брандмауэре закрыты), не пингуется, с непроизносимым именем и московским часовым поясом в Сибири. Если бы это был 2008 R2 на этом бы наши приключения и закончились, так как все средства удаленного управления в нем по умолчанию отключены. В 2012 есть способ удаленно управлять из коробки — включенный по умолчанию Enter-Pssession и Invoke-Command. Оба используют WinRM. Enter-Pssession дает нам консоль удаленного сервера, Invoke-Command отправляет блок команд на удаленный сервер и возвращает результат их выполнения. Ниже используется Invoke-Command (мы же собрались вообще не видеть удаленную консоль).

Действия будем выполнять по следующему принципу:

  • PowerShell
  • Если не получается выполнить задачу через PowerShell, подключаем cmd
  • Если не в PowerShell, не в cmd нет подходящих инструментов — WMI через PowerShell
  • Ну и как последний вариант — ковыряние реестра также через PowerShell

    Настройка сетевых интерфейсов

    Делать нечего, меняем свой адрес на что-нибудь из APIPA-диапазона, ну например 169.254.0.1 и садимся думать, как удаленно изменить IP-адрес у таёжного сервера. Думать тут нечего:

    Читайте также:  Block host windows firewall что это
  • Определить на каком адаптере производить изменения
  • Отключить DHCP
  • Назначить статический адрес для сервера с маской подсети и шлюзом по умолчанию.
  • Hазначить DNS-серверы

    И все это желательно не отцепляясь от сервера.

    В PowerShell 3.0 появилась целая группа Network Adapter Cmdlets, которая позволяет нам делать с сетевыми адаптерами все что угодно.

    Получаем объект сетевого адаптера и сохраняем его в переменной $adapter. Ethernet — это новое имя для «Подключение по локальной сети». Это изменение, несмотря на кажущуюся незначительность, очень радует.

    Меняем IP-адрес на нормальный с необходимой маской и шлюзом. Для этого существует другая группа Net TCP/IP Cmdlets

    Добавляем DNS-серверы. Третья группа DNS Client Cmdlets

    Как все это выполнить на удаленном сервере? Сделать скрипт и с помощью Invoke-Command запустить его на выполнение.

    Сохраним этот набор команд где-нибудь с именем скрипта, например, remotechangeip.

    Тут есть один момент. Называется политика выполнения скриптов.[/b]По умолчанию в PowerShell разрешается работа только в интерактивном режиме, выполнение любых скриптов запрещено (restricted). Для выполнения скриптов нам нужно либо remotesigned (цифровая подпись требуется для скриптов, загруженных из интернета), либо unrestricted (при выполнении неподписанного скрипта, загруженного из интернета будет выдаваться предупреждение о ненадежности источника). Если на безопасность совсем положить, можно поставить bypass (будет выполняться все без лишних вопросов). Eсли у вас есть собственный сертификат, выданный доверенным издателем, и вы не ленитесь подписывать с его помощью свои скрипты — вам нужен allsigned (в таком случае, вы наверное и сами это знаете). У меня сертификата нет, поэтому политику я устанавливаю remotesigned.

    Политика выполнения скриптов устанавливается на локальном компьютере, на удаленном такой необходимости нет, потому что Invoke-Command перед выполнением скрипта на удаленном компьютере преобразовывает файл скрипта в просто набор команд. Соответственно, на удаленном компьютере выполняется не скрипт (файл с расширением .ps1), а набор команд, которым политика выполнения скриптов по барабану.

    Windows Server 2012: Переключение между режимами GUI и Core

    Server Core – особый режим установки Windows Server, это среда, в которой отсутствует графический интерфейс и средства управления, а также некоторые серверные роли и компоненты. Управление Windows Server Core предполагается из командной строки, с помощью PowerShell, или же с других серверов/рабочих станций с установленным RSAT (RSAT для Windows 7, RSAT для Windows 10). Впервые Core-режим работы серверной ОС Microsoft появился еще в Windows Server 2008. Основные преимущества Server Core перед полными инсталляциями Windows Server: экономия системных ресурсов, повышенная стабильность и безопасность за счет меньшего количества компонентов, упрощение обслуживания, меньший даунтайм при установке обновлений, сокращение поверхности атаки злоумышленниками.

    Одним из главных недостатков в Windows Server 2008 Core являлась невозможность переключение в режим с графической оболочкой (GUI) или в обратную сторону (из GUI в Core режим). В случае возникновения такой необходимости приходилось целиком переустанавливать ОС.

    В Windows Server 2012 Microsoft решила убрать это ограничение, кроме того появился еще один вариант работы сервера — минимальный интерфейс сервера (Minimal Server Interface). В этом режиме отсутствуют проводник, Internet Explorer, рабочий стол и начальный экран).

    В Windows Server 2012 теперь можно установить и настроить сервер в знакомом администраторам GUI, после чего перевести сервер в Core режим. Этот подход упрощает процедуру настройки сервера, не вынуждая администраторов разбираться в подчас достаточно сложных консольных командах и командлетах PoSh.

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

    • Full Server with GUI – полноценный сервер с GUI
    • Server Core with GUI Management (Minimal Server Interface) – минимальная интерфейс сервера с Windows Server 2012, включающий графические утилитаты управления сервером
    • Server Core – режим командной строки
    Читайте также:  Симс 4 с дополнениями системные требования для windows 10

    Далее мы разберем способы переключения между данными режимами работа новой серверной платформы от Microsoft

    Переключение из режима Server Core в GUI

    В том случае, если сервер был установлен в режиме Windows Server 2012 Core, в установленных компонентах отсутствуют необходимые файлы для установки GUI (концепция минимизации занимаемого места на диске в Core режиме). По умолчанию, если нужные компоненты отсутствуют на диске, система пытается скачать их с сайта Windows Update. Если доступ в интернет у сервера отсутствует, нам придется указать альтернативные источник установки (с помощью команды powershell Install-WindowsFeature с параметром -Source).

    Для установки графического интерфейса нам понадобится дистрибутив Windows Server 2012. Допустим, мы вставили (смонтировали iso образа) дистрибутив Windows Server 2012 в устройство, которому назначена буква D:\.

    Далее нужно определить индекс установленной версии Windows Server 2012 в установочном wim образе. Для этого наберите команду, отображающую информацию о содержимом установочного образа:

    Т.к. на сервере установлен Windows Server 2012 Datacenter, нас интересует дистрибутив SERVERDATACENTER, индекс которого 4.

    Далее нужно установить недостающие компоненты (Server GUI) из wim файла командой:

    Процедура установки займет порядка 5-10 минут. В том случае если при установке будут наблюдаться проблемы, попробуйте отключить сетевые карты, чтобы Windows не пыталась скачать файлы с сайта Windows Update.

    После выполнения команды сервер автоматически перезагрузится и загрузится уже в графическом режиме.

    Графические компоненты Windows Server 2012 можно также установить и с помощью DISM, ту же самую операцию выполним с помощью двух команд:

    В том случае, если сервер изначально был установлен в GUI режиме, который затем отключили, его можно вернуть командой:

    Переключение из GUI режима в Core

    Удалить GUI режим в Win Server 2012 в Core можно несколькими способами:

    • С помощью Powershell
    • Из графического интерфейса консоли Server Manager

    Запустите строку PoSh и выполните команду

    После выполнения команды сервер автоматически перезагрузится и загрузили уже в Core-режиме.

    Аналогом командлета remove-WindowsFeature является Uninstall-WindowsFeature команда, и чтобы перейти из режима Server with GUI в режим Server Core воспользуйтесь командами:

    Если вам удобнее пользоваться графическими утилитами, откройте консоль Server Manager:

    1. Выберите пункт Remove Roles or Features
    2. Снимите флажки с Graphical Management Tools and Infrastructure и Server Graphical Shell
    3. После окончания работы мастера перезагрузите сервер

    Переключение из Windows Server 2012 GUI в Minimal Server interface

    В режиме работы Minimal Server Interface в системе присутствуют все базовые графические инструменты управления сервером (оснастки MMC, консоль Server Manager, элементы панели управления), однако такие компоненты как Windows Explorer, Internet Explorer 10, рабочий стол, начальный экран Start screen отсутствуют.

    С помощью Powershell переключиться в режим Minimal Server Interface можно с помощью команды:

    Тоже самое в графической консоли Server Manager:

    • Откройте консоль Server Manager
    • Выберите Remove Roles or Features
    • Снимите флажок с элемента Server Graphical Shell
    • По окончании работы мастера перезагрузите сервер

    Переключение из Core в Minimal Server Interface в Windows 2012

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

    GUI, не GUI — или как включить и отключить графический интерфейс в Windows Server 2012

    Когда появилась самая первая версия Server Core многие администраторы избегали его по той причине, что они могли использовать исклюительно возможности командной строки, а это не всегда удобно. Однако, в Windows Server 2012 ситуация поменялась, теперь стало возможным использовать гибридный режим, т.е. возможно как отключение, так и включение графического интерфейса.

    Читайте также:  Logitech f710 установка windows 10

    Отключение GUI

    В Windows Server 2012 GUI последовал примеру общей архитектуры интерфейса управления и работы операционной системы и стал «фичей». Это в свою делает процесс удаления графического интерфейса простым до невозможности. Для начала необходимо запустить «Server Manager».

    Нажмите «Manage», а затем выберите пункт «Remove Roles or Features» из меню.

    Далее нажмите «Next» для того, чтобы проскочить предварительные пункты мастера настройки, далее выберите необходимый вам сервер из доступного пула (в нашем случае это сервер DC1) и нажмите «Next».

    Так как GUI не является ролью, нажмите «Next», чтобы пропустить мастер ролей и перейти к следующей секции.

    Когда вы дойдете до мастера фич, вам будет необходимо снять галочку с чек-бокса «User Interfaces and Infrastructure», а затем нажать «Next».

    Поставьте отметку на «Restart Destination Server» и нажмите «Remove».

    После этого действия GUI будет удален.

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

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

    Включение GUI

    После того как мы успешно удалили GUI, было бы очень неплохо знать как же все-таки его вернуть обратно. Для этого мы используем утилиту «SConfig» — так что просто наберите в командной строке «sconfig» и нажмите Enter.

    В самом низу экрана можно увидеть пункт меню 12, который как раз отвечает за восстановление графического интерфейса – все что нам остается сделать, это набрать 12 и нажать «Enter».

    На экране появится уведомление о том, что в случае включения GUI потребуется перезагрузка сервера – смело нажимаем «Yes» для завершения операции восстановления графического интерфейса.

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

    После окончания вышеуказанного процесса вам будет предложено перезагрузить сервер, наберите «y» и нажмите для перезагрузки.

    Отключение GUI с помощью PowerShell

    Также мы можем осуществить все вышеперечисленный операции как по удалению, так и по возвращению GUI гораздо быстрее, если воспользуемся командами PowerShell. Для этого необходимо открыть «Server Manager», нажать на «Tools» и запустить PowerShell.

    Для того чтобы удалить GUI мы используем командлет Remove-WindowsFeature:

    Remove-WindowsFeature Server-Gui-Shell, Server-Gui-Mgmt-Infra

    В свою очередь Remove-WindowsFeature является просто алиасом команды, а значит мы вполне можем также использовать следующие команды:

    Uninstall-WindowsFeature Server-Gui-Shell, Server-Gui-Mgmt-Infra

    После ввода команды и нажатия клавиши «Enter» начнется процедура удаления графического интерфейса.

    После завершения операции удаления бинарников необходимо будет перезагрузиться, для того чтобы изменения вступили в силу. Набираем следующую команду и нажимаем «Enter»:

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

    Включение GUI с помощью PowerShell

    Первое что нам нужно сделать, это попасть в PowerShell, набираем из командной строки PowerShell и нажимаем «Enter».

    Теперь нам понадобится командлет Add-WindowsFeature для того чтобы вернуть GUI обратно:

    Add-WindowsFeature Server-Gui-Shell, Server-Gui-Mgmt-Infra

    Это также является алиасом для следующих команд:

    Install-WindowsFeature Server-Gui-Shell, Server-Gui-Mgmt-Infra

    После завршения процедуры добавления компонентов необходимо перезагрузить сервер с помощью команды shutdown:

    После перезагрузки сервера графический интерфейс будет снова доступен.

    P.S> Загрузить Windows Server 2012 RC можно здесь.

    С уважением,
    Георгий А. Гаджиев
    Эксперт по информационной инфраструктуре,
    Microsoft

  • Оцените статью