Экспорт SID из AD

st0m
Дата: 23.01.2013 15:50:18
день добрый!

Подскажите пожалуйста, никак не могу понять в чем ошибка. У меня достаточно тривиальная для этого форма задача, однако решение своей проблемы найти не смог. Мне необходима выгрузить некоторые поля из AD, в том числе и objectSID, а вот с ним чтото не получается. Вот мой код

Public Overrides Sub CreateNewOutputRows()
        Dim de As New DirectoryEntry
        Dim searcher As New DirectorySearcher
        Dim search_result As SearchResultCollection
        Dim result As SearchResult
        Dim MemberOfList As StringBuilder
        Dim props As ResultPropertyCollection
        Dim PropertiesList, s, sid As String
        Dim i As Integer




        Using (de)
            de.Path = Me.ReadOnlyVariables("gLDAPQuery").Value.ToString()

            Using (searcher)
                searcher.SearchRoot = de
                searcher.Filter = Me.ReadOnlyVariables("gLDAPFilter").Value.ToString()
                searcher.SearchScope = SearchScope.Subtree
                searcher.PropertiesToLoad.Add("name")
                searcher.PropertiesToLoad.Add("objectSID")
                

                searcher.Sort = New SortOption("name", SortDirection.Ascending)

                searcher.PageSize = 1000

                search_result = searcher.FindAll()

                For Each result In search_result
                    props = result.Properties
                    ActiveDirectoryOutputBuffer.Name = props("name")(0).ToString()
                    
                    sid = props("objectSID")(0).ToString

                    ActiveDirectoryOutputBuffer.objectSID = Encoding.ASCII.GetString(props("objectSID"))
                   Next
            End Using
        End Using

        de = Nothing
        searcher = Nothing
        search_result = Nothing
        result = Nothing
        props = Nothing
     
    End Sub

End Class


Нашел информацию о том что objectSID выгружается как массив, но вот преобразовать его в string никак не получается.
Glory
Дата: 23.01.2013 15:52:34
А MSSQL тут с какой стороны ?
st0m
Дата: 23.01.2013 15:55:35
ну выгружвю я в SQL. )) Да, наверное я ошибся веткой...
LogrusAS
Дата: 23.01.2013 17:42:46
Веткой конечно ошибся, но вот ответ:
    ActiveDirectoryOutputBuffer.objectSID = new SecurityIdentifier((byte[])props("objectSID")(0), 0).ToString();
st0m
Дата: 24.01.2013 13:19:18
Спасибо за ответ, не думал что в этой ветке ответят..

написал практичски тоже самое
sid = (byte[])props("objectSID")(0) 
                    ActiveDirectoryOutputBuffer.objectSID = New SecurityIdentifier(sid, 0).ToString()



но что в вашем варианте, что в моем подчеркивает byte и выдает ошибку "byte is a type and cannot be used as an expression"