¿Puede encontrar un grupo primario de usuarios de Active Directory en C #?

Estoy trabajando en una aplicación que administra las cuentas de usuario en Active Directory. Estoy usando el espacio de nombres System.DirectoryServices.AccountManagement siempre que sea posible, pero no puedo averiguar cómo determinar el grupo principal de un usuario. Cuando intento eliminar un grupo que es el grupo principal del usuario, obtengo una excepción. Aquí está mi código actual:

private void removeFromGroup(UserPrincipal userPrincipal, GroupPrincipal groupPrincipal) {
    TODO: Check to see if this Group is the user's primary group.
    groupPrincipal.Members.Remove(userPrincipal);
    groupPrincipal.Save();
}

¿Hay alguna forma de obtener el nombre del grupo primario del usuario para que pueda hacer una validación antes de intentar eliminar al usuario de este grupo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta