Могут ли службы удаленного рабочего стола развертываться и администрироваться с помощью PowerShell без домена в WIndows Server 2012 и 2012 R2?

19

Windows Server 2008 R2 допускает развертывание сервера терминалов (службы удаленных рабочих столов) без домена и без каких-либо требований к доменам. Это было очень полезно, особенно для автономных виртуальных или облачных развертываний сервера, который управляется удаленно для удаленного клиента, которому не нужны или не нужны какие-либо функции ActiveDirectory или Domain.

Это становится все более и более трудным, поскольку Microsoft все больше и больше ограничивает свои технологии в каждом выпуске Windows. В Windows Server 2012 настройка лицензирования для служб удаленных рабочих столов становится более сложной, если не в домене, но все же возможна. В Windows Server 2012 R2 (по крайней мере, в предварительном просмотре) барьеры теперь серьезны:

  1. Мастер добавления / удаления ролей и компонентов в Windows Server 2012 R2 имеет специальный режим развертывания RDS, в котором есть правило, которое говорит, что если вы не находитесь в домене, который вы не можете развернуть. Он говорит вам сначала создать домен или присоединиться к нему. Это, конечно, вступает в прямой конфликт с тем фактом, что контроллер домена Active Directory не должен быть той же машиной, что и машина сервера терминалов. Таким образом, технология Microsoft - это не столько облачная операционная система, сколько кластер нежелательных узлов, необходимый для поддержки одной машины, которую я действительно хочу развернуть. Это грубо, и поэтому я пытаюсь найти обходной путь.

  2. Однако, если вы пропустите этот мастер и просто установите флажки в главном мастере ролей / компонентов, вы сможете развернуть компоненты, но пользовательский интерфейс не для их настройки, а когда вы вернетесь на страницу конфигурации RDS в мастере ролей. , вы получите сообщение о том, что вы не можете администрировать свою систему служб удаленных рабочих столов, когда вы вошли в систему как администратор локального компьютера, потому что, хотя у вас есть все привилегии администратора, которые у вас могут быть (в вашей системе на основе рабочей группы), пользовательский интерфейс конфигурации RDS будет не принимать эти учетные данные и позволить вам продолжить.

Вкратце мой вопрос: могу ли я как-нибудь получить следующий конечный результат:

  • Мне нужно разрешить 10-20 пользователям на систему иметь сеанс RDS (TS).
  • Мне не нужны какие-либо модные штаны RDS, если только Microsoft каким-то образом не зависит от наличия этих функций. Я считаю, что мне нужен "RDS Session Host", так как это внутренности "Terminal Server". Microsoft говорит, что это «полный рабочий стол Windows для клиента Remote Desktop Services.
  • Мне нужно настроить лицензирование так, чтобы льготный период не истекал, а мой RDS не работал, поэтому это, вероятно, означает, что мне нужен способ настройки клиентских лицензий TS.

Если бы все вышеперечисленное технически могло быть выполнено технически при разумном использовании PowerShell, я готов даже рассмотреть возможность разработки всех сценариев PowerShell, которые мне понадобятся для выполнения вышеизложенного. Я не прошу кого-то написать это для меня. Я спрашиваю: кто-нибудь знает, есть ли какие-то технические препятствия для того, что я хочу сделать выше, кроме преднамеренного искажения пользовательского интерфейса 2012 R2 для пользователей рабочей группы? Будут ли все базовые технологии работать, если я буду манипулировать ими и контролировать их из сценария PowerShell?

Очевидно, что одно слово «да» или «нет» не слишком полезно для кого-либо, поэтому вопрос действительно, да или нет, и почему? В случае, если ответ да, то как.

Уоррен П
источник
Похоже, что Microsoft сделала все возможное, чтобы сделать это невозможным, и ответ НЕТ, Microsoft сказала: «Винт, люди».
Уоррен П
Вы получили сообщение от MSFT о том, что это невозможно / выполнимо?
Матиас Р. Йессен
Вам нужны полные службы удаленных рабочих столов или достаточно удаленного рабочего стола? есть по умолчанию 1 или 2 ограничения пользователя или что - то, но я видел пути , используя либо групповую политику или гм модифицированные библиотеки , которые позволяют более .. не уверено , если они работают на 2012 год ... или если предложение даже ассигновать в ваших обстоятельствах ..
Джон Клоске
@JonKloske технически, что ограничение 2 пользователей для администраторов , а не пользователей
MDMoore313
@ MDMoore313 - ссылка или этого не произошло :) technet.microsoft.com/en-us/library/cc753380.aspx и миллион других ссылок, все говорят, без роли хоста сеансов удаленных рабочих столов, 2 - максимальный удаленный предел. Ссылка на то, что поддерживает вашу заявку, или удалите ее, чтобы избежать путаницы!
Джон Клоске

Ответы:

10

Я оказался в том же сценарии, что и вы. Развертывание удаленного рабочего стола на автономном сервере Server 2012 довольно сложно, потому что ребята из Microsoft не разрешают вам запускать его в сети без домена, а если нет, вы не можете управлять всеми настройками.

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

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

Вот так:

  1. Установите службы лицензирования удаленных рабочих столов и службы роли Узел сеансов удаленных рабочих столов, выполнив следующие действия:

    • Диспетчер открытых серверов
    • Нажмите «Управление» и выберите «Добавить роли и компоненты».
    • Выберите установку на основе ролей или компонентов
    • В разделе «Службы удаленного рабочего стола» выберите «Службы роли« Лицензирование удаленного рабочего стола »и« Узел сеансов удаленных рабочих столов ».
    • Продолжить установку
  2. Добавьте сервер лицензий в группу серверов лицензий сервера терминалов и перезапустите службу удаленного рабочего стола (вы можете использовать licmgr.exe)

  3. Добавьте лицензии на сервер лицензий.

  4. Настройте роль узла сеансов удаленных рабочих столов для использования локального сервера лицензирования удаленных рабочих столов. Следуй этим шагам:

    • Откройте PowerShell от имени администратора
    • Введите следующую команду в командной строке PS и нажмите Enter:

$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting

Выполните следующую команду, чтобы установить режим лицензирования (Примечание: значение = 2 для каждого устройства, значение = 4 для каждого пользователя, мы используем для каждого пользователя)

$obj.ChangeMode(4)

Выполните следующую команду, чтобы заменить имя компьютера на сервер лицензий ( mylicenseserverэто имя вашего сервера):

$obj.SetSpecifiedLicenseServerList("mylicenseserver")

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

$obj.GetSpecifiedLicenseServerList()

Вы должны увидеть имя сервера в выводе.

После этого перезагрузите систему и войдите в систему с любым пользователем (если вы используете рабочую группу, вы знаете, что ваши пользователи должны быть в ней Remote Desktop Users), и сообщение о пробном периоде исчезнет.

Источник всего этого беспорядка: http://support.microsoft.com/kb/2833839

Управление с Powershell

Есть несколько вещей, с которыми вы можете справиться Powershell. Чтобы увидеть команды попробуйте:

import-module RemoteDesktop get-command -module RemoteDesktop

Существует список команд, которые вы можете выполнять через Powershell для управления вашим ящиком. Однако я пробовал несколько, но некоторые из них требуют, чтобы у вас были установлены дополнительные функции, которые нельзя развернуть в сценарии, о котором мы говорим.

Уродливый путь

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

Чтобы сбросить счетчик, просто удалите этот раздел реестра:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Grace Period

Конечно, для этого вам понадобятся дополнительные привилегии, выполнение regeditот имени администратора не будет работать. Попробуй это:

  • Получить PSEXEC
  • Запустите cmd как администратор
  • бегать psexec -s -i regedit.exe
  • удалить нужный ключ
  • перезагрузка

Надеюсь, что это работает для вас. Если вы добились определенных успехов с Powershell и RDS, сообщите нам.

ojovirtual
источник
Я заметил, что в Win Server 2012 R2 они идут на все, чтобы заблокировать вас от этого ключа. Спасибо за совет PSEXEC!
Уоррен П
1
Я думаю, что лучшим решением будет просто перестать пытаться использовать продукты Microsoft, поскольку они идут на все, чтобы не позволить малым предприятиям (которые платят за их продукты) использовать продукты Microsoft для достижения того, чего они хотят, для управления своим бизнесом. Очевидно, что Microsoft заботится только о крупных корпоративных развертываниях, где интеграция с активными каталогами и системы корпоративного лицензирования значительно облегчают их работу за дополнительную плату за функциональность сервера терминалов.
Уоррен П
Как добавить сервер лицензий в группу серверов лицензий сервера терминалов? Я не вижу никакого способа сделать это в licmgr.exe.
Shackrock
6

Когда я настраивал среду в лаборатории, чтобы попробовать это (простое развертывание RDS без домена), я нашел ответ на ваш вопрос, хотя это не тот вопрос, который вы хотели бы услышать.

RDS в [Server 2012 и 2012 R2] требует, чтобы все его серверы были добавлены в домен . Это, по словам менеджера программы Microsoft в группе виртуализации удаленных рабочих столов, написавшей связанную статью блога MSDN, «Настройка нового развертывания служб удаленных рабочих столов с использованием Windows PowerShell».

Итак, извините, что это не тот ответ, который вы хотели, но он выглядит достаточно авторитетным для меня. Вы не можете делать то, что хотите, потому что Microsoft решила сделать членство в домене техническим требованием для серверов RDS в Server 2012 и 2012 R2.

HopelessN00b
источник
Это было придурком для Microsoft. Мое чтение также имеет тенденцию идти по вашим линиям; Microsoft намеревалась объединить несколько систем «получения денег от клиентов» (лицензирование RDS CAL и централизация лицензирования на основе доменов). Те, кто хочет использовать автономные терминальные серверы рабочей группы, остаются на пике.
Уоррен П
1

Во время тестирования я обнаружил, что важно иметь хотя бы 1 сетевой адаптер с настроенным IPv6. Это было необходимо в качестве обратной петли, чтобы сервер лицензий RDS говорил с самим собой, что он пытался разрешить через IPv6, чтобы сделать это (как видно из Pings). У меня был отключен IPv6 на обеих сетевых картах, и это привело к неправильной обратной связи сервера.

JDub
источник