将域用户和组添加到本地管理员

时间:2015-04-27 19:21:00

标签: vbscript

我有一段我修改过的VBS代码,它基本上将指定的域用户和组添加到PC本地Administrators组。它在Windows 7上运行正常,但在Windows 8上完全没有。

Call AddUserToGroup("./Administrators", "myDomain.net/NetworkAdminis")
Call AddUserToGroup("./Administrators", "myDomain.net/Domain Admins")
Call addDomainUser("myDomain", "myUserGroup")

Sub AddUserToGroup(local, domain)
    On Error Resume Next

    Dim objLocalGroup
    Dim objDomainGroup
    Dim server

    For Each server in servers
        Set objLocalGroup = GetObject("WinNT://" & local & ",group")
        Set objDomainGroup = GetObject("WinNT://" & domain & ",group")
        With objLocalGroup
            .Add(objDomainGroup.AdsPath)
            .SetInfo
        End With            
    Next

    Set objLocalGroup = Nothing
    Set objDomainGroup = Nothing
End Sub

Sub addDomainUser(strDomain, strUser)
    Dim strComputer
    Dim objWshNet
    Dim objGroup
    Dim objUser

    Set objWshNet = CreateObject("WScript.Network")
    strComputer = objWshNet.ComputerName
    Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
    Set objUser = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
    If Not objGroup.IsMember(objUser.ADsPath) Then
        objGroup.Add (objUser.ADsPath)
    End If

    Set objWshNet = Nothing
    Set objGroup = Nothing
    Set objUser = Nothing
End Sub

我已经使用VBA的IDE逐行调试了代码,似乎没有错误条件触发。它执行所有行,但不像Windows 7及更低版本那样添加用户和组。该脚本以本地管理员身份运行。

0 个答案:

没有答案