In our environment every client will start of on the same VLAN when performing a PXE boot.
And, when it does, it will build a list containing the locations of all the packages it will need , during the task sequence in question, and keep the list of those no matter what.
So what if the client changes IP, boundary, DNS domain or even VLAN, won’t the list be updated? No, it will not.
This was a problem for us.
Every client will start of on the Enterprise VLAN.
The Educational VLAN is for high school students, who also have local admin rights on their personal computer. We don’t want our “clever” students to be able to affect our Enterprise environment in any way so consequently the clients in the Educational VLAN won’t be able to reach the DP’s belonging to the Enterprise VLAN.
That told me we needed to have the DP’s of the Educational VLAN as fallback on the default boundary and make 3 types of packages:
1. Enterprise ->Ent DP’s
2. Educational ->Edu DP’s
3. Common ->All DP’s
Right?
Wrong.
Tried that.
In PXE phase the clients act kind of smart. They will ask the server which offered the PXE boot for the locations of the packages.
So common packages will always point to the Ent DP’s when performing PXE boot.
After changing VLAN, for the domain join, the OSD will therefore fail if a client on the Edu VLAN is needing a common package .
Don’t get me wrong, I’m sure of what I am describing is possible by only make packages of types 1 and 2, even if you include a refresh scenario from the Edu VLAN, making doublets of every package, windows image, driver and so on.
But I wanted to find a better way that didn’t require multiple packages with the same content and a solution which didn’t rely on the human factor.
Doing it wasn’t easy but explaining why was even harder.
Think that if you can find a use for the script you’ll understand why I did it. =)
In the TS, before the step "Setup Windows and ConfigMgr", I added a step which changes "_SMSTSMP" to the new MP. If you don't "Setup Windows and ConfigMgr" is the last thing you'll see in the logs on the site server, even if the TS continues.
After the steps mentioned above, make a step that runs the following script.
Comments