Я не знаю, что ты там где пишешь, просто доверяю MSDN и вижу положительные результаты собственных экспериментов.
Тебе дан пример работы с IIS при помощи так называемого ADSI (Active Directory Service Interface). В MSDN чёрным по белому написано:
Active Directory Service Interface (ADSI) is a COM-based interface that supports multiples directories and multiple languages such as C++, C#, Java, Visual Basic, and Microsoft Visual Basic Scripting Edition (VBScript). ADSI comes with providers that are used to access servers running systems such as the Microsoft Windows NT(R) Server 4.0 operating system, Novell NetWare 3, Novell NetWare 4, and LDAP.
Важное выделено. Сие означает, что нет никакой разницы, при помощи какого языка программирования формировать сообщения этому
интерфейсу. Т.е. всё должно работать.
Проверяем. Факты - вещь упрямая. Вышеприведённый пример буквально переписывается с VBScript на C# и без всякой ругани о типах прекрасно работает:
using System.DirectoryServices;
namespace ADSITest
{
class Program
{
static void Main()
{
DirectoryEntry IIS = new DirectoryEntry("IIS://localhost/W3SVC");
object[] bindings = new object[] { "127.0.0.1:4000:", ":8000:" };
IIS.Invoke("CreateNewSite", "TestSite", bindings, "C:\\InetPub\\WWWRoot");
}
}
}
Естественно, в references проекта надо добавить System.DirectoryServices.dll.
Ты же продолжаешь мучать WMI, да ещё утилита-кодогенератор какая-то. Хотя, полагаю, в WMI тоже нет никаких проблем, поскольку интерфейс IIS от способа доступа к нему не меняется.
P.S.
А где спортивный интерес?
Спортивного достижения не получилось