static void DumpScope(IDhcpServerScope scope) { Console.WriteLine($" {scope.Address}"); Console.WriteLine($" IP Range: {scope.IpRange}"); Console.WriteLine($" Mask: {scope.Mask}"); Console.WriteLine($" State: {scope.State}"); Console.WriteLine($" Name: {scope.Name}"); Console.WriteLine($" Comment: {scope.Comment}"); Console.WriteLine($" Primary Host: {scope.PrimaryHost}"); Console.WriteLine($" Lease Duration: {scope.LeaseDuration?.ToString() ?? "Unlimited"}"); Console.WriteLine($" Delay Offer: {scope.TimeDelayOffer.TotalMilliseconds} milliseconds"); Console.WriteLine($" Quarantine On: {scope.QuarantineOn}"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Excluded IP Ranges:"); Console.ForegroundColor = ConsoleColor.Gray; foreach (var ipRange in scope.ExcludedIpRanges) { Console.WriteLine($" {ipRange}"); } Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Options:"); Console.ForegroundColor = ConsoleColor.Gray; foreach (var value in scope.Options.ToList()) { Console.WriteLine($" {value}"); } Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Reservations:"); Console.ForegroundColor = ConsoleColor.Gray; foreach (var reservation in scope.Reservations.ToList()) { Console.WriteLine($" {reservation}"); Console.WriteLine($" Client: {reservation.Client}"); Console.WriteLine(" Options:"); Console.ForegroundColor = ConsoleColor.Gray; foreach (var value in reservation.Options.ToList()) { Console.WriteLine($" {value}"); } } Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Clients:"); Console.ForegroundColor = ConsoleColor.Gray; foreach (var client in scope.Clients.ToList()) { Console.WriteLine($" {client}"); } }
/// <summary> /// Deletes the specified scope /// </summary> /// <param name="scope">The scope to be deleted</param> /// <param name="retainClientDnsRecords">If true registered client DNS records are not removed. Useful in failover scenarios. Default = false</param> public void RemoveScope(IDhcpServerScope scope, bool retainClientDnsRecords = false) => scope.Delete(retainClientDnsRecords);