Jump to content


Sign in to follow this  
aliala

Prompt for Computer Name During Task Sequence

Recommended Posts

Hello,
I have trouble getting a VBS script to work in SCCM 2012, this script worked without problems in sccm in 2007.
It is used when we want to install an operating system to harddrive to be installed to another computer of the same model.

In Task sequence it runns before "Apply Operating System".

 

The Command Line:

 

cscript.exe %deployroot%\scripts\EnterComputerName.vbs

 

Here is the script:

 

 

'Code Snippet

Dim env, objRegEx
Dim Matches, Match
Dim strPattern, strInputBox, strReason
Dim boolLength, boolValid

Set ProgressUI = CreateObject("Microsoft.SMS.TsProgressUI")
ProgressUI.CloseProgressDialog

Set env = CreateObject("Microsoft.SMS.TSEnvironment")
Set objRegEx = New RegExp


'Define valid patterns as and character not in (a-z, A-Z, 0-9, or -)
strPattern = "[^a-zA-Z0-9-]"


Do
strReason = ""
strInputBox = InputBox("Enter desired machine name." & VbCrLf & VbCrLf & "Machine names must be 3-14 characters, and include a-z, 0-9, - ONLY." & VbCrLf & VbCrLf & "Machine name WILL be upper case.","Machine Name")
' If strInputBox = "" Then TemplateQuit(0)

' Check length - must be less than 15 charatcers
If Len(strInputBox) <= 14 Then
boolLength = True
Else
strReason = strReason & "Machine name too long. Please choose a name from 3-14 characters in length." & VbCrLf
boolLength = False
End If

' Check character validity
boolValid = True
' Return all matches for invalid characters
objRegEx.Global = True
objRegEx.Pattern = strPattern
' Generate collection of matches
Set Matches = objRegEx.Execute(strInputBox)
' Check for matches on invalid characters
For Each Match In Matches
strReason = strReason & "Invalid character """ & Match.Value & """ found. Please use only a-z, A-Z, 0-9, and -." & VbCrLf
boolValid = False
Next
If Not (boolLength And boolValid) Then MsgBox "Invalid name """ & strInputBox & """ entered!" & VbCrLf & VbCrLf & strReason,vbCritical+vbOKOnly,"Invalid Name Entered"
Loop While Not (boolLength And boolValid)


MsgBox "Computer name set to " & UCase(strInputBox) & ".",vbInformation+vbOKOnly,"Computer Name Set"

env("OSDComputerName") = UCase(strInputBox)

 

I hope someone can help me with this.

Thanks!

post-21912-0-08222600-1410436316_thumb.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...