2015-11-19 2 views
0

Я использую скрипт powershell для экспорта атрибута active directory thumbnailPhoto в таблицу сервера sql. Целью является отображение фотографии с использованием asp.net.Powershell - кодировка для экспорта AD thumbnailPhoto

Проблема заключается в том, что я конвертирую ее в строку (столбец в tsql - nvarchar), который затем дает мне значения RGB. Не используя строку просто дает мне «System.Byte []»

Значения сохраняются, как это:

255 216 255 225 0 24 69 120 105 102... 

вместо того, что я надеялся:

ffd8ffe1001845786966000049492a... 

Это часть мой сценарий:

ForEach ($user in $users) { 
$tempUser = New-Object PSObject -Property @{ sAMAccountName=""; thumbnail="" } 
$tempUser.thumbnail = $user.thumbnailPhoto 
} 
.... 
$datatable = New-Object System.Data.Datatable "insert" 
$datatable.Columns.Add("thumbnail") | Out-Null 
ForEach ($user in $SQLusers) { 
    $row = $datatable.NewRow() 
$row["thumbnail"] = [String]$user.thumbnail 
$datatable.Rows.Add($row) 
} 

Так что мой вопрос дрейфует в двух направлениях:

  • Как я могу отобразить выше значения RGB с помощью asp.net?

  • или как преобразовать значения RGB, чтобы получить правильную байтовую кодировку?

спасибо.

ответ

1

это работало для меня:

[Convert]::ToBase64String($user.thumbnailPhoto)