用于创建AD帐户的VBScript

时间:2013-03-07 19:37:54

标签: vbscript

以下代码看起来不错吗?想知道是否有人能发现我可能犯过的任何错误。这将从预先格式化的Excel文档中提取 - 我已经指定了所有需要的Cell位置。

我想澄清的事情:

  • 你可以多少次调用SetInfo并且我使用它多于需要它?我觉得在使用SetPassword之前需要一个SetInfo,但我可能会非常错误。

  • 这条线看起来不错吗?我是否正确使用逗号分隔多个单元格以便将所有信息放在一起?我知道它适用于Echo命令:

    Set objUser = objOU.Create _
    ("User", "cn=" & objExcel.Cells(intRow, 3).Value, objExcel.Cells(intRow, 2).Value, objExcel.Cells(intRow, 19).Value)
    
  • 这是设置密码永不过期的正确代码吗?

    objUser.Put "userAccountControl", intUAC XOR _
    ADS_UF_DONT_EXPIRE_PASSWD
    
  • 下面的完整代码,我很感激任何有关其他任何内容的反馈。

    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open _
        ("C:\Book1.xls")
    intRow = 2
    Do Until objExcel.Cells(intRow,1).Value = ""
        Set objOU = GetObject _
        ("ou=" & objExcel.Cells(intRow, 13).Value & _
            ", dc=satdc, dc=com")
        Set objUser = objOU.Create _
            ("User", "cn=" & objExcel.Cells(intRow, 3).Value, objExcel.Cells(intRow, 2).Value, objExcel.Cells(intRow, 19).Value)
        objUser.sAMAccountName = objExcel.Cells(intRow, 19).Value & ".sat"
        objUser.GivenName = objExcel.Cells(intRow, 3).Value
        objUser.SN = objExcel.Cells(intRow, 2).Value
        objUser.SetInfo
        objUser.AccountDisabled = False
        objUser.AccountExpirationDate = Date + 365
        objUser.SetPassword objExcel.Cells(intRow, 9).Value
        objUser.SetInfo
        objUser.Put "userAccountControl", intUAC XOR _
            ADS_UF_DONT_EXPIRE_PASSWD
        objUser.HomeDirectory = "\\satdc" & "\" & "Users" & "\" & _
            objUser.Get("sAMAccountName")
        objUser.homeDrive = "U:"
        objUser.SetInfo
        intRow = intRow + 1
    Loop
    objExcel.Quit
    

0 个答案:

没有答案