Setting OSDComputerName using CustomSettings.ini

16

Last week I got a call from a customer, that wanted to automate the naming of new computers, that was beeing deployed using System Center Configuration Manager. They were using the build-in UDI Wizard, that comes with the Microsoft Deployment Toolkit (MDT).

But the default computer name for new computers are “MININT-%SomeRandomNumber%”.

image

They want to use the following naming standard:

  • The first 3 characters should be static (The company prefix). In this example well use “ABC”.
  • The next character should be the Device type (D=Desktop, L=Laptop or V=Virtual Machine).
  • The last (up to) 9 characters should be the computer’s serial number

Example: ABC-V-A4G75GYL1

This kind of requirement something that almost every customers has, so it was pretty easy for me to provide the solution. But from time to time I get questions about this, so I thought I’d share the solution here.

Here is the CustomSettings.ini file that we used to solve this requirement:

[Settings]
Priority=Init, ByDesktop, ByLaptop, ByVirtual, Default
Properties=MyCustomProperty,ComputerSerialNumber, ComputerTypeName

[Init]
ComputerSerialNumber=#Right(“%SerialNumber%”,9)#

[ByLaptop]
Subsection=Laptop-%IsLaptop%

[ByDesktop]
Subsection=Desktop-%IsDesktop%

[ByVirtual]
Subsection=Virtual-%IsVM%

[Laptop-True]
ComputerTypeName=L

[Desktop-True]
ComputerTypeName=D

[Virtual-True]
ComputerTypeName=V

[Default]
OSDComputerName=DNK-%ComputerTypeName%-%ComputerSerialNumber%

After updating the CustomSettings.ini file and the updated the Distribution Point’s, this was the new default behavior:

image

That’s it…

Enjoy.

+Ronni Pedersen

About Author

My name is Ronni Pedersen and I'm currently working as a Cloud Architect at APENTO in Denmark. My primary focus is Enterprise Client Management solutions, based on technologies like AzureAD, Intune, EMS and System Center Configuration Manager. I'm is also a Microsoft Certified Trainer and Microsoft MVP in Enterprise Mobility.

16 Comments

  1. why have you got DNK is that not meant to be ABC

    [Default]
    OSDComputerName=DNK-%ComputerTypeName%-%ComputerSerialNumber%

  2. Great information– thanks for the share! I was wondering if you could help by providing some basic directions as to where to put the CustomSettings.ini file to replace the MININT naming scheme? Also, in this case your customer used a static prefix to represent the company name. In my environment, we use dynamic prefixes based on the division, but otherwise our naming convention is exactly the same. I was hoping you wouldn’t mind helping me to modify the settings so that I can allow modification of the prefix– for example we use TEC for technology division, CCC for our Call Center, etc. I made an initial attempt which I could provide but I’d like to have some confirmation that it’s done properly before making any changes to our configuration. Anyways thanks again for your contribution and please continue the good work!

    • The CustomSettings.ini file is generated automatically when you create a new MDT Task Sequence.
      It simply just a text file in a folder (Package).
      You can specify dynamic names by using “roles” with the MDT database. You need something to tell what role a computer should be a member of.

  3. Mohammed Shariff on

    Hello thr,
    Please help with below requirement.
    If Desktop assign SYS prefix and four digits number example SYS0001
    If Lapto assign LAP prefix and four digits number example LAP0001 and if computer name is already available in AD then assign SYS002 / LAP002 based on device type laptop r desktop.

  4. Hi, this is a great post, the other ones don’t specify using a portion of the serial number.

    With the Surface Pro 4/5’s however, the latter part of the serial number is not unique. Therefore i need to take the beginning characters from the serial to append to OSDCOmputerName.

    So far, i have this: OSDComputerName=SURF#LEFT(“%SerialNumber%”,5)#

    Not tested yet, let me know if you think this looks right? hope this helps anyone else too.

  5. Hi Ronni, great post! Similar to Roy our naming convention is the first 5 characters from the serial,then the letter ‘A’ followed by the current month and year: example – A1B23A0818. Is it possible to automate that?

    Soner

  6. Santhosh Kumar S on

    Hi Ronni, We have got the naming convention like Domain-Serialnumber-ChasesType. Do you have CS.ini settings for this naming convention ?

  7. pushkar Singh on

    Hi Ronni, Thanks for sharing it’s really knowledgeable. We are using the same method for assigning the machine name however we have a model and it’s chassis type is 33 and being detected as a Desktop however it’s a laptop. Do we have nay scripts where I can exclusively define it.

  8. Shri S Muthulingam on

    Hi
    I need some help in getting the Task Sequence ID to work with OSDComputerName. For example TS=1 will have Computername=XXX-1222333abc and Ts=2 will have Computername=YYY-1565656RES
    Can this be done in Customsetting ini file?
    Please advise.

  9. I have the full computername in the MDT database. But can’t seem to retrieve it using the customsettings.ini file. We’re using the most recent version of MDT, 8456. Tried using this: OSDComputerName=%OSDComputerName%. Placed it in the Csettings section and then in the default section. Neither worked; MDT froze up when it tried to process those lines. Can you shed any light on what I’m doing wrong?

  10. thanks for sharing how to use The first 3 characters as dynamic based on default gateway and how to add regional settings, joining to specific OU in custom settings.ini based default gateway

    second question how to use customsetting.ini in custom task sequence looking sample NON MDT DEFAULT TASK SEQUENCE

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.