원격 데스크톱 서비스 역할이 설치되어 있는지 여부 검색
Win32_ServerFeature WMI 클래스를 사용하여 원격 데스크톱 서비스 서버 역할이 설치되어 있는지 여부를 검색할 수 있습니다.
다음 C# 예제에서는 원격 데스크톱 서비스 서버 역할이 설치되어 실행 중이거나 그렇지 않으면 false 인 경우 True 를 반환하는 메서드를 보여 줍니다. Win32_ServerFeature WMI 클래스는 Windows Server 2008부터만 사용할 수 있으므로 이 코드는 이전 버전의 Windows와 호환되지 않습니다.
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;
}