Добавление фотографий в GAL Exchange и AD PowerShell

Cкрипт для массовой загрузки-ресайза фотографий.

Выполнять в консоли PShell exchange

[PS] C:\Windows\system32>cd C:\photos
[PS] C:\photos>.\BatchConverter.ps1 -InputFolder .\Input -OutputFolder .\Output
Converting C:\photos\Input\ivanov.jpg
USER ivanov
[PS] C:\photos>

Что делает скрипт:
Ищет файлы с расширением =».jpg»,».jpeg»,».bmp»,».tif»,».tiff»,».gif»,».png» по пути C:\photos\input (Имя файла == логину пользователя)
Ресайзит их до размера 96*96 пикселей (Максимальный размер для AD)
Загружает фото в AD

param($InputFolder,$OutputFolder,$Quality);
if (!$InputFolder -or !$OutputFolder)
{
    throw "НЕ введены параметры инпут-оутпут папок";
}
if (!(Test-Path $InputFolder))
{
    throw "InputFolder нет папки";
}
if (!(Test-Path $OutputFolder))
{
    throw "OutputFolder нет папки";
}
$FullOutputFolderPath = (Get-Item $OutputFolder).FullName
if (!$Quality)
{
    $Quality = 100;
}
$Items = Get-ChildItem $InputFolder
if ($Items.Count -eq 0)
{
    throw "No items in folder"
}
[array]$ValidExt=".jpg",".jpeg",".bmp",".tif",".tiff",".gif",".png"
foreach ($Item in $Items)
{
    if ($ValidExt -contains $Item.Extension)
    {
        Write-Output "Converting $($Item.FullName)"
        .\convert.exe -quality $Quality -depth 8 -strip -thumbnail 96x96^ -gravity Center -crop 96x96+0+0 $Item.FullName "$($FullOutputFolderPath)\$($Item.BaseName).jpg"
        Write-Output "USER $($Item.BaseName)"
        Import-RecipientDataProperty -Identity "$($Item.BaseName)" -Picture -FileData ([Byte[]]$(Get-Content -Path "$($FullOutputFolderPath)\$($Item.BaseName).jpg" -Encoding Byte -ReadCount 0))
    }
}

Добавление фотографий в GAL Exchange и AD PowerShell: 4 комментария

  1. Евгений

    Коллега, а что это за загадочный convert.exe который должен лежать в рабочей папке? Какая-то сторонняя утилита, о который Вы забыли упомянуть? 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.