我使用powershell脚本将活动目录thumbnailPhoto属性导出到sql server表。 目标是使用asp.net显示照片。
我遇到的问题是我将它转换为字符串(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)
}
所以我的问题分为两个方向:
如何使用asp.net显示RGB值以上?
或如何转换RGB值以获得正确的字节编码?
谢谢。
答案 0 :(得分:1)
这对我有用:
[Convert]::ToBase64String($user.thumbnailPhoto)