<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Windows Deployment Services on gal.vin</title>
    <link>https://gal.vin/tags/windows-deployment-services/</link>
    <description>Recent content in Windows Deployment Services on gal.vin</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>&amp;copy;{year}, All Rights Reserved</copyright>
    <lastBuildDate>Sat, 28 Apr 2018 22:42:43 +0000</lastBuildDate>
    <sy:updatePeriod>daily</sy:updatePeriod>
    
        <atom:link href="https://gal.vin/tags/windows-deployment-services/index.xml" rel="self" type="application/rss+xml" />
    

      
      <item>
        <title>Installing and Configuring Windows Deployment Services for PXE Booting with Windows Server</title>
        <link>https://gal.vin/wds-pxe-booting-windows-server-walkthrough/</link>
        <pubDate>Sat, 28 Apr 2018 22:42:43 +0000</pubDate>
        
        <atom:modified>Sat, 28 Apr 2018 22:42:43 +0000</atom:modified>
        <guid>https://gal.vin/wds-pxe-booting-windows-server-walkthrough/</guid>
        <description>Windows Deployment Services can not be installed on Windows Server Core unfortunately - it still requires a Windows Server install with a GUI (Desktop Experience). Luckily we can still install it using PowerShell and the command line. In this post I&amp;rsquo;ll go through the initial steps on how to deploy and configure a WDS server using command line and PowerShell.
Installing Windows Server Boot the server from the Windows Server media and on the &amp;ldquo;Select the Operating System you want to install&amp;rdquo; screen, select the option &amp;ldquo;Windows Server Standard&amp;rdquo; or &amp;ldquo;Datacenter&amp;rdquo; edition with &amp;ldquo;Desktop Experience&amp;rdquo; in brackets.</description>
        <content:encoded>&lt;p&gt;Windows Deployment Services can not be installed on Windows Server Core unfortunately - it still requires a Windows Server install with a GUI (Desktop Experience). Luckily we can still install it using PowerShell and the command line. In this post I&amp;rsquo;ll go through the initial steps on how to deploy and configure a WDS server using command line and PowerShell.&lt;/p&gt;
