Re: Create mutiple PCs in the Domain using vbScripts
- From: JeporoxAKO <JeporoxAKO@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 15 Apr 2009 06:04:01 -0700
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
--
- Follow-Ups:
- Re: Create mutiple PCs in the Domain using vbScripts
- From: Richard Mueller [MVP]
- Re: Create mutiple PCs in the Domain using vbScripts
- References:
- Create mutiple PCs in the Domain using vbScripts
- From: JeporoxAKO
- Re: Create mutiple PCs in the Domain using vbScripts
- From: Richard Mueller [MVP]
- Create mutiple PCs in the Domain using vbScripts
- Prev by Date: Re: Need Help With Script To List and Delete Printers
- Next by Date: multiselect file open dialog that supports long file names
- Previous by thread: Re: Create mutiple PCs in the Domain using vbScripts
- Next by thread: Re: Create mutiple PCs in the Domain using vbScripts
- Index(es):
Relevant Pages
|