Новинкой в операционной системе Windows Server 2008 является концепция ролей. Примером ролей для вашего сервера могу служить:
Хотя очень просто добавить эти роли с помощью графического интерфейса Windows Server 2008 GUI (смотри рисунок 1, ниже), как насчет того, чтобы добавить и удалить роли с помощью командной строки Windows Server 2008? Как это сделать? Давайте выясним!
Рисунок 1: Добавление ролей с помощью Windows Server 2008 GUI
Кроме новой концепции ролей, есть новый инструмент в операционной системе Windows Server 2008, который имеет новое средство CLI для управления этими ролями. Этот инструмент ServerManagercmd.exe.
С помощью ServerManagercmd.exe вы можете делать следующее:
Чтобы получить полный список всех ролей, установленных в настоящее время на вашем сервере, просто используйте параметр ‘-query’. Вы можете сократить его до ‘-q’. Ниже представлен пример того, как это выглядит:
Рисунок 2: Результаты команды ServerManagercmd.exe ‘Query
Как вы можете увидеть из результата, на этом сервере установлена только одна роль под названием Network Policy and Access Server (сервер для доступа и сетевой политики). ServerManagerCMD выделяет результат желтым цветом, если установлена служба.
Обратите внимание, что каждая роль имеет напротив названия ‘command value’ (параметр команды). Например, роль Network Policy and Access Services Role имеет напротив названия ‘NPAS’. Если вам надо добавить или удалить службу NPAS, то вы должны задать этот параметр команды.
Вы можете узнать все параметры команд, обратившись к официальной документации Microsoft ServerManagercmd TechNet . Ниже приведен список некоторых самых популярны ролей:
А также, вы должны обратить внимание, что каждая из дочерних ролей для этих ролей имеет свой собственный идентификатор команды. Например, чтобы установить терминальный сервер (Terminal Server), вам также понадобиться установить терминальные службы лицензирования (Terminal Services Licensing), которые закодированы TS-Licensing.
Теперь, когда вы знаете правильный командный идентификатор для роли (и дочерних ролей), установка роли существенно упрощается. Ниже приводится пример моей установки служб печати Windows Server 2008 Printing Services. Обратите внимание, что я всего лишь набрал
Рисунок 3: Установка служб печати с помощью ServerManagercmd.exeservermanagercmd 'install Print-Services:
<img class="attachment wp-att-10770 centered" src="/wp-content/uploads/2009/02/6943.jpg" alt="6943" width="575" height="176" />
Установка прошла успешно, но мы говорили о том, что мы должны перезагрузить сервер, чтобы изменения вступили в силу. Чтобы выполнить это я могу добавить параметр:
servermanagercmd 'install Print-Services 'restart
И перезагрузка начнется автоматически.
Но что, если существует множество дополнительных возможностей, как в случае с терминальными службами? Как я могу запустить несколько команд ServerManagercmd.exe?
Есть пара решений. Во-первых, некоторые из ролей, которые вы захотите установить, имеют команды зонтиком. Например, если вы хотите установить все роли, относящиеся к IIS, то вы можете использовать Web-Server, наподобие этого:
servermanagercmd 'install Web-Server
Эта команда не только установит IIS, но и также HTTP Errors, ASP, ASP.NET, CGI, Web Security и многое другое.
Ниже приводится пример моей установки веб сервера Windows IIS Web Server с помощью основного параметра команды, который позволяет установить основную роль и все дочерние роли:
Рисунок 4: Установка командных параметров зонтиком
Как вы уже, вероятно, догадались, удаление ролей работает обратно установке ролей. Чтобы удалить роль, просто используйте параметр ‘remove, как тут:
Рисунок 5:Удаление роли Windows Server 2008 с помощью ServerManagercmd.exe
Мне очень нравится возможность ‘what if’ (а что если). С помощью этого параметра, вы можете увидеть, как будет выглядеть установка, в действительности не выполняя установку. Чтобы воспользоваться этим параметром используйте обычный синтаксис команды, но в конце добавьте параметр ‘whatif.
Конечно, вы можете установить возможности Windows Server 2008 Features с помощью ServerManagercmd.exe, а не только роли. Ниже приведен небольшой список возможностей, которые вы можете установить:
(обратите внимание, что это лишь некоторые из множества возможностей, которые вы можете установить)
Самый часто задаваемый вопрос относительно команды ServerManagercmd – могу ли я использовать ее в ядре Windows Server Core (смотри WindowsNetworking.com – Создание ядра Core Longhorn Server)?
К несчастью, ответ — нет. Т.к. ServerManagercmd использует .NET framework, а она не доступна в ядре Windows Server Core, поэтому ServerManagercmd не работает. Однако, работают команды OCSetup и OCList.
Помните также, что вы (или другой администратор) не можете использовать мастера добавления ролей ‘Add Roles Wizard’ и запустить команду ServerManagercmd.exe одновременно. Если вы это сделаете, то получите следующую ошибку:
Рисунок 6:Ошибка при попытке одновременного запуска GUI и CLI
Приложение ServerManagercmd.exe – это очень необходимое средство для любого системного администратора операционной системы Windows. С помощью ServerManagercmd вы можете запрашивать, устанавливать или удалять роли и возможности Windows Server 2008. Это включает небольшие возможности, как клиент телнет, и большие более важные роли, как Windows Active Directory, File Services, DHCP, DNS, Terminal Services и веб сервер IIS Web Server. Хотя ServerManagercmd — это и не GUI инструмент, он такой же функциональный, и может быть даже более быстрым и простым в использовании, после того, как вы его опробуете.
www.windowsnetworking.com
Tags: cgi, dns, domain, Windows 2008