The idea behind OSD in Configuration Manager is automation. Right? We want to create a process to eliminate as many manual tasks as possible. Some companies have their technicians manually disable IPv6 on all adapters. Who wants to do all of that manual work when we can have it automated? My clients occasionally ask for a step in the OSD Task Sequence to disable IPv6. If you would like to disable IPv6 on all interfaces, you should do it in a way that is easily reversible on your client computers companywide. Here is how I did this for a recent client:
1) Download the 50409 (Disable IPv6) MSI from this link. Download the 50440 (Enable IPv6) MSI from this link. Put both of these files in an Application source folder.
2) Create a new Application. Go to Software Library Workspace –> Application Management –> Applications. Right click and select “Create Application”.
3) In the Location box, type in the UNC path to the MSI. Click Next.
4) Because we used an MSI, the installation command line, uninstall command line, and Detection Method are all created for you. We’re not done yet. We will need to change these around. Click Next.
5) Change the name and the Installation program to what you see below. Click Next. Click Next. Click Close.
6) Click on your new Application in the console. Click on the Deployment Types tab at the bottom of the screen. Right click your Deployment Type and select Properties. Rename your Deployment Type.
7) Click on the Programs tab. Change your Uninstall program to the line you see below.
(With normal applications, you would use “msiexec /x”. But, these are separate MSIs for disable and enable. Both are executed as installs.)
8) We will now point the Detection Method to the registry key that these are adding or changing. Click on the Detection Method tab. Delete the clause that was created by the initial process. Add a new clause as seen below. Click OK twice.
9) Distribute your new Application to your Distribution Points.
10) Test it on a collection of test computers. Monitor the registry integer you see above to make sure it works. When IPv6 is disabled, the value will be “ffffffff”. When it’s enabled, the value will be “0”. You can verify that IPv6 is disabled by opening a command prompt and typing in “ipconfig /all”. After the install and reboot, there should be no IPv6 listed. NOTE: This does not take the check box out of the IPv6 in the connection properties. But, IPv6 is disabled.
11) Now, put it into your Task Sequence for OSD.
12) This Application can also be used to deploy to computers in your company. Just make sure to make it “Required” and Hide all Notification. Deploy it as “Install” to disable IPv6. When you need to enable it in the future, just deploy it as “Uninstall”.
It does require a reboot to take effect. But, the reboot is suppressed in the command line. This will not reboot your client computers as long as your command lines are the same as mine.
If you only want to disable certain components of IPv6 instead of totally disabling/enabling it, you can use this same process with any of the MSIs in this link.
Enjoy! Let me know if you have any questions in the comments.