Métodos de alterar programaticamente as regras ipsec com c #?

O único método que sei como executar alterações de IPsec envolve chamar netsh para fazer as alterações. Existe um método usando objetos System.Management e WMI diretamente? Se assim for, o que é? Estou tendo dificuldade em encontrar informações relevantes do WMI com o MSDN.

Ou existe algum outro método útil que alguém tenha usado?

EDIT: Estou trabalhando em c # e preferiria exemplos c # em relação às respostas baseadas em .NET System.Management.

Obrigado!