&lt;h2 id=&#34;installing-windows-server&#34;&gt;Installing Windows Server&lt;/h2&gt;
&lt;p&gt;Boot the server from the Windows Server media and on the &amp;ldquo;Select the Operating System you want to install&amp;rdquo; screen, select the option &amp;ldquo;Windows Server Standard&amp;rdquo; or &amp;ldquo;Datacenter&amp;rdquo; edition with &amp;ldquo;Desktop Experience&amp;rdquo; in brackets.&lt;/p&gt;
&lt;p&gt;Please note: You can no longer add and remove the GUI (Desktop Experience) with Windows Server 2016 onwards as you could with Windows Server 2012/2012 R2. This is due to numerous problems with keeping the installation and removal process consistent with updates. With Windows Server 2016 and above the only way to add or remove the GUI is to re-install and select one of the server editions with the &amp;ldquo;Desktop Experience&amp;rdquo; option.&lt;/p&gt;
&lt;h2 id=&#34;initial-configuration&#34;&gt;Initial Configuration&lt;/h2&gt;
&lt;p&gt;Once the install process has completed, you will be prompted to set the Administrator password.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set the local &amp;ldquo;Administrator&amp;rdquo; password.&lt;/li&gt;
&lt;li&gt;Log in to Windows as the Administrator user.&lt;/li&gt;
&lt;li&gt;Open an elevated command prompt by pressing &amp;ldquo;Win + X&amp;rdquo; and selecting &amp;ldquo;Command Prompt (Admin)&amp;rdquo; from the menu.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;sconfig&lt;/code&gt; to get the Server Configuration menu.&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;ll need to configure at least the Network Settings - IP address, subnet mask, gateway, and DNS.&lt;/li&gt;
&lt;li&gt;You may want to enable Remote Desktop.&lt;/li&gt;
&lt;li&gt;Add the server to the domain - you&amp;rsquo;ll be asked if you&amp;rsquo;d like to change the computer name, and prompted to restart the server.&lt;/li&gt;
&lt;li&gt;After the restart, log in as a user with administrator privileges to the server.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Important note: Windows Server 2016 shipped with a bug that causes it to fail to get updates from WSUS out of the box. To work around it you should update directly from the internet or download and install the latest Cumulative Update for Windows Server 2016, which at the time of writing is &lt;a href=&#34;https://www.catalog.update.microsoft.com/Search.aspx?q=KB4093120&#34;&gt;KB4093120, download here.&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;additional-storage-configuration&#34;&gt;Additional Storage Configuration&lt;/h2&gt;
&lt;p&gt;You may want to configure additional locally attached disks or iSCSI/MPIO storage. Creating new volumes that are locally attached can be done via the &lt;code&gt;diskpart&lt;/code&gt; command line tool. Below are the commands to create a new, NTFS formatted volume, with the drive letter of &lt;code&gt;E:\&lt;/code&gt; and the name &amp;ldquo;Data&amp;rdquo;, from a second disk in the server using the &lt;code&gt;diskpart&lt;/code&gt; tool. First, run &lt;code&gt;diskpart&lt;/code&gt; from the command line, then use the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;list disk
select disk 1
online disk
attributes disk clear readonly
clean
convert mbr -or gpt
create partition primary
select part 1
active
format fs=ntfs label=&amp;#34;Data&amp;#34; quick
assign letter E:
list volume
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The MPIO feature must be installed before the tool is available. You can do this via PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Install-WindowsFeature&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Multipath-IO&amp;#39;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When MPIO is installed you can load the MPIO utility using &lt;code&gt;mpiocpl&lt;/code&gt;. For the iSCSI utility you can use &lt;code&gt;iscsicpl&lt;/code&gt;. iSCSI is installed as part of the base Windows Server feature set.&lt;/p&gt;
&lt;h2 id=&#34;install-windows-deployment-services-wds&#34;&gt;Install Windows Deployment Services (WDS)&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve just logged on to the server, open an elevated command prompt as before, by pressing &amp;ldquo;Win + X&amp;rdquo; and selecting &amp;ldquo;Command Prompt (Admin)&amp;rdquo; from the menu. Type &amp;ldquo;PowerShell&amp;rdquo; into the command line window before running any of the commands below.&lt;/p&gt;
&lt;p&gt;First we need to install the WDS feature:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Install-WindowsFeature&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;WDS&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now we need to run some post install tasks. The following command will initialize the WDS server and use the &lt;code&gt;E:\&lt;/code&gt; drive to store it&amp;rsquo;s content.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;n&#34;&gt;wdsutil&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;initialize-server&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;server&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SERVER-NAME&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reminst&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;E:\RemoteInstall&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;WDS is now installed and the initial configuration is complete, but some further configuration is required via the WDS Microsoft Management Console (MMC).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the server as a user with administrator privileges.&lt;/li&gt;
&lt;li&gt;Open the &amp;ldquo;Windows Deployment Services MMC&amp;rdquo; under &amp;ldquo;Windows Administrative Tools&amp;rdquo; in the Start Menu.&lt;/li&gt;
&lt;li&gt;Expand the &amp;ldquo;Servers&amp;rdquo; node and Right click on the &lt;code&gt;server-name.contoso.com&lt;/code&gt; and select &amp;ldquo;Properties&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;PXE Response&amp;rdquo; tab select the &amp;ldquo;Respond to all client computers (known and unknown)&amp;rdquo; do not tick the &amp;ldquo;Require administrator approval option&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Apply&amp;rdquo; and close the window.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;adding-a-pxe-boot-image-from-microsoft-deployment-toolkit&#34;&gt;Adding a PXE Boot Image from Microsoft Deployment Toolkit&lt;/h2&gt;
&lt;p&gt;To add a &amp;lsquo;LiteTouch&amp;rsquo; boot image from MDT to WDS:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the server as a user with administrator privileges.&lt;/li&gt;
&lt;li&gt;Open the &amp;ldquo;Windows Deployment Services MMC&amp;rdquo; under &amp;ldquo;Windows Administrative Tools&amp;rdquo; in the Start Menu.&lt;/li&gt;
&lt;li&gt;Navigate to &amp;ldquo;Servers&amp;rdquo; &amp;gt; &lt;code&gt;server-name.contoso.com&lt;/code&gt; &amp;gt; &amp;ldquo;Boot Images&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Right click in the empty window, and select &amp;ldquo;Add Boot Image&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Navigate to the &amp;ldquo;Boot&amp;rdquo; folder in the deployment share of MDT and select &lt;code&gt;LiteTouchPE_x64.wim&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Complete the wizard.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To test the new boot image, create a new VM in Hyper-V with the following configuration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generation 1&lt;/li&gt;
&lt;li&gt;2x vCPUs&lt;/li&gt;
&lt;li&gt;4GB of RAM&lt;/li&gt;
&lt;li&gt;Legacy Network Adapter with access the local network.&lt;/li&gt;
&lt;li&gt;Virtual Hard Drive of at least 80GB.&lt;/li&gt;
&lt;li&gt;Boot from the legacy Network Adapter.&lt;/li&gt;
&lt;li&gt;If using Hyper-V on Windows 10 1709 and above, make sure &amp;ldquo;Use Automatic Checkpoints&amp;rdquo; is disabled.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Start the Virtual Machine and you should be prompted to press F12 to boot and the deployment environment should start just as if you were booting from the &lt;code&gt;LiteTouchPE_x64.iso&lt;/code&gt;. If the VM is not booting from the network, it could be that the VM is on a different VLAN. To enable PXE booting on different VLANs you&amp;rsquo;ll need to add the IP address of the WDS server as a IP helper address on each VLAN on the routing switch.&lt;/p&gt;
&lt;h2 id=&#34;configuration-for-bios-and-uefi-clients&#34;&gt;Configuration for BIOS and UEFI Clients&lt;/h2&gt;
&lt;p&gt;If you have a mixture of devices with both BIOS and UEFI firmware that you wish to PXE boot, some additional configuration may be required depending on the network and versions of DHCP and WDS. On a network with a Windows Server 2016 DHCP server, WDS server and Cisco switches with a helper address configured, I haven&amp;rsquo;t needed to do this configuration but I wanted to include it for completeness. Your mileage may vary. Most of the following information is from a very helpful video from &lt;a href=&#34;https://youtu.be/k5E97ndlRog&#34;&gt;BranchCache Bob - here&amp;rsquo;s the video&lt;/a&gt;. It is assumed that you have a Microsoft Windows Server running DHCP. The first thing to do is to define the vendor classes for both the BIOS PXE Client and the UEFI PXE Client.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &amp;ldquo;DHCP&amp;rdquo;, right-click on &amp;ldquo;IPv4&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In the &amp;ldquo;DHCP Vendor Classes&amp;rdquo; window, click Add&lt;/li&gt;
&lt;li&gt;For the &amp;ldquo;Name&amp;rdquo; enter &amp;ldquo;PXEClient (UEFI x86)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;For the &amp;ldquo;Description&amp;rdquo; enter whatever you want&lt;/li&gt;
&lt;li&gt;Under the &amp;ldquo;ASCII&amp;rdquo; text enter &lt;code&gt;PXEClient:Arch:00006&lt;/code&gt; - Important Note: you will not be able to paste this text, and it&amp;rsquo;s also case-sensitive&lt;/li&gt;
&lt;li&gt;Click OK to add it to the list&lt;/li&gt;
&lt;li&gt;Now repeat steps 2 - 6 for &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; with &lt;code&gt;PXEClient:Arch:00007&lt;/code&gt; as the ASCII value.&lt;/li&gt;
&lt;li&gt;Finally, repeat steps 2 - 6 for &amp;ldquo;PXEClient (BIOS x86 &amp;amp; x64)&amp;rdquo; with &lt;code&gt;PXEClient:Arch:00000&lt;/code&gt; (five zero&amp;rsquo;s) as the ASCII value.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;or using PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00007&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00006&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00000&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You should now have three additional vendor classes.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://gal.vin/media/dhcp-vendor-classes.webp&#34; alt=&#34;DHCP Vendor Classes&#34; /&gt;&lt;/p&gt;
&lt;p&gt;Now we need to create policies in DHCP so that the correct files are served to the correct clients. You will need to do this for each DHCP scope.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &amp;ldquo;DHCP&amp;rdquo; and expand the scope you wish to create a policy for&lt;/li&gt;
&lt;li&gt;Right-click on &amp;ldquo;Policies&amp;rdquo; and choose &amp;ldquo;New Policy&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Enter &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; for the name&lt;/li&gt;
&lt;li&gt;Enter a &amp;ldquo;Description&amp;rdquo;, or leave it blank. Click Next&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure Conditions for the policy&amp;rdquo; screen, click Add&lt;/li&gt;
&lt;li&gt;In the &amp;ldquo;Add/Edit Condition&amp;rdquo; window, click the &amp;ldquo;Value:&amp;rdquo; drop down menu&lt;/li&gt;
&lt;li&gt;Choose the &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; vendor class you created earlier&lt;/li&gt;
&lt;li&gt;Tick the &amp;ldquo;Append wildcard&amp;rdquo; check box and then click Add and finally OK&lt;/li&gt;
&lt;li&gt;Click Next on the &amp;ldquo;Configure Conditions for the policy&amp;rdquo; screen&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure settings for the policy&amp;rdquo; screen, click No for the &amp;ldquo;Do you want to configure an IP address range for the policy&amp;rdquo;. Click Next&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Please Note:&amp;rdquo; if DHCP is on the same server as WDS, you will need to set option 060, if WDS is on a different server, you do not need to set option 060&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure settings for the policy&amp;rdquo; screen, scroll down until you see options &amp;ldquo;060&amp;rdquo; (if applicable), &amp;ldquo;066&amp;rdquo; and &amp;ldquo;067&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;060&amp;rdquo; and enter &amp;ldquo;PXEClient&amp;rdquo; if applicable&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;066&amp;rdquo; and enter either the FQDN or the IP address of the WDS server.&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;067&amp;rdquo; and enter &lt;code&gt;boot\x64\wdsmgfw.efi&lt;/code&gt; - this is the x64 UEFI boot file for WDS. Click Next.&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Summary&amp;rdquo; screen, if all the details are correct, click Finish&lt;/li&gt;
&lt;li&gt;Now repeat steps 2 - 14 for &amp;ldquo;PXEClient (UEFI x86)&amp;rdquo; with &lt;code&gt;boot\x86\wdsmgfw.efi&lt;/code&gt; as option &amp;ldquo;067&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Finally, repeat steps 2 - 14 once again for &amp;ldquo;PXEClient (BIOS x86 &amp;amp; x64)&amp;rdquo; with &lt;code&gt;boot\x64\wdsnbp.com&lt;/code&gt; as option &amp;ldquo;067&amp;rdquo; and leave option &amp;ldquo;060&amp;rdquo; empty&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;or using PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)*&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)*&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)*&amp;#34;&lt;/span&gt;

