PSImageTools не может загрузить Wia.ImageFile - PullRequest
1 голос
/ 20 марта 2012

Я установил PowerShellPack на компьютере с Server 2008 R2, но не могу использовать модуль PSImageTools.Все операции с изображениями дают ошибку New-Object : Cannot load COM type Wia.ImageFile.Я попытался установить тот же пакет на моем ноутбуке с Windows 7, и там он работает.

Я полагаю, что это должно быть из-за отсутствия Dll: s на сервере, но даже копирование файлов wia*.dll в System32 изноутбук (нет соответствующих файлов уже на месте) помогает.Невозможно зарегистрировать библиотеки DLL (например, regsvr32 wiaaut.dll), на которые отвечает «Файл не удалось загрузить».

Итак, кто-нибудь успешно использовал Wia на Windows Server 2008?Мы собираемся запустить запланированный сценарий powershell для обновления внешнего вида наших пользователей, поэтому он должен быть в состоянии работать на сервере.

Ответы [ 2 ]

2 голосов
/ 08 декабря 2012

Нашел эту статью после долгих поисков: http://kb.winzip.com/kb/entry/207/

По сути, вам нужно включить и установить Автоматически службу «Сбор изображений Windows» в Windows 2003 или Windows 2008, сначала установить функцию Desktop Experience, затем включить службу «Сбор изображений Windows» и установить Автоматически.

2 голосов
/ 20 марта 2012

Я получаю ту же ошибку на Windows Server 2008 x64. Пробовал как x64, так и x86 версию PowerShell v2.

В качестве альтернативы вы можете использовать System.Drawing.Image. Зависит от того, что должен делать ваш скрипт. Возможно, опубликуйте пример кода.

http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx

Add-Type -AssemblyName System.Drawing
$image = [System.Drawing.Image]::FromFile("C:\pic.bmp")

РЕДАКТИРОВАТЬ : Вот как вы можете изменить размеры изображения:

$pixWidth = 90
$pixHeight = 90
$image2 = New-Object System.Drawing.Bitmap -ArgumentList $image, $pixWidth, $pixHeight
$image2.Save('C:\new_pic.bmp', [System.Drawing.Imaging.ImageFormat]::Bmp)
...