Пытаюсь сделать простую форму (с помощью PowerShell GUI) для редактирования атрибутов пользователя.
В форме есть три элемента управления, два Button ("Выбрать фото" и "Применить изменения") и PictureBox.
Идея заключается в следующем:
При нажатии кнопки "Выбрать фото", выбираю произвольное изображение, например userPhoto.jpg. С помощью функции Resize-Image уменьшаю изображение до нужного размера и вставляю его в PictureBox.
$imgFile = (get-item $openfiledialog.FileName)
$picturebox.Image = Resize-Image -InputFile $imgFile
До этого момента всё работает как задумано.
Хочу добиться того, что бы обрезанное изображение из PictureBox, без промежуточного сохранения в файл, можно было передать в атрибуты пользователя jpegPhoto и thumbnailPhoto с помощью командлета Set-ADUser.
Set-ADUser -Identity testUser -Replace @{ thumbnailPhoto = $picturebox.Image }
Set-ADUser -Identity testUser -Replace @{ jpegPhoto = $picturebox.Image }
При таком коде возникают ошибки:
Invalid type 'System.Management.Automation.PSCustomObject'.
Parameter name: thumbnailPhoto
+ CategoryInfo : InvalidArgument: (testUser:ADUser) [Set-ADUser], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.SetADUser
+ PSComputerName : DC1.local.example.net
Invalid type 'System.Management.Automation.PSCustomObject'.
Parameter name: jpegPhoto
+ CategoryInfo : InvalidArgument: (testUser:ADUser) [Set-ADUser], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.SetADUser
+ PSComputerName : DC1.local.example.net
Понимаю, проблема в этом месте (thumbnailPhoto = $picturebox.Image), но самостоятельно её решить не получается.