&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x64\wdsmgfw.efi&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x86\wdsmgfw.efi&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x64\wdsnbp.com&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The -ScopeId should be the IP range of the DHCP scope you want to add the policy to.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t forget to repeat the above for each DHCP scope you wish to PXE boot from. In DHCP if you expand the &amp;ldquo;Scope Options&amp;rdquo; folder you should see the new options you just created and under &amp;ldquo;Policy Name&amp;rdquo; should be the names of the policies you just created.&lt;/p&gt;
&lt;p&gt;You should now be able to boot both a UEFI and BIOS devices from the network. Please note, if DHCP is installed on the same server as WDS, you will need to check both the &amp;ldquo;Do not listen on DHCP ports&amp;rdquo; and &amp;ldquo;Configure DHCP options to indicate that this is also a PXE server&amp;rdquo; options.&lt;/p&gt;
&lt;h2 id=&#34;support-my-work&#34;&gt;Support My Work&lt;/h2&gt;
&lt;p&gt;If you would like to support me, please check out the link below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.paypal.me/digressive&#34;&gt;PayPal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or comments, please leave them below.&lt;/p&gt;
&lt;p&gt;Thanks&lt;br /&gt;
-Mike&lt;/p&gt;
</content:encoded>
        
        
        
        
        
          
            
              <category>Guide</category>
            
          
            
              <category>Windows Deployment Services</category>
            
          
            
              <category>Windows Server</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>From Zero to 10 - Windows 10 Deployment Round-up</title>
        <link>https://gal.vin/posts/old/from-zero-to-10-windows-10-deployment-round-up/</link>
        <pubDate>Fri, 06 Oct 2017 18:29:32 +0000</pubDate>
        
        <atom:modified>Fri, 06 Oct 2017 18:29:32 +0000</atom:modified>
        <guid>https://gal.vin/posts/old/from-zero-to-10-windows-10-deployment-round-up/</guid>
        <description>This is a round-up all my previous posts regarding deployment and configuring Windows 10, installing Microsoft Deployment Toolkit and Windows Server Update Services into one post for reference.
Installing and Configuring a WSUS Server  Installing WSUS from scratch! Resolving WSUS Connection Errors On Windows Server 2012 R2  Installing and Configuring Microsoft Deployment Toolkit  Getting Started With Microsoft Deployment Toolkit 8443 and Windows 10 1607/1703 PXE Booting for Microsoft Deployment Toolkit PXE Booting with WDS for UEFI and BIOS Devices  Building and Deploying a Windows 10/Windows Server 2016 Reference Image  Building a Windows 10 1607 Reference Image with Microsoft Deployment Toolkit 8443 Deploying a Windows 10 1607 Reference Image with Microsoft Deployment Toolkit 8443 Building a Windows 10 1703 (Creators Update) Reference Image with Microsoft Deployment Toolkit Building a Windows 10 1709 (Fall Creators Update) Reference Image with Microsoft Deployment Toolkit Building a Windows Server 2016 Reference Image with Microsoft Deployment Toolkit  Customising and Configuring Windows 10  Stuck Windows Updates from WSUS on Windows 10 1607/Windows Server 2016 Windows 10 1607 (Anniversary Update) opens msn.</description>
        <content:encoded>&lt;p&gt;This is a round-up all my previous posts regarding deployment and configuring Windows 10, installing  Microsoft Deployment Toolkit and Windows Server Update Services into one post for reference.&lt;/p&gt;
&lt;h3 id=&#34;installing-and-configuring-a-wsus-server&#34;&gt;Installing and Configuring a WSUS Server&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/wsus-from-scratch/&#34;&gt;Installing WSUS from scratch!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/wsus-errors/&#34;&gt;Resolving WSUS Connection Errors On Windows Server 2012 R2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;installing-and-configuring-microsoft-deployment-toolkit&#34;&gt;Installing and Configuring Microsoft Deployment Toolkit&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/getting-started-with-mdt-and-windows-10/&#34;&gt;Getting Started With Microsoft Deployment Toolkit 8443 and Windows 10 1607/1703&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/pxe-booting-for-mdt/&#34;&gt;PXE Booting for Microsoft Deployment Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/pxe-booting-for-uefi-bios/&#34;&gt;PXE Booting with WDS for UEFI and BIOS Devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;building-and-deploying-a-windows-10windows-server-2016--reference-image&#34;&gt;Building and Deploying a Windows 10/Windows Server 2016  Reference Image&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/building-a-windows-10-reference-image-with-microsoft-deployment-toolkit/&#34;&gt;Building a Windows 10 1607 Reference Image with Microsoft Deployment Toolkit 8443&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/deploying-a-windows-10-reference-image-with-microsoft-deployment-toolkit/&#34;&gt;Deploying a Windows 10 1607 Reference Image with Microsoft Deployment Toolkit 8443&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/building-windows-10-1703-reference-image-walkthrough/&#34;&gt;Building a Windows 10 1703 (Creators Update) Reference Image with Microsoft Deployment Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/building-windows-10-1709-fall-creators-update-reference-image-walkthrough/&#34;&gt;Building a Windows 10 1709 (Fall Creators Update) Reference Image with Microsoft Deployment Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/building-windows-server-2016-reference-image-walkthrough/&#34;&gt;Building a Windows Server 2016 Reference Image with Microsoft Deployment Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;customising-and-configuring-windows-10&#34;&gt;Customising and Configuring Windows 10&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/ws2016-w10-1607-stuck-updates-from-wsus/&#34;&gt;Stuck Windows Updates from WSUS on Windows 10 1607/Windows Server 2016&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/windows-10-opens-msn-com-at-login/&#34;&gt;Windows 10 1607 (Anniversary Update) opens msn.com at login - how to stop it.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/customising-the-start-menu-and-taskbar-with-windows-10-1607/&#34;&gt;Customising the Start Menu and Taskbar with Windows 10 1607/1703&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/w10-1607-start-menu-customisation-update/&#34;&gt;Windows 10 1607/1703 Start Menu Customisation – Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/removing-uwp-apps-mdt/&#34;&gt;PowerShell: Removing UWP apps from Windows 10 1607/1703/1709&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gal.vin/posts/old/delving-into-disabling-onedrive/&#34;&gt;Delving into disabling OneDrive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or comments, please leave them below.&lt;/p&gt;
&lt;p&gt;-Mike&lt;/p&gt;
</content:encoded>
        
        
        
        
        
          
            
              <category>Microsoft Deployment Toolkit</category>
            
          
            
              <category>Guide</category>
            
          
            
              <category>Windows Deployment</category>
            
          
            
              <category>Windows Deployment Services</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>PXE Booting with WDS for UEFI and BIOS Devices</title>
        <link>https://gal.vin/posts/old/pxe-booting-for-uefi-bios/</link>
        <pubDate>Fri, 05 May 2017 08:10:18 +0000</pubDate>
        
        <atom:modified>Fri, 05 May 2017 08:10:18 +0000</atom:modified>
        <guid>https://gal.vin/posts/old/pxe-booting-for-uefi-bios/</guid>
        <description>Introduction Update 2022-08-15: Added PowerShell commands to configure a Windows DHCP server for PXE boot.
Update 2018-04-28: I&amp;rsquo;ve added the information in this post to a new one completely re-written for Windows Server 2016 here
In a previous post PXE Booting for Microsoft Deployment Toolkit I mentioned that I would talk about how to set up PXE to deal with VLANs. To be honest I forgot all about it until someone on twitter reminded me - many thanks for the reminder!</description>
        <content:encoded>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Update 2022-08-15: Added PowerShell commands to configure a Windows DHCP server for PXE boot.&lt;/p&gt;
&lt;p&gt;Update 2018-04-28: I&amp;rsquo;ve added the information in this post to a new one completely re-written for &lt;a href=&#34;https://gal.vin/wds-pxe-booting-windows-server-walkthrough/&#34;&gt;Windows Server 2016 here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In a previous post &lt;a href=&#34;https://gal.vin/posts/old/pxe-booting-for-mdt/&#34;&gt;PXE Booting for Microsoft Deployment Toolkit&lt;/a&gt; I mentioned that I would talk about how to set up PXE to deal with VLANs. To be honest I forgot all about it until someone on twitter reminded me - many thanks for the reminder!&lt;/p&gt;
&lt;p&gt;A lot of what I&amp;rsquo;m going to go through in this post I learned from this YouTube video from BranchCache Bob, &lt;a href=&#34;https://youtu.be/k5E97ndlRog&#34;&gt;here&amp;rsquo;s the video&lt;/a&gt;. There are some differences, which I&amp;rsquo;ll point out below.&lt;/p&gt;
&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;You have multiple VLANs, and have a mixture of devices with BIOS and UEFI and need to boot them from the network using PXE from a WDS server.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A Windows Deployment Server&lt;/li&gt;
&lt;li&gt;A Microsoft DHCP server (does not have to be running on the same server as WDS)&lt;/li&gt;
&lt;li&gt;Have the DHCP server&amp;rsquo;s IP as a helper address on your network switch for each VLAN you want to boot&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;defining-dhcp-vendor-classes&#34;&gt;Defining DHCP Vendor Classes&lt;/h2&gt;
&lt;p&gt;The first thing to do is to define the vendor classes for the BIOS PXE Client x84 and x64 and the UEFI PXEClient x86 and x64. To do this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &amp;ldquo;DHCP&amp;rdquo;, right-click on IPv4&lt;/li&gt;
&lt;li&gt;In the &amp;ldquo;DHCP Vendor Classes&amp;rdquo; window, click Add&lt;/li&gt;
&lt;li&gt;For the Name enter &amp;ldquo;PXEClient (UEFI x86)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;For the &amp;ldquo;Description&amp;rdquo; enter whatever you want&lt;/li&gt;
&lt;li&gt;Under the ASCII text enter &lt;code&gt;PXEClient:Arch:00006&lt;/code&gt; (you will not be able to paste this text, and it&amp;rsquo;s also case-sensitive&lt;/li&gt;
&lt;li&gt;Click OK to add it to the list&lt;/li&gt;
&lt;li&gt;Now repeat steps 2 - 6 for &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; with &lt;code&gt;PXEClient:Arch:00007&lt;/code&gt; as the ASCII value&lt;/li&gt;
&lt;li&gt;Finally, repeat steps 2 - 6 for &amp;ldquo;PXEClient (BIOS x86 &amp;amp; x64)&amp;rdquo; with &lt;code&gt;PXEClient:Arch:00000&lt;/code&gt; (five zero&amp;rsquo;s) as the ASCII value&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;or using PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00007&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00006&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Class&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Vendor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Data&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient:Arch:00000&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You should now have three additional vendor classes.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://gal.vin/media/dhcp-vendor-classes.webp&#34; alt=&#34;DHCP Vendor Classes&#34; /&gt;&lt;/p&gt;
&lt;h2 id=&#34;creating-the-dhcp-policies&#34;&gt;Creating the DHCP Policies&lt;/h2&gt;
&lt;p&gt;Now we&amp;rsquo;re going to create policies in DHCP so that the correct files are served to the correct clients. You will need to do this for each DHCP scope.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to DHCP and expand the scope you wish to create a policy for&lt;/li&gt;
&lt;li&gt;Right-click on &amp;ldquo;Policies&amp;rdquo; and choose &amp;ldquo;New Policy&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Enter &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; for the name&lt;/li&gt;
&lt;li&gt;Enter a &amp;ldquo;Description&amp;rdquo;, or leave it blank. Click Next&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure Conditions for the policy&amp;rdquo; screen, click Add&lt;/li&gt;
&lt;li&gt;In the &amp;ldquo;Add/Edit Condition&amp;rdquo; window, click the &amp;ldquo;Value:&amp;rdquo; drop down menu&lt;/li&gt;
&lt;li&gt;Choose the &amp;ldquo;PXEClient (UEFI x64)&amp;rdquo; vendor class you created earlier&lt;/li&gt;
&lt;li&gt;Tick the &amp;ldquo;Append wildcard&amp;rdquo; check box and then click Add and finally OK&lt;/li&gt;
&lt;li&gt;Click Next on the &amp;ldquo;Configure Conditions for the policy&amp;rdquo; screen&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure settings for the policy&amp;rdquo; screen, click No for the &amp;ldquo;Do you want to configure an IP address range for the policy&amp;rdquo;. Click Next&lt;/li&gt;
&lt;li&gt;Please Note: if DHCP is on the same server as WDS, you will need to set option 060, if WDS is on a different server, you do not need to set option 060&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Configure settings for the policy&amp;rdquo; screen, scroll down until you see options &amp;ldquo;060&amp;rdquo; (if applicable), &amp;ldquo;066&amp;rdquo; and &amp;ldquo;067&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;060&amp;rdquo; and enter &amp;ldquo;PXEClient&amp;rdquo; if applicable&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;066&amp;rdquo; and enter either the FQDN or the IP address of the WDS server&lt;/li&gt;
&lt;li&gt;Tick option &amp;ldquo;067&amp;rdquo; and enter &lt;code&gt;boot\x64\wdsmgfw.efi&lt;/code&gt; - this is the x64 UEFI boot file for WDS. Click Next&lt;/li&gt;
&lt;li&gt;On the &amp;ldquo;Summary&amp;rdquo; screen, if all the details are correct, click &amp;ldquo;Finish&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Now repeat steps 2 - 14 for &amp;ldquo;PXEClient (UEFI x86)&amp;rdquo; with &lt;code&gt;boot\x86\wdsmgfw.efi&lt;/code&gt; as option &amp;ldquo;067&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Finally, repeat steps 2 - 14 once again for &amp;ldquo;PXEClient (BIOS x86 &amp;amp; x64)&amp;rdquo; with &lt;code&gt;boot\x64\wdsnbp.com&lt;/code&gt; as option &amp;ldquo;067&amp;rdquo; and leave option &amp;ldquo;060&amp;rdquo; empty&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;or using PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)*&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)*&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Add-DhcpServerv4Policy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Name&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Condition&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OR&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-VendorClass&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;EQ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)*&amp;#34;&lt;/span&gt;

&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x64\wdsmgfw.efi&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (UEFI x86)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x86\wdsmgfw.efi&amp;#34;&lt;/span&gt;
&lt;span class=&#34;nb&#34;&gt;Set-DhcpServerv4OptionValue&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-ScopeId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-PolicyName&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;PXEClient (BIOS x86 &amp;amp; x64)&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-OptionId&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;067&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-Value&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;boot\x64\wdsnbp.com&amp;#34;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The -ScopeId should be the IP range of the DHCP scope you want to add the policy to.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t forget to repeat the above for each DHCP scope you wish to PXE boot from. In DHCP if you expand the &amp;ldquo;Scope Options&amp;rdquo; folder you should see the new options you just created and under &amp;ldquo;Policy Name&amp;rdquo; should be the names of the policies you just created.&lt;/p&gt;
&lt;p&gt;You should be able to boot both a UEFI and BIOS devices from the network. Please note, if DHCP is installed on the same server as WDS, you will need to check both the &amp;ldquo;Do not listen on DHCP ports&amp;rdquo; and &amp;ldquo;Configure DHCP options to indicate that this is also a PXE server&amp;rdquo; options. I do not currently have DHCP and WDS on the same server, so I cannot reliably test this on a multi VLAN network.&lt;/p&gt;
&lt;h2 id=&#34;my-experience&#34;&gt;My Experience&lt;/h2&gt;
&lt;p&gt;On my production network, I had previously added a helper address for the WDS server along with the DHCP server, so I have two helper addresses. I have not added policies for anything except PXEClient (UEFI x64) as my standard BIOS devices booted without issue, but my UEFI devices wouldn&amp;rsquo;t boot at all. I haven&amp;rsquo;t added PXEClient (UEFI x86) as all my devices boot x64 images and use x64 Task Sequences. So I have only one Policy in DHCP/IPv4/Scope x.x.x.x/Policies. My WDS server is running Windows Server 2016 and my DHCP server is Windows Server 2012 R2. An issue I currently have is that I cannot perform more than 2 or 3 PXE boots at a time, but no doubt it&amp;rsquo;s something to do with the &amp;ldquo;unique&amp;rdquo; configuration of my network. I guess your mileage may vary, but hopefully this post helps you out in some way.&lt;/p&gt;
&lt;h2 id=&#34;support-my-work&#34;&gt;Support My Work&lt;/h2&gt;
&lt;p&gt;If you would like to support me, please check out the link below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.paypal.me/digressive&#34;&gt;PayPal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or comments, please leave them below.&lt;/p&gt;
&lt;p&gt;-Mike&lt;/p&gt;
</content:encoded>
        
        
        
        
        
          
            
              <category>Guide</category>
            
          
            
              <category>Windows Deployment Services</category>
            
          
            
              <category>Windows Server</category>
            
          
        
        
        
      </item>
      

    
  </channel>
</rss>