我想根据CSV文件中的名称将用户添加到组中

时间:2011-11-03 13:07:32

标签: windows scripting powershell active-directory powershell-v2.0

我有以下代码可以使用户,但是当我在CSV文件中写入组时,用户不会添加到该组。  我能够在服务器上运行此权限。 该小组属于一个更大的群体的小组。所以我也不确定如何通知Powershell我想成为一个小组。

这是可行的路径吗? BILOMNI.BILPROMETRIC.ROOT / EasyServe_OU / EasyServeChannel_OU / Channel_CenterUsers_OU

我也有该组的唯一名称 RequestingAccess_CenterUsers_GG

        $computer = $ENV:COMPUTERNAME;
        $users = Import-Csv "C:\Users.csv";

    Foreach ($user in $users)
    {
    #for ($i=0; $i -le 2000; $i++)
    #{
        # Grab required info
        $userName = $user.User
        $objOu = [ADSI]"WinNT://$computer"
        $Group = $user.Group

        # Create user
        $objUser = $objOU.Create("User", $userName + $i)
        $objUser.setpassword($user.password)
        $objUser.SetInfo()

        # Find target group and add the user to it
        $de = [ADSI]"WinNT://$computer/$Group,Group"
        $de.add([ADSI]"WinNT://$computer/$userName")

       # }
    }

    The following exception occurred while retrieving member "add": "An invalid dn syntax has been specified.
"
At C:\Users\dennis.hayden\Desktop\makingbilusers.ps1:20 char:12

+     $de.add <<<< ([ADSI]"LDAP://$computer/$userName")

    + CategoryInfo          : NotSpecified: (:) [], ExtendedTypeSystemException

    + FullyQualifiedErrorId : CatchFromBaseGetMember

以下是我使用的CSV文件:

User,Group,password

Masstestuser,RequestingAccess_CenterUsers_GG,P@ssWord

1 个答案:

答案 0 :(得分:1)

您可以尝试按Wint://更改所有LDAP://并修改您的代码,如下所示:

# Find target group and add the user to it
$de = [ADSI]"LDAP://$computer/$Group,Group"
$user=[ADSI]"LDAP://$computer/$userName"
$de.add($user.Path)

# Commit
$de.setinfo()