我正在使用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实现这一点