none
PowerShell и LDIF RRS feed

  • Вопрос

  • Есть задача экспорт данных в AD LDS

    Схема в  AD настроена на следующую структуру данных:

    C=RU

       ST=

           L=

               O=

    Ввиду того что имя организации на русском языке и используются кавычки, то решил предварительно преобразовать данные в Base64. Не могу понять как правильно передать кавычки.

    В чистом виде LDIF файл выглядит так:

    dn: O=ОАО \"Рога и копыта\",L=Москва,ST=Москва,C=RU
    objectClass: top
    objectClass: organization
    o: ОАО "Рога и Копыта"

    Далее через строку [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($x1))

    где $x1- значение строк 1,4

    так не работает, в чем проблема?

     


    Aleksey


    • Изменено fradon 27 ноября 2012 г. 13:03
    27 ноября 2012 г. 13:02

Ответы

Все ответы

  • Имя атрибута на латинице,так же добавляется :: и только значение атрибута в base64.

    <имя_атрибута>:: <base64_значение_атрибута>

    27 ноября 2012 г. 13:12
    Отвечающий
  • Вопрос встал как перенести кавычки в LDAP через 64


    Aleksey

    27 ноября 2012 г. 13:20
  • dn:: <Base64>

    Как окультурить кавычки, чтобы импортировав через LDIF, я бы получил o=ОАО "Рога и Копыта" 


    Aleksey

    27 ноября 2012 г. 13:23
  • 'O=ОАО \"Рога и копыта\",L=Москва,ST=Москва,C=RU' | Foreach {[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($_))}
    • Помечено в качестве ответа KazunEditor 28 ноября 2012 г. 7:23
    27 ноября 2012 г. 14:38
    Отвечающий
  • Пробовал при импорте в AD LDS ругается на первую строчку dn.
    Пишет Invalid DN
    Я подумал может с \" это не вариант? \-сам по себе спец символ.


    Aleksey


    • Изменено fradon 28 ноября 2012 г. 6:09
    28 ноября 2012 г. 5:39
  • Пробовал при импорте в AD LDS ругается на первую строчку dn.
    Я подумал может с \" это не вариант? \-сам по себе спец символ.


    Aleksey

    Проверил на создании пользователя:

    PS > gc 1.ldf
    DN: CN=Ол\"е\"к Тест,OU=Users,DC=Contoso,DC=Com
    changetype: add
    CN: Ол"е"к Тест
    objectClass: user
    sAMAccountName: alextest
    userPrincipalName: alextest@contoso.com
    givenName: Alex
    sn: Test
    displayName: Test, Alex
    
    Конвертируем в Base64
    
    PS > gc 1.ldf
    DN:: Q0490J7Qu1wi0LVcItC6INCi0LXRgdGCLE9VPVVzZXJzLERDPUNvbnRvc28sREM9Q29t
    changetype: add
    CN:: 0J7QuyLQtSLQuiDQotC10YHRgg==
    objectClass: user
    sAMAccountName: alextest
    userPrincipalName: alextest@contoso.com
    givenName: Alex
    sn: Test
    displayName: Test, Alex
    
    Импортируем
    
    PS > ldifde -i -f 1.ldf -k
    Connecting to "dc.contoso.com"
    Logging in as current user using SSPI
    Importing directory from file "1.ldf"
    Loading entries..
    1 entry modified successfully.
    
    The command has completed successfully
    
    Проверяем
    
    PS C:\Users\Administrator> Get-ADUser alextest
    
    
    DistinguishedName : CN=Ол\"е\"к Тест,OU=Users,DC=Contoso,DC=Com
    Enabled           : False
    GivenName         : Alex
    Name              : Ол"е"к Тест
    ObjectClass       : user
    ObjectGUID        : 6c308453-3d62-4135-8684-ab96ac28f1bb
    SamAccountName    : alextest
    SID               : S-1-5-21-426877971-1972103978-3236753350-1326
    Surname           : Test
    UserPrincipalName : alextest@contoso.com

    28 ноября 2012 г. 6:05
    Отвечающий
  • Спасибо. Попробовал еще раз сработало. Видимо я напортачил еще помимо dn.


    Aleksey

    28 ноября 2012 г. 7:20