Проверьте с помощью .NET, установлены ли службы удаленных рабочих столов (RDS) / Узел сеансов удаленных рабочих столов (RDSH) на Windows Server - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужно определить с помощью .NET, установлен ли хост сеанса удаленного рабочего стола в Windows 2008 - 2019 как часть средства проверки обязательных компонентов для нашего продукта.Невозможно установить некоторые детали в режиме исполнения на RDS-сервере, поэтому я должен сказать пользователю, что он должен перейти в режим установки ...

1 Ответ

0 голосов
/ 07 февраля 2019

Начиная с Windows Server 2008, вы можете проверить, установлена ​​ли роль RDS или нет, с помощью следующего типа кода:

static void Main(string[] args)
{
    // 14 is the identifier of the Remote Desktop Services role.
    HasServerFeatureById(14);
}

static bool HasServerFeatureById(UInt32 roleId)
{
    try
    {
        ManagementClass serviceClass = new ManagementClass("Win32_ServerFeature");
        foreach (ManagementObject feature in serviceClass.GetInstances())
        {
            if ((UInt32)feature["ID"] == roleId)
            {
                return true;
            }
        }

        return false;
    }
    catch (ManagementException)
    {
        // The most likely cause of this is that this is being called from an 
        // operating system that is not a server operating system.
    }

    return false;
}

Ссылка: Определение, установлена ​​ли роль служб удаленных рабочих столов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...