Skip to content

cdituri/xDhcpServer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status

xDhcpServer

The xDhcpServer DSC resources are used for configuring and managing a DHCP server. They include xDhcpServerScope, xDhcpServerReservation, xDhcpServerOptions and xDhcpServerAuthorization.

Contributing

Please check out common DSC Resources contributing guidelines.

Resources

  • xDhcpServerScope sets a scope for consecutive range of possible IP addresses that the DHCP server can lease to clients on a subnet.
  • xDhcpServerReservation sets lease assignments used to ensure that a specified client on a subnet can always use the same IP address.
  • xDhcpServerOptions currently supports setting DNS domain and DNS Server IP Address options at a DHCP server scope level.
  • xDhcpServerAuthorization authorizes a DHCP in Active Directory.
  • This resource must run on an Active Directory domain controller.

xDhcpServerScope

  • IPStartRange: Starting address to set for this scope
  • IPEndRange: Ending address to set for this scope
  • Name: Name of this DHCP Scope
  • SubnetMask: Subnet mask for the scope specified in IP address format
  • LeaseDuration: Time interval for which an IP address should be leased
  • State: Whether scope should be active or inactive.
  • Ensure: Whether DHCP scope should be present or removed
  • ScopeID: Scope Identifier. This is a read-only property for this resource.

xDhcpServerReservation

  • ScopeID: ScopeId for which reservations are set
  • IPAddress: IP address of the reservation for which the properties are modified
  • ClientMACAddress: Client MAC Address to set on the reservation
  • Name: Reservation name
  • AddressFamily: Address family type. Note: at this time, only IPv4 is supported.
  • Ensure: Whether option should be set or removed

xDhcpServerOption

  • ScopeID: ScopeID for which options are set
  • DnsServerIPAddress: IP address of DNS Servers
  • DnsDomain: Domain name of DNS Server
  • AddressFamily: Address family type
  • Ensure: Whether option should be set or removed

xDhcpServerAuthorization

  • Ensure: Whether the DHCP server should be authorized.
  • DnsName: FQDN of the server to authorize. If not specified, it defaults to the local hostname of the enacting node.
  • IPAddress: IP v4 address of the server to authorized. If not specified, it default to the first IPv4 address of the enacting node.

Versions

Unreleased

  • Added xDhcpServerAuthorization resource.
  • Bug Fix LeaseDuration is no longer mandatory for xDhcpServerScope resource.
  • Bug Fix DnsServerIPAddress is no longer mandatory for xDhcpServerOption resource.
  • Bug Fix corrects verbose display output in xDhcpServerOption resource.

1.2

  • Fix "Cannot set default gateway on xDhcpServerOption".

1.1

  • Bug fix, enables creating more than 1 DHCP server scope.

1.0

  • Initial release with the following resources
    • xDhcpServerScope
    • xDhcpServerReservation
    • xDhcpServerOptions

Examples

Creating a DHCP Server Scope

configuration Sample_xDhcpsServerScope_NewScope
{
    Import-DscResource -module xDHCpServer
    xDhcpServerScope Scope
    {
        Ensure = 'Present'
        IPEndRange = '192.168.1.254'
        IPStartRange = '192.168.1.1'
        Name = 'PowerShellScope'
        SubnetMask = '255.255.255.0'
        LeaseDuration = '00:08:00'
        State = 'Active'
        AddressFamily = 'IPv4'
    }
}

Reserving an IP address within a DHCP server

configuration Sample_xDhcpServerReservation_IPReservation
{
    Import-DscResource -module xDHCpServer
    xDhcpServerReservation PullServerIP
    {
        Ensure = 'Present'
        ScopeID = '192.168.1.0'
        ClientMACAddress = '00155D8A54A1'
        IPAddress = '192.168.1.2'
        Name = 'DSCPullServer'
        AddressFamily = 'IPv4'
    }
}

Setting the domain name, DNS server and default gateway option for a DHCP scope

configuration Sample_xDhcpServerOption_SetScopeOption
{
    Import-DscResource -module xDHCpServer
    xDhcpServerOption Option
    {
        Ensure = 'Present'
        ScopeID = '192.168.1.0'
        DnsDomain = 'contoso.com'
        DnsServerIPAddress = '192.168.1.22','192.168.1.1'
        AddressFamily = 'IPv4'
        Router = '192.168.1.1'
    }
}

Authorizing the local DHCP server

configuration Sample_Local_xDhcpServerAuthorization
{
    Import-DscResource -module xDHCpServer
    xDhcpServerAuthorization LocalServerActivation
    {
        Ensure = 'Present'
    }
}

Authorizing a remote DHCP server

configuration Sample_Remote_xDhcpServerAuthorization
{
    Import-DscResource -module xDHCpServer
    xDhcpServerAuthorization RemoteServerActivation
    {
        Ensure = 'Present'
        DnsName = 'servertoauthorize.contoso.com'
        IPAddress = '192.168.0.1'
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PowerShell 100.0%