ComputerName Script during OSD in SCCMwith MDT

I have been using the following Script during my OS deployment... IT works perfectly and meets my needs 90% of the time.
BAsically, it will prompy for a location code and attached a "-" and the "Dell Service tag"  Example abc-1234567

What I want to add is when I am using the same PXe boot to a VM, (VMWARE Virtual Desktops), The serialnumber I believe is the mac address and longer than the 15 char limit so my OSD fails during the task sequence.

Does any one has a simple suggestion or fix for this issue?

***************************************************************
Dim strComputer, objWMIService, colBIOS, objBIOS, strServiceTag
strComputer="."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery("Select SerialNumber from Win32_Bios")
For Each objBIOS In colBIOS
strServiceTag = objBIOS.SerialNumber
Next

Dim sNewComputerName, oTaskSequence, sTSMachineName, bPromptName
Set oTaskSequence = CreateObject ("Microsoft.SMS.TSEnvironment")
 
' Get the name the computer is set to receive and truncate to first 6 letters
sTSMachineName = lcase(oTaskSequence("_SMSTSMachineName"))
If left(sTSMachineName,6) = "minint" Then
   bPromptName = True
ElseIf sTSMachineName = "minwinpc" Then
   bPromptName = True
Else
   bPromptName = False
End If
 
' Note: The wscript.echo commands are logged in SMSTS.log for troubleshooting.  They are not displayed to the end user.
If bPromptName = True Then
   wscript.echo "Detected that the computer name is scheduled to receive a random value.  Prompting user to input a standard name."
   sNewComputerName = InputBox ("Please enter your Location Code to continue." & vbCrLf & _
   "The name will be set to XXX-" & strServiceTag & vbCrLf & _
   "where XXX is the location you enter.", "Computer Location", , 30,30)
   oTaskSequence("OSDComputerName") = UCase(sNewComputerName & "-" & strServiceTag)
   wscript.echo "Set Task Sequence variable OSDComputerName to: " & sNewComputerName & "-" & strServiceTag
Else
   wscript.echo "Computer set to receive a standard name, continuing as is."
End If
*************************************************************************
petrosygAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David Johnson, CD, MVPOwnerCommented:
oTaskSequence("OSDComputerName") = left(UCase(sNewComputerName & "-" & strServiceTag),15)
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
petrosygAuthor Commented:
David, Thank you for your response. I do not recall if the syntax was correct I recall doing something with the same logic- most likely wrong syntax and during the TS step I saw the step getting executed but never got my prompt. So I will try yours and let you know.

Thank you kindly,
Petros
0
petrosygAuthor Commented:
David, Great tip and thank you for all your help --- it worked !!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.