我正在使用C#(Visual Studio 2010)以编程方式创建DHCP预留 .

我已经使用this post中的信息来获取DHCPOBJECTS.DLL . 连接到DHCP服务器效果很好 . 我也可以通过现有预订创建新预订或列举 .

class CDHCP
{
    private Manager dhcpmgr;
    private Server dhcpsrvr;

    public CDHCP()
    {
        dhcpmgr = new Manager();
        dhcpsrvr = dhcpmgr.Servers.Connect("192.168.1.3");
    }

    public void create_reservation(string sName, string sAddress, string sDescription, string sMAC)
    {
        Reservation DHCPReservation = dhcpsrvr.Scopes["192.168.1.0"].Reservation.CreateNew();

        DHCPReservation.Name = sName;
        DHCPReservation.UniqueID = sMAC;
        DHCPReservation.Address = sAddress;
        DHCPReservation.Comment = sDescription;

        DHCPReservation.Update();
    }

    public void get_reservations()
    {
        List<Reservation> reservations = new List<Reservation>();

        for(int i = 1; i <= dhcpsrvr.Scopes.Count; i++)
        {
            for(int j = 1; j <= dhcpsrvr.Scopes[i].Reservations.Count; j++)
            {
                reservations.Add(dhcpsrvr.Scopes[i].Reserations[j]);
            }
        }
    }
}

不幸的是,在创建新预订时,支持的类型始终设置为“both” . 在我们的网络中,我们只能使用DHCP .

任何人都知道如何通过DHCPOBJECTS.DLL将支持的类型设置为DHCP?

EDIT: 好吧,我似乎无法通过DHCPOBJECTS.DLL更改此选项 . 现在我将尝试通过microsoft dhcp server management api实现这一点