This is a multi-part message in MIME format.
------=_NextPart_000_002F_01C3DE82.D66A20A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi Scripting Guys !!!!
So, my script read a file text where is a list of users what must be =
create, this create de user and register this action on Excell File, the =
scritp of create users if it is running on a separate mode it=B4s run =
perfect, when I use it on the middle of process I=B4d receive this error =
code:
"A device attached to the system is not functioning "
Error Code : 8007001F
Line 49: --> objUser.SetInfo
Please Help Me !"
Kind Regards
Rafael Brum Astrana
Text File Format:
---------------------------------------------------------------------
"User1","My name is 1", "passw1"
"User2","My name is 2", "passw2"
"User3","My name is 3", "passw3"
"User4","My name is 4", "passw4"
This is the script:=20
----------------------------------------------------
x=3D0
Const ForReading =3D 1
Const ForAppending =3D 8
Const ADS_PROPERTY_APPEND =3D 3
Row =3D 2
Set XL =3D WScript.CreateObject("Excel.Application")
Set objFSO =3D CreateObject("Scripting.FileSystemObject")
Set objTextFile =3D objFSO.OpenTextFile _
(".\arquivo.txt", ForReading)
Call CreateTable()
Do Until objTextFile.AtEndOfStream
Call Process()
Loop
' ---------------------------------------------
Function Process()
strNextLine =3D objTextFile.Readline
arrServiceList =3D Split(strNextLine , ",")
username =3D arrServiceList(0)
For i =3D 1 To Ubound(arrServiceList)
If X =3D 0 Then
name =3D arrServiceList(i)
X =3D 1
Else
Passw =3D arrServiceList(i)
X =3D 0
End If
Next
Call CreateUser(username, name, passw)
End Function
Sub CreateUser(username, name, passw)
strUserName =3D username=20
Set objConnection =3D CreateObject("ADODB.Connection")
objConnection.Open "Provider=3DADsDSOObject;"
Set objCommand =3D CreateObject("ADODB.Command")
objCommand.ActiveConnection =3D objConnection
objCommand.CommandText =3D _=20
=
"<LDAP://portoalegre.pucrsnet.br/dc=3Dportoalegre,dc=3Dpucrsnet,dc=3Dbr>;=
(&(objectCategory=3DUser)" & _
"(samAccountName=3D" & strUserName & =
"));samAccountName,distinguishedName;subtree"
: Set objRecordSet =3D objCommand.Execute
If objRecordset.RecordCount =3D 0 Then
objConnection.Close=20
Set objOU =3D =
GetObject(LDAP://ou=3DAlunos,ou=3DAcad,dc=3DMyChildDomain,dc=3DMyHolder,d=
c=3DMyHolder1)
Set objUser =3D objOU.Create("User", "cn=3D" & username)
objUser.Put "sAMAccountName", username
objUser.Put "userPrincipalName", username & =
"@MyChildDomain.MyHolder.MyHolder1"
objUser.SetInfo
Set objUser =3D GetObject ("LDAP://cn=3D" & username & =
",ou=3DAlunos,ou=3DAcad,dc=3DMyChildDomain,dc=3DMyHolder,dc=3DMyHolder1")=
objUser.AccountDisabled =3D False
objuser.displayName =3D Trim(name)
objUser.SetPassword passw
objUser.Put "pwdLastSet", 0
objuser.description =3D "HR"
objuser.HomeDrive =3D "H"
objuser.HomeDirectory =3D "\\MyFileServer\" & username & "$"
objuser.scriptpath =3D "S_H.bat"
objUser.SetInfo
Call Register(username, name, passwd)
End If
End Sub
Function CreateTable()
XL.Visible =3D True
Set Book =3D XL.WorkBooks.Add
XL.Columns(1).ColumnWidth =3D 20
XL.Columns(2).ColumnWidth =3D 20
XL.Cells(1, 1).Value =3D "Username"
XL.Cells(1, 2).Value =3D "Nome"
XL.Cells(1, 3).Value =3D "Senha"
XL.Range("A1:C1").Select
XL.Selection.Font.Bold =3D True
XL.Selection.Font.Italic =3D True
XL.Selection.Font.Size =3D 18
End Function=20
Sub Saveas()
TheDate =3D Date
TheDate =3D Replace(TheDate, "/", "-")
Suggestion =3D "Usu=E1rios Criados " & TheDate & ".xls"
FileName =3D XL.GetSaveasFilename(Suggestion)
If FileName <> False Then
Book.SaveAs(FileName)
End If
End Sub
Sub Registro(Username, Nome, senha)
XL.Cells(Row, 1).Value =3D Username
XL.Cells(Row, 2).Value =3D Name
XL.Cells(Row, 3).Value =3D Passw
Row =3D Row + 1
XL.Cells(Row, 1).Select
End Sub=20
call Saveas()
Wscript.echo "See Ya At next user=B4s List"
------=_NextPart_000_002F_01C3DE82.D66A20A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1276" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2>Hi Scripting Guys !!!!</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>So, my script read a file text where is =
a list of=20
users what must be create, this create de user and register this action =
on=20
Excell File, the scritp of create users if it is running on a separate =
mode it=B4s=20
run perfect, when I use it on the middle of process I=B4d receive this =
error=20
code:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>"A device attached to the system is not =
functioning=20
"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Error Code : 8007001F</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Line 49: --> =
objUser.SetInfo</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Please Help Me !"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Kind Regards</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Rafael Brum Astrana</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Text File Format:</FONT></DIV>
<DIV><FONT face=3DArial=20
size=3D2>----------------------------------------------------------------=
-----</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>"User1","My name is 1", =
"passw1"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>"User2","My name is 2", =
"passw2"</FONT></DIV>
<DIV>
<DIV><FONT face=3DArial size=3D2>"User3","My name is 3", =
"passw3"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>"User4","My name is 4", =
"passw4"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>This is the script: </FONT></DIV>
<DIV><FONT face=3DArial=20
size=3D2>----------------------------------------------------</FONT></DIV=
></DIV>
<DIV><FONT face=3DArial size=3D2>x=3D0</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Const ForReading =3D 1</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Const ForAppending =3D 8</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Const ADS_PROPERTY_APPEND =3D =
3</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Row =3D 2</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Set XL =3D=20
WScript.CreateObject("Excel.Application")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Set objFSO =3D=20
CreateObject("Scripting.FileSystemObject")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Set objTextFile =3D objFSO.OpenTextFile =
_</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>(".\arquivo.txt", =
ForReading)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Call CreateTable()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Do Until =
objTextFile.AtEndOfStream</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Call =
Process()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Loop</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>'=20
---------------------------------------------</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Function Process()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> strNextLine =3D=20
objTextFile.Readline</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> arrServiceList =3D =
Split(strNextLine ,=20
",")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> username =3D=20
arrServiceList(0)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> For i =3D 1 To=20
Ubound(arrServiceList)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> If =
X =3D 0=20
Then</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
name =3D=20
arrServiceList(i)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> X =
=3D=20
1</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Else</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2> Passw =3D=20
arrServiceList(i)</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2> X =3D=20
0</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> End If</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Next</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Call =
CreateUser(username, name,=20
passw)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>End Function</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Sub CreateUser(username, name, =
passw)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> strUserName =3D =
username=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set objConnection =
=3D=20
CreateObject("ADODB.Connection")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objConnection.Open=20
"Provider=3DADsDSOObject;"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set objCommand =3D=20
CreateObject("ADODB.Command")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
objCommand.ActiveConnection =3D=20
objConnection</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
objCommand.CommandText =3D _=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =20
"<LDAP://portoalegre.pucrsnet.br/dc=3Dportoalegre,dc=3Dpucrsnet,dc=3Db=
r>;(&(objectCategory=3DUser)"=20
& _</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> "(samAccountName=3D" =
&=20
strUserName & =
"));samAccountName,distinguishedName;subtree"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> : Set objRecordSet =
=3D=20
objCommand.Execute</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> If objRecordset.RecordCount =
=3D 0=20
Then</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objConnection.Close=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set objOU =3D =
GetObject(<A=20
href=3D"ldap://ou=3DAlunos,ou=3DAcad,dc=3DMyChildDomain,dc=3DMyHolder,dc=3D=
MyHolder1">LDAP://ou=3DAlunos,ou=3DAcad,dc=3DMyChildDomain,dc=3DMyHolder,=
dc=3DMyHolder1</A>)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set objUser =3D=20
objOU.Create("User", "cn=3D" & username)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objUser.Put =
"sAMAccountName",=20
username</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objUser.Put =
"userPrincipalName",=20
username & "@<U><FONT=20
color=3D#0000ff>MyChildDomain.MyHolder.MyHolder1</FONT></U>"</FONT></DIV>=
<DIV><FONT face=3DArial size=3D2> =
objUser.SetInfo</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set objUser =3D =
GetObject=20
("LDAP://cn=3D" & username & ",<U><FONT=20
color=3D#0000ff>ou=3DAlunos,ou=3DAcad,dc=3DMyChildDomain,dc=3DMyHolder,dc=
=3DMyHolder1</FONT></U>")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
objUser.AccountDisabled =3D=20
False</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objuser.displayName =
=3D=20
Trim(name)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objUser.SetPassword=20
passw</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objUser.Put =
"pwdLastSet",=20
0</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objuser.description =
=3D=20
"HR"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objuser.HomeDrive =
=3D=20
"H"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
objuser.HomeDirectory =3D=20
"\\MyFileServer\" & username & "$"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> objuser.scriptpath =
=3D=20
"S_H.bat"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
objUser.SetInfo</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Call =
Register(username, name,=20
passwd)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> End If</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>End Sub</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Function CreateTable()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Visible =3D =
True</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Set Book =3D=20
XL.WorkBooks.Add</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Columns(1).ColumnWidth =
=3D=20
20</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Columns(2).ColumnWidth =
=3D=20
20</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(1, 1).Value =
=3D=20
"Username"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(1, 2).Value =3D=20
"Nome"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(1, 3).Value =
=3D=20
"Senha"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> =
XL.Range("A1:C1").Select</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Selection.Font.Bold =3D =
True</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Selection.Font.Italic =
=3D=20
True</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Selection.Font.Size =3D =
18</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>End Function </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Sub Saveas()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> TheDate =3D =
Date</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> TheDate =3D =
Replace(TheDate, "/",=20
"-")</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Suggestion =3D =
"Usu=E1rios Criados "=20
& TheDate & ".xls"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> FileName =3D=20
XL.GetSaveasFilename(Suggestion)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> If FileName <> =
False=20
Then</FONT></DIV>
<DIV><FONT face=3DArial =
size=3D2> =20
Book.SaveAs(FileName)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> End If</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>End Sub</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Sub Registro(Username, Nome, =
senha)</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(Row, 1).Value =3D =
Username</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(Row, 2).Value =3D =
Name</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(Row, 3).Value =3D =
Passw</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> Row =3D Row + =
1</FONT></DIV>
<DIV><FONT face=3DArial size=3D2> XL.Cells(Row, =
1).Select</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>End Sub </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>call Saveas()</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Wscript.echo "See Ya At =
next user=B4s List"=20
</FONT></DIV></BODY></HTML>
------=_NextPart_000_002F_01C3DE82.D66A20A0--