How to change the MAC address of a client in SCCM after a client was created?

Thomas Schweikle 1 Reputation point
2020-11-16T09:51:21.42+00:00

Within our scenario there are clients with changing mac addresses. Every time they boot they get assigned a new mac. Randomly. It is not possible to tell SCCM to allow unknown clients. Now: I create a client and afterwards I have to change the mac address of this client, because it has changed. How can I do that? The Client does not have an OS installed. It boots using DHCP with an autogenerated mac-address. I can query this mac-address and I need some way to change it within SCCM to make the client boot from Network.

Microsoft Configuration Manager
0 comments No comments
{count} votes

6 answers

Sort by: Most helpful
  1. Jason Sandys 31,296 Reputation points Microsoft Employee
    2020-11-16T15:33:03.68+00:00

    Does the SMBIOS GUID remain fixed? If so, use that.

    If not, then you'll have to use a pre-start command that runs in WinPE before the task sequence engine is initiated. For this command, you'd have to create a script to register a new resource for the system on-demand. Before unknown computer support was added in ConfigMgr 2007 R2, this is exactly what we had to do.

    Why can't you enable unknown computer support?

    0 comments No comments

  2. Fiona Yan-MSFT 2,311 Reputation points
    2020-11-17T03:11:51.02+00:00

    @Thomas Schweikle

    Thank you for posting in Microsoft Q&A forum.

    As we mentioned that our device is a bare one,could we know why we could not enable the unknown support on our site server?It's very convenient to check this option when we deploy our clients.This option also helps me a lot when i deploy my client.
    40283-unknown-support.png


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  3. Thomas Schweikle 1 Reputation point
    2020-11-20T15:22:12.52+00:00

    Enable unknown computer support will boot some systems dhcp is enabled, but they are waiting for some boot image from an other server not under sccm control. These systems would try to boot what sccm then provides on a base of "whoever is faster". That is not what is ok. You do not await your device boot something quite different than you expected. But just exact this could happen with unknown computer support enabled. This would enable it for all -- and I do not want to say provision a system I do not control.

    At the moment there are three systems allowing to boot from. One for Unixes, one for Windows and one for phones. All of them expect to be alone on the network, but this is not possible. But for all of them I could turn off "unknown computer support" making them to react only to those requests to dhcp the servers are made known of.

    But now I do have one real problem: sccm does not allow to change, as far as I could find, the mac address. But this is something not really fixed. It depends on hardware used. Sometimes this is virtualized hardware and this mac address changes. I'd like to change this address within client configurations to make sccm match this client again. And not by deleting the client and building a new one. I'd like to only change this mac address and then be all set again!

    Both of the other systems booting clients via network allow for such a change. SCCM does not. I'd like to have a way to change the mac address for clients on sccm. If not possible via GUI -- any commandline tool that could do?

    0 comments No comments

  4. Jason Sandys 31,296 Reputation points Microsoft Employee
    2020-11-20T15:33:17.523+00:00

    These systems would try to boot what sccm then provides on a base of "whoever is faster".

    True, but if the ConfigMgr PXE is fastest, it will get skipped if the user doesn't press F12 (BIOS) and Enter (UEFI) -- at least I think that's the behavior. Alternatively, you can put a delay in the ConfigMgr PXE responder so that it is never first.

    You can't directly change the MAC address in a resource. You could create a custom DDR and this should be able to change the MAC but that's not a general recommendation, just a technical possibility. You can certainly file a uservoice item on this though.

    What about the suggestion in my initial answer, using a pre-start command?

    0 comments No comments

  5. Thomas Schweikle 1 Reputation point
    2020-11-20T16:19:15.53+00:00

    If not, then you'll have to use a pre-start command that runs in WinPE before the task sequence engine is initiated. For this command, you'd have to create a script to register a new resource for the system on-demand. Before unknown computer support was added in ConfigMgr 2007 R2, this is exactly what we had to do.

    This would not help: WinPE is loaded by PXE, initiated by dhcp. Since the mac address is not known to sccm it will never react on this dhcp boot request. WinPE would not be loaded and the new resource would never get registered ...

    Setting unknown computer support to enabled and then relying on "has to press a key to have the system install" renders any boot and provisioning to something that might work or might not. Say I provision one system it might install some Unix but it might even install some Windows or try if it could execute phone software written for MIPS. Neither is acceptable, because you'll have to lunger around until the install starts from the right system. It would not be unattended any more.

    But by the way: the first boot, defined as the first boot image was not successfully applied to the client -- no successful start of the WinPE environment, there is no such question to press any key to boot from network. It will in all cases boot from network and start WinPE from there. Without any user interaction. As soon as WinPE reports it has installed and first time started sccm reconfigures PXE for this one client to wait until some key is pressed. If someone presses a key it boots into PXE. if not it boots what is found on disk. You can revert to the firstboot behavior by just deleting this change. SCCM will then fall back to booting WinPE directly again, triggering a new provisioning cycle.

    You can't directly change the MAC address in a resource. You could create a custom DDR and this should be able to change the MAC but that's not a general recommendation, just a technical possibility. You can certainly file a uservoice item on this though.

    If there would be some, even ugly way to change mac addresses, it would be better than the situation as it now is -- something that may intentionally change, because it is changeable not being changeable within sccm.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.