samples/Sample_WS2016_DomainFunctions.xml

<?xml version="1.0" encoding="utf-8"?>
 
<labbuilderconfig xmlns="labbuilderconfig"
                  name="LBFUNCTIONS.LOCAL"
                  version="1.0" >
  <description>Simple Windows Server 2016 Lab Configuration creating an AD DC, DHCP Server, Edge Server, Root CA, SQL Server 2016 and File Server.</description>
 
  <settings labid="LBFUNCTIONS.LOCAL "
            domainname="LBFUNCTIONS.LOCAL"
            email="daniel@LBFUNCTIONS.LOCAL"
            labpath="c:\vm\LBFUNCTIONS.LOCAL" />
 
  <resources isopath="ISOFiles">
    <iso name="SQL2016_Full_ENU"
       path="SQLServer2016-x64-ENU.iso"
       url="https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2016" />
  </resources>
 
  <switches managementvlan="97">
    <switch name="General Purpose External" type="External" />
    <switch name="Domain Private" type="Private" />
  </switches>
 
  <templatevhds isopath="ISOFiles"
                vhdpath="VHDFiles"
                prefix="" >
    <templatevhd name="Windows Server 2016 Datacenter Full"
                 iso="14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO"
                 url="https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016"
                 vhd="Windows Server 2016 Datacenter Full.vhdx"
                 edition="Windows Server 2016 SERVERDATACENTER"
                 ostype="Server"
                 vhdformat="vhdx"
                 vhdtype="dynamic"
                 generation="2"
                 vhdsize="40GB" />
    <templatevhd name="Windows Server 2016 Datacenter CORE"
                 iso="14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO"
                 url="https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016"
                 vhd="Windows Server 2016 Datacenter Core.vhdx"
                 edition="Windows Server 2016 SERVERDATACENTERCORE"
                 ostype="Server"
                 vhdformat="vhdx"
                 vhdtype="dynamic"
                 generation="2"
                 vhdsize="25GB" />
  </templatevhds>
 
  <templates>
    <template name="Template Windows Server 2016 Datacenter Full"
              templatevhd="Windows Server 2016 Datacenter Full"
              memorystartupbytes="1GB"
              processorcount="1"
              administratorpassword="P@ssword!1"
              timezone="New Zealand Standard Time"
              ostype="Server" />
    <template name="Template Windows Server 2016 Datacenter CORE"
              templatevhd="Windows Server 2016 Datacenter CORE"
              memorystartupbytes="1GB"
              processorcount="1"
              administratorpassword="P@ssword!1"
              timezone="New Zealand Standard Time"
              ostype="Server" />
  </templates>
 
  <vms>
    <vm name="SA-DC1"
        template="Template Windows Server 2016 Datacenter Full"
        computername="SA-DC1"
        bootorder="1">
      <dsc configname="DC_FORESTPRIMARY"
           configfile="DC_FORESTPRIMARY.DSC.ps1"
           logging="Y">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          InstallRSATTools = $true
          Forwarders = @('8.8.8.8','8.8.4.4')
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.10"
                defaultgateway="192.168.128.19"
                subnetmask="24"
                dnsserver="192.168.128.10"/>
          <ipv6 address="fd53:ccc5:895a:bc00::a"
                defaultgateway="fd53:ccc5:895a:bc00::13"
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a"/>
        </adapter>
      </adapters>
    </vm>
 
    <vm name="SA-DHCP1"
        template="Template Windows Server 2016 Datacenter Full"
        computername="SA-DHCP1"
        bootorder="2">
      <dsc configname="MEMBER_DHCP"
           configfile="MEMBER_DHCP.DSC.ps1">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          DCName = "SA-DC1"
          PSDscAllowDomainUser = $true
          Scopes = @(
              @{ Name = 'LBFUNCTIONS.LOCAL Primary';
                 Start = '192.168.128.50';
                 End = '192.168.128.254';
                 SubnetMask = '255.255.255.0';
                 AddressFamily = 'IPv4'
              }
            )
          Reservations = @(
              @{ Name = 'SA-DC1';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '000000000000';
                 IPAddress = '192.168.128.10';
                 AddressFamily = 'IPv4'
              },
              @{ Name = 'SA-DHCP1';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '000000000002';
                 IPAddress = '192.168.128.16';
                 AddressFamily = 'IPv4'
              },
              @{ Name = 'SA-EDGE1';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '000000000005';
                 IPAddress = '192.168.128.19';
                 AddressFamily = 'IPv4'
              },
              @{ Name = 'SA-ROOTCA';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '000000000007';
                 IPAddress = '192.168.128.23';
                 AddressFamily = 'IPv4'
              },
              @{ Name = 'SA-FS1';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '00000000000A';
                 IPAddress = '192.168.128.24';
                 AddressFamily = 'IPv4'
              },
              @{ Name = 'SA-SQL1';
                 ScopeID = '192.168.128.0';
                 ClientMACAddress = '000000000007';
                 IPAddress = '192.168.128.50';
                 AddressFamily = 'IPv4'
              }
            )
          ScopeOptions = @(
              @{ ScopeID = '192.168.128.0';
                 DNServerIPAddress = @('192.168.128.10');
                 Router = '192.168.128.19';
                 AddressFamily = 'IPv4'
              }
            )
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.16"
                defaultgateway="192.168.128.19"
                subnetmask="24"
                dnsserver="192.168.128.10"/>
          <ipv6 address="fd53:ccc5:895a:bc00::10"
                defaultgateway="fd53:ccc5:895a:bc00::13"
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a"/>
        </adapter>
      </adapters>
    </vm>
 
    <vm name="SA-EDGE1"
      template="Template Windows Server 2016 Datacenter Full"
      computername="SA-EDGE1"
      bootorder="3">
      <dsc configname="MEMBER_REMOTEACCESS"
           configfile="MEMBER_REMOTEACCESS.DSC.ps1">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          DCName = "SA-DC1"
          PSDscAllowDomainUser = $true
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.19"
                defaultgateway=""
                subnetmask="24"
                dnsserver="192.168.128.10"/>
          <ipv6 address="fd53:ccc5:895a:bc00::13"
                defaultgateway=""
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a"/>
        </adapter>
        <adapter name="General Purpose External"
                 switchname="General Purpose External" />
      </adapters>
      <datavhds>
        <datavhd vhd="ToolsDisk.vhdx" type="dynamic" size="10GB" partitionstyle="GPT" filesystem="NTFS" filesystemlabel="ToolsDisk" />
      </datavhds>
    </vm>
 
    <vm name="SA-ROOTCA"
      template="Template Windows Server 2016 Datacenter Full"
      computername="SA-ROOTCA"
      bootorder="3">
      <dsc configname="MEMBER_ROOTCA"
           configfile="MEMBER_ROOTCA.DSC.ps1"
           logging="Y">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          DCName = "SA-DC1"
          PSDscAllowDomainUser = $true
          InstallOnlineResponder = $true
          InstallEnrollmentWebService = $true
          CACommonName = "LBFUNCTIONS.LOCAL Root CA"
          CADistinguishedNameSuffix = "DC=LABBUILDER,DC=COM"
          CRLPublicationURLs = "1:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n74:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://pki.LBFUNCTIONS.LOCAL/CertEnroll/%3%8%9.crl"
          CACertPublicationURLs = "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11\n2:http://pki.LBFUNCTIONS.LOCAL/CertEnroll/%1_%3%4.crt\n32:http://pki.LBFUNCTIONS.LOCAL/ocsp"
          CRLPeriodUnits = 52
          CRLPeriod = 'Weeks'
          CRLOverlapUnits = 12
          CRLOverlapPeriod = 'Hours'
          ValidityPeriodUnits = 10
          ValidityPeriod = 'Years'
          AuditFilter = 127
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.23"
                defaultgateway="192.168.128.19"
                subnetmask="24"
                dnsserver="192.168.128.10"/>
          <ipv6 address="fd53:ccc5:895a:bc00::17"
                defaultgateway="fd53:ccc5:895a:bc00::13"
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a"/>
        </adapter>
      </adapters>
    </vm>
 
  <vm name="SA-FS1"
        template="Template Windows Server 2016 Datacenter CORE"
        computername="SA-FS1">
      <datavhds>
        <datavhd vhd="LABBUILDER.COM SA-FS1 Data Disk.vhdx" size="10GB" type="dynamic" />
      </datavhds>
      <dsc configname="MEMBER_FILESERVER"
           configfile="MEMBER_FILESERVER.DSC.ps1"
           logging="Y">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          DCName = "SA-DC1"
          PSDscAllowDomainUser = $true
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.24"
                defaultgateway="192.168.128.19"
                subnetmask="24"
                dnsserver="192.168.128.10,192.168.128.11"/>
          <ipv6 address="fd53:ccc5:895a:bc00::18"
                defaultgateway="fd53:ccc5:895a:bc00::13"
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a,fd53:ccc5:895a:bc00::b"/>
        </adapter>
      </adapters>
    </vm>
 
  <vm name="SA-SQL1"
      template="Template Windows Server 2016 Datacenter Full"
      computername="SA-SQL1"
      bootorder="4">
      <dsc configname="MEMBER_SQLSERVER2016"
           configfile="MEMBER_SQLSERVER2016.DSC.ps1">
        <parameters>
          DomainName = "LBFUNCTIONS.LOCAL"
          DomainAdminPassword = "P@ssword!1"
          DCName = "SA-DC1"
          PSDscAllowDomainUser = $true
          InstallerUsername = 'Administrator'
          InstallerPassword = 'P@ssword!1'
          SQLAdminAccount = 'Administrator'
          SQLDataDrive = 'E'
          SourcePath = 'D:\'
          SourceFolder = ''
          Instances = @(
            @{
              Name = 'MSSQLSERVER'
              Features = 'SQLENGINE,FULLTEXT,RS,AS,IS'
            }
          )
        </parameters>
      </dsc>
      <adapters>
        <adapter name="Domain Private"
                 switchname="Domain Private">
          <ipv4 address="192.168.128.50"
                defaultgateway="192.168.128.19"
                subnetmask="24"
                dnsserver="192.168.128.10"/>
          <ipv6 address="fd53:ccc5:895a:bc00::50"
                defaultgateway="fd53:ccc5:895a:bc00::13"
                subnetmask="64"
                dnsserver="fd53:ccc5:895a:bc00::a"/>
        </adapter>
      </adapters>
      <datavhds>
        <datavhd vhd="SQLData.vhdx" type="dynamic" size="10GB" partitionstyle="GPT" filesystem="NTFS" filesystemlabel="SQLData" />
      </datavhds>
      <dvddrives>
        <dvddrive iso="SQL2016_Full_ENU" />
      </dvddrives>
    </vm>
  </vms>
 
</labbuilderconfig>