none
PowerShell скрпит для загрузки OU и Пользователей в AD RRS feed

  • Вопрос

  • Коллеги подскажите такой момент.

    Есть скрипт для заполнения AD из csv файла:

    Function Test-Exists($path)
    {
    -not [adsi]::Exists($path)
    }

    $objADSI=[ADSI]"LDAP://DC=domen,DC=ru"
    $dataSource=import-csv "newusers.csv"

    foreach($dataRecord in $dataSource) {
    $OU="LDAP://OU={0},{1}" -f $dataRecord.ou,$objADSI.distinguishedName.ToString()
    if(Test-Exists $ou)
    {
    $objOU=$objADSI.Create("organizationalUnit","OU="+$dataRecord.ou)
    $objOU.SetInfo()
    }
    else {$objOU = [ADSI]$OU}

    $CN=$dataRecord.cn
    $SN=$dataRecord.lastName
    $giveName=$dataRecord.firstName
    $sam=$dataRecord.sAMAccountName 
    $userPrincipalName=$sam + "@domen.ru"
    $description=$dataRecord.description
    $profilePath=$dataRecord.profilePath + $sam
    $telNum=$dataRecord.telephoneNumber
    $country=$dataRecord.co
    $countrySign=$dataRecord.c
    $city=$dataRecord.City
    $street=$dataRecord.Street
    $user="LDAP://CN={0},{1}" -f $cn,($objOU.path.replace("LDAP://",""))

    if(Test-Exists $user)
    {
    $objUser=$objOU.Create("user","CN="+$CN)
    $objUser.Put("samaccountname", $sam)
    $objUser.Put("givenname",$giveName)
    $objUser.Put("userPrincipalName",$userPrincipalName)
    $objUser.Put("displayName",$CN)
    $objUser.Put("cn",$CN)
    $objUser.Put("sn",$SN)
    $objUser.Put("description",$description)
    $objUser.Put("mail",$userPrincipalName)
    $objUser.Put("profilePath",$profilePath)
    $objUser.Put("telephoneNumber",$telNum)
    $objUser.Put("co",$country)
    $objUser.Put("c",$countrySign)
    $objUser.Put("countryCode", 643)
    $objUser.Put("l",$city)
    $objUser.Put("streetAddress",$street)
    $objUser.SetInfo()

    $objUser.SetPassword("PASSWORD")
    $objUser.psbase.InvokeSet("AccountDisabled",$false)
    $objUser.SetInfo()
    }
    }

    Не могу понять конструкцию $OU="LDAP://OU={0},{1}"

    Задача: Заполнить AD OU и Пользователями в этих OU. При чем в отдельных OU есть еще подразделения в которых должны быть пользователи.

    Выше написанный скрипт добавляет OU и кладет в него соответствующего пользователя (все указывается в csv файле).

    23 октября 2012 г. 6:59

Ответы

Все ответы