• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 354
  • Last Modified:

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
*************************************************************************
0
petrosyg
Asked:
petrosyg
  • 2
1 Solution
 
David Johnson, CD, MVPOwnerCommented:
oTaskSequence("OSDComputerName") = left(UCase(sNewComputerName & "-" & strServiceTag),15)
0
 
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

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now