Re: Create mutiple PCs in the Domain using vbScripts

Tech-Archive recommends: Speed Up your PC by fixing your registry



Richard,
Thank you very much for your response. The script work, but can you tell me
why I am getting the " Unable to set properties for computer test1" error
but it creates the computer account. Any I dea? Do I need to specify the
properties for this, if so how do I do it?

Thanks,
Jeff


"Richard Mueller [MVP]" wrote:


"JeporoxAKO" <JeporoxAKO@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:CC72CE3B-DA49-48EA-AC0C-1CCEA01C8157@xxxxxxxxxxxxxxxx
Hello all,

Does anyone has a sample script that basically creates multiple PCs in the
domain?
A text file contains all the PCs then the script reads it and add those
pcs
that's in the text file to the domain. I found a sample but it is not
working
properly. I've included the script that I am using which I got from the
web.

Thank you in advance.
JB


(
Dim objFSO, strFilePath, objFile, strContainer
Dim objContainer, strComputerName, objComputer
On ERROR RESUME NEXT
Const ADS_UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const ADS_UF_PASSWD_NOTREQD = &H20

'objComputer.Put "userAccountControl", _
'ADS_UF_PASSWD_NOTREQD Or ADS_UF_WORKSTATION_TRUST_ACCOUNT

Const ForReading = 1


' Specify container where computer objects created.
strContainer ="ou=SAMPLE_OU,dc=XYZ,dc=org"
Set objContainer = GetObject("LDAP://; & strContainer")
' Specify the text file of computerNames.
strFilePath = "c:\Scripts\pc.txt"

' Open the file for read access.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFilePath, ForReading)

' Read each line of the file and create computer accounts.
Do Until objFile.AtEndOfStream
strComputerName = Trim(objFile.ReadLine)
' Skip blank lines.
If (strComputerName <> "") Then
On Error Resume Next
Set objComputer = objContainer.Create("computer", "cn=" _
& strComputerName)
If (Err.Number <> 0) Then
Wscript.Echo "Unable to create computer " & strComputerName
End If
On Error GoTo 0
objComputer.Put "sAMAccountName", strComputerName & "$"
'objComputer.Put "userAccountControl",
ADS_UF_WORKSTATION_TRUST_ACCOUNT
On Error Resume Next
objComputer.SetInfo
If (Err.Number <> 0) Then
Wscript.Echo "Unable to set properties for computer " _
& strComputerName
End If
On Error GoTo 0
End If
Loop

' Clean up.
objFile.Close
Wscript.Echo "Done"

)


First, if the parentheses surronding the code are part of the script they
should be removed. Next, the first "On Error Resume Next" statement should
be removed. I believe this is masking the problem, which is the following
statement:

Set objContainer = GetObject("LDAP://; & strContainer")

This statement should be:

Set objContainer = GetObject("LDAP://"; & strContainer)

Next, I would assign the value for the userAccountControl attribute. You
have commented out two statements for this. The one you want is:

objComputer.Put "userAccountControl", _
ADS_UF_PASSWD_NOTREQD Or ADS_UF_WORKSTATION_TRUST_ACCOUNT

This statement should follow the one that assigns a value to the
sAMAccountName attribute, before the SetInfo statement.

--
Richard Mueller
MVP Directory Services
Hilltop Lab - http://www.rlmueller.net
--



.



Relevant Pages

  • Create mutiple PCs in the Domain using vbScripts
    ... Does anyone has a sample script that basically creates multiple PCs in the ... A text file contains all the PCs then the script reads it and add those pcs ... Dim objContainer, strComputerName, objComputer ...
    (microsoft.public.scripting.vbscript)
  • Re: Create mutiple PCs in the Domain using vbScripts
    ... Does anyone has a sample script that basically creates multiple PCs in the ... Dim objContainer, strComputerName, objComputer ...
    (microsoft.public.scripting.vbscript)
  • Re: Create mutiple PCs in the Domain using vbScripts
    ... Your script traps two possible errors. ... either the sAMAccountName or userAccountControl attribute could not be set ... Dim objContainer, strComputerName, objComputer ... Wscript.Echo "Unable to set properties for computer " _ ...
    (microsoft.public.scripting.vbscript)
  • RE: Set SendMail Properties from ActiveX Script
    ... "Matt Childs" wrote: ... > a script that runs and processes a text file out into a table. ... > seem to find any code that shows me how to set properties for an ... > find the syntax to let me set the properties for the SendMailTask that I ...
    (microsoft.public.sqlserver.dts)
  • Re: Create mutiple PCs in the Domain using vbScripts
    ... If you want to create the object in a sub OU, ... script to put on the sub OUs of the "Sample" OU? ... either the sAMAccountName or userAccountControl attribute could not be ... Dim objContainer, strComputerName, objComputer ...
    (microsoft.public.scripting.vbscript)