5

We're looking at rolling out a large ammount of tablets on our network. We are currently trialling SCCM 2012 sp1 to see if this is the way forwards for doing this. AT the moment I have a working OSD over ethernet but was wonddering if there is a way to do this wirelessly. I'm thinking I may have to prestage the content and pass it over before the system boots into PE but was hoping someone could clear this up for me.
Is this the best way to do it or is there a better way?

OK the way I've set it up and got it working is as such. Packaged the drivers for the Laptop Model we are using. Multiple packages for multiple models.
I create a Wireless xml file for the network I'm looking to join them to. This is stored on the server
I run the OSD downloading all content locally.
During the OSD before the domain join I pass over the xml file to the machine and create a command line using Netsh to import the xml file and connect to the wireless.
Once the machine can see the domain it can join it.
Once the OSD completes there is a machine connected to the domain and deployed wirelessly.
Hope this helps someone in the future.

  • Joe, at what point do you switch to wireless? If these are tablets that don't have ethernet, wouldn't you have to boot pxe wireless, or am I misunderstanding you? – MDMoore313 Jun 19 '13 at 19:49
  • @MDMoore313 No, we deploy from the Configuration Manager Client Agent in Windows. We can also do it from a Media boot. – Joe Taylor Jun 20 '13 at 8:40
  • Okay, so with the tablets: Will they be imaged via media boot? – MDMoore313 Jun 20 '13 at 11:55
  • Thats how we're doing it at the moment, totally wired free deployment. Although if we can't get the domain join working we may have to use the USB-Ethernet adapter as well. We're running into a NETsh problem at the moment serverfault.com/questions/516699/… – Joe Taylor Jun 20 '13 at 12:00
4

I am willing to bet you can with a refresh, but things can (and will be) very tricky.

You have to make sure you have everything you need in WinPE prior to booting into it. Since Wireless connectivity isn't automatic, you will have to find some way to automatically connect to a wireless network and perform the domain join afterwards. You may be able to force the network connection in a task sequence, but I have not done that before so am not sure how to do that.

  • Hi Harold, have you ever passed a file over during OSD before? If I can pass the Wirelessconfig.xml over then I can use NETSH WLAN CONNECT to initiate the wireless connection. – Joe Taylor Mar 5 '13 at 13:58
  • OK, we modified the install.wim file using DISM to include the xml configuration file for the wireless that we are connecting to. Using 2 Command line sequences after Windows has deployed we can add this profile and then connect to it. Teh machine can now see the server again. We can then run the domain join task and voila domain joined machine over OSD via wireless. – Joe Taylor Mar 7 '13 at 12:35
  • @JoeTaylor Looks like you already got it working before I had a chance to test this myself. I'm glad you figured it out. You should consider documenting the additional steps you had to take for OSD over wireless. I'm sure there are a lot of folks who will be doing this now that more and more devices are shipping without RJ45 connections. – Harold Wong Mar 7 '13 at 18:49
1

Just had a brainstorm; How about this:

1) Create standalone media, as seen here, this much I've done before (There were problems with the initial 2012 that were fixed in SP1). The media should have a driver package on it with the drivers for the tablet. It should also have the full OS Image as well.

2)Once the OS has been deployed, run your command line commands after booting to the OS, but while still in the task sequence, that way you'll have the full network stack and can avoid hacks. There's a TS step to reboot and boot into the operating system, as opposed to rebooting back into the boot media.

I would even just run a powershell script that logs it's actions for debugging, and also waits (after importing the wireless profile and restarting the wlan service) for a network connection before joining to the domain. It would look something like

Import wireless profile

Restart wlansvc

While (no IP address on the wireless interface){sleep}

Join domain

Then have another TS Step to restart the workstation, because if your script restarts the machine then the TS will report as having failed which creates noise in the logs.


After the Setup Windows and ConfigMgr step, the TS automatically boots into the OS. This is where we install our software packages during the build. My mistake, if you reboot into the OS, the task sequence won't pick up where it left off, only if you boot back into the boot media. However, If you place them after the Setup Windows and ConfigMgr step, it should boot into the OS and you can run commandlines, as my screenshot:

enter image description here

As you can see wayyyy at the bottom, There's a step named 'Add Desktop to Admin Group' and all I do there is

net localgroup administrators domain\group /add

and I also configure some power management settings, so what you want to do is definitely possible.

  • 1
    That's one of the avenues we're thinking. I may just promote that to the first way forwards instead of djoin. Which will be a nice backup if this fails. – Joe Taylor Jun 20 '13 at 13:13
  • Have you ever seen a machine boot into the OS and continue with the TS? I've just tried it and it ends the TS for me. Nothing after the reboot is done. Maybe i'm doing something wrong. – Joe Taylor Jun 20 '13 at 14:49
  • @JoeTaylor you're right that was my mistake, but I've updated my answer with more info. – MDMoore313 Jun 20 '13 at 15:10
0

I found a solution that works for my Organization. The first step is export your wireless profile in plain text to an XML and save it for later (I called mine wifiprofile.xml--original, I know). Next mount the ISO for Windows 10 1607 (or newer) and extract the sources\image.wim and place it in your directory of choice for DISM work--mine is C:\TEMP. I then create C:\TEMP\MOUNT and C:\TEMP\winre folders.

I have compiled information from various other sources across the internet that I wish I could cite, but here are the commands I had to run to first extract the WinRE.wim file (which supports wireless imaging), inject my wireless profile, then create a boot(able) image from that:

"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Mount-Image /ImageFile:C:\TEMP\install.wim /Index:1 /MountDir:C:\temp\mount
copy /y “C:\TEMP\mount\windows\windows\system32\recovery\winre.wim” C:\TEMP\
md C:\mount\winre
attrib -s -h C:\temp\winre.wim
Dism /Mount-Image /ImageFile:c:\mount\winre.wim /Index:1 /MountDir:C:\temp\winre
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Mount-Image /ImageFile:c:\temp\winre.wim /Index:1 /MountDir:C:\temp\winre
attrib -R c:\temp\winre\windows\system32\winpeshl.ini
copy /y C:\temp\MOUNT\windows\system32\dmcmnutils.dll C:\temp\winre\windows\system32\
copy /y C:\temp\MOUNT\windows\system32\mdmpostprocessevaluator.dll c:\temp\winre\windows\system32\
copy /y C:\temp\MOUNT\windows\system32\mdmregistration.dll c:\temp\winre\windows\system32\
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Unmount-Image /MountDir:C:\temp\MOUNT /discard

Now you can copy your wifiprofile.xml into the C:\temp\winre\windows\ folder

"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Image:c:\temp\winre /Cleanup-Image /StartComponentCleanup /ResetBase
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Unmount-Image /MountDir:C:\TEMP\winre /commit
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" /Export-Image /SourceImageFile:c:\temp\winre.wim /SourceIndex:1 /DestinationImageFile:c:\temp\winpe-wifi.wim

I know it looks sloppy, but it works. You've just created a WiFi-enabled boot image and successfully loaded the WiFi profile into the %windir% folder. When you're all done you'll have a new "winpe-wifi.wim" that you can then load into SCCM. Add the new boot image and before distributing it, edit the properties. You'll want to add any additional (wireless) drivers to your image here and configure a prestart command--the most important part! The prestart command I use is:

cmd /c net start wlansvc & cmd /c netsh wlan add profile filename=%windir%\wifiprofile.xml & cmd /c netsh wlan connect profile=YOURs ssid=YOURs

The result is starting the WLAN service, importing the WiFi profile then connecting to the provided WiFi network.

I then "run command line" that in the Task Sequence after every reboot which ensures we stay connected during the whole imaging process. Task Sequence

Using this process, the PC will cache the WinRE boot image while booted in Windows, reboot at the assigned time and connect to WiFi to run the Task Sequence. For devices that won't boot and need imaging from a cold start, I created an ISO of the Task Sequence Media with the unattended flag enabled and the same prestart command. Load that ISO onto a thumb drive and Staff at remote campuses can boot to the thumb drive and the reimaging will being automatically.

Not sure why Microsoft has made this so difficult but there it is, wireless imaging with SCCM.

NOTE: In the final step of imaging I remove the wifiprofile.xml from the %windir% directory as it IS stored in plain text.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.