Какой способ управления коммутатором выбрать?
===============================================

 Собираюсь написать на C# программу для мониторинга коммутаторов (какие порты активны, включить/отключить заданный порт, работает ли кулер на коммутаторе и т.д.).  
  

Как я понял, управление коммутаторами может осуществляться посредством протоколов SNMP, Telnet, SSH.  
  

Так как раньше с подобными задачами не сталкивался, не знаю, какой лучше из них использовать.  
  

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

Хотелось бы услышать любые советы по этому поводу. 

 SNMP (начните с v2c, если получится, реализуйте v3с повышенной безопасностью) для снятия данных вроде статистики интерфейсов, загрузки процессора и т.д. При помощи SNMP можно попробовать изменять конфигурацию (включить/выключить интерфейс), но в этом случае стоит озаботиться вопросами безопасности (т.е. использовать SNMPv3 с аутентификацией и/или шифрованием). Если что-то не получится сделать через SNMP, то используйте SSH и соответствующие команды cli.  

Касательно telnet, не думаю, что этот протокол вообще стоит использовать в "продакшене" (передача данных происходит открытым текстом).  

Коммутаторы какие используются (вендор/линейка)? 

 На типовые задачи конечно лучше snmp - быстрее ввод, на выходе уже почти структурированная информация. На по сложнее ssh/telnet. Но это если надо будет запускать всякие трейсерты, lookupы, пинги...