none
Powershell и Oracle Internet Directory RRS feed

  • Вопрос

  • Коллеги, добрый день.

    Есть следующая задача:

    Нужно из Powershell работать с Ldap каталогом Oracle, создавать и удалять записи.

    Использую System.DirectoryServices.DirectorySearcher и вытаскиваю свойство properties.orclnetdescstring в ответ получаю binary, хотя должен получить TNS-ку.

    Нашел нечто похожее вот тут, но что с этим делать не очень понимаю :)

    http://stackoverflow.com/questions/5989051/how-to-extract-tnsnames-from-an-ldap-directory

    22 августа 2016 г. 6:44

Ответы

  • [System.Text.Encoding]::ASCII.GetBytes("Hello")
    • Помечено в качестве ответа Dmitry_Vasilyev 22 августа 2016 г. 10:00
    22 августа 2016 г. 9:49
    Отвечающий
  • А что насчет children?

    Использовать Get-Member и не надеться на IntelliSense.

    PS > $de | Get-Member Children
    PS > $de | Get-Member Children -Force -View All
    
    
       TypeName: System.DirectoryServices.DirectoryEntry
    
    Name     MemberType Definition
    ----     ---------- ----------
    Children Property   System.DirectoryServices.DirectoryEntries Children {get;}

    • Помечено в качестве ответа Dmitry_Vasilyev 22 августа 2016 г. 10:11
    22 августа 2016 г. 10:09
    Отвечающий

Все ответы

  • [System.Text.Encoding]::ASCII.GetString($bin[0])

    Использовал вот такую штуку и все поехало.

    • Предложено в качестве ответа ILYA [ sie ] SazonovModerator 22 августа 2016 г. 7:24
    • Отменено предложение в качестве ответа Dmitry_Vasilyev 22 августа 2016 г. 8:17
    22 августа 2016 г. 6:58
  • Коллеги, подскажите, пожалуйста, как удалить и добавить запись из OpenLdap используя Powershell?
    22 августа 2016 г. 7:55
  • Как использовать вот такую штуку

    https://msdn.microsoft.com/ru-ru/library/system.directoryservices.directoryentries.add(v=vs.110).aspx

    вместе с OpenLdap?

    22 августа 2016 г. 8:17
  • Через Create не получается?

    $root = [ADSI]"LDAP://DC=Contoso,DC=COm"
    $ou = $root.Create("organizationalUnit","OU=Test")
    $ou.SetInfO()

    22 августа 2016 г. 9:11
    Отвечающий
  • Надо авторизоваться. Получилось вот так:

    $de = New-Object -TypeName System.DirectoryServices.DirectoryEntry($domain, $useragent, $userpass, $auth)
    $tns = $de.Children.Add("cn=sid","orclnetService")
    $tns.CommitChanges()

    Только почему-то ISE не подсвечивает Children, удалось только гуглом отыскать.

    + еще вопрос как [System.Text.Encoding]::ASCII.GetString($bin[0]) сделать наоборот, чтобы из текста в binary перевести?


    22 августа 2016 г. 9:44
  • [System.Text.Encoding]::ASCII.GetBytes("Hello")
    • Помечено в качестве ответа Dmitry_Vasilyev 22 августа 2016 г. 10:00
    22 августа 2016 г. 9:49
    Отвечающий
  • А что насчет children?
    22 августа 2016 г. 10:00
  • А что насчет children?

    Использовать Get-Member и не надеться на IntelliSense.

    PS > $de | Get-Member Children
    PS > $de | Get-Member Children -Force -View All
    
    
       TypeName: System.DirectoryServices.DirectoryEntry
    
    Name     MemberType Definition
    ----     ---------- ----------
    Children Property   System.DirectoryServices.DirectoryEntries Children {get;}

    • Помечено в качестве ответа Dmitry_Vasilyev 22 августа 2016 г. 10:11
    22 августа 2016 г. 10:09
    Отвечающий
  • Спасибо :)
    22 августа 2016 г. 10:11
  • А что насчет children?

    Использовать Get-Member и не надеться на IntelliSense.

    PS > $de | Get-Member Children
    PS > $de | Get-Member Children -Force -View All
    
    
       TypeName: System.DirectoryServices.DirectoryEntry
    
    Name     MemberType Definition
    ----     ---------- ----------
    Children Property   System.DirectoryServices.DirectoryEntries Children {get;}

    $DE = New-Object -TypeName System.DirectoryServices.DirectoryEntry($domain, $useragent, $userpass, $auth)
    $DE | get-member
    get-member : The following exception occurred while retrieving members: "Unknown error (0x8000500c)"
    At line:8 char:7
    + $DE | get-member
    +       ~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Get-Member], ExtendedTypeSystemException
        + FullyQualifiedErrorId : CatchFromBaseGetMembers,Microsoft.PowerShell.Commands.GetMemberCommand
    22 августа 2016 г. 11:27
  • Попробовать фикс: https://support.microsoft.com/en-us/kb/2802148
    22 августа 2016 г. 11:48
    Отвечающий
  • Патч не ставится. С ADDS нормально считывает. С OID не хочет.

    + не работает children.find() c параметрами, вываливается с такой же ошибкой.

    22 августа 2016 г. 17:55
  • В принципе все сделал. Спасибо.
    22 августа 2016 г. 19:57