CM: Cmdlet для создания иконки приложения

Наверняка, многие из тех, кто использует командлеты Configuration Manager, сталкивались с проблемой создания приложения с иконкой размером больше 250×250. При попытке добавить иконку большего размера с помощью командлета New-CMApplication или Set-CMApplication выдается сообщение:

WARNING: The maximum size of an icon is 250px X 250px.

Об этом также есть отзыв на странице UserVoice — New-CMApplication rejects icons larger than 250×250

Ниже приведен командлет, который я использую для добавления иконок большего размера

function New-CMApplicationIcon {
    [OutputType([Microsoft.ConfigurationManagement.ApplicationManagement.Icon])]
    param(
        [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
        [System.IO.FileInfo]$FileName
    )
    process {
        [System.Drawing.Image]$Bitmap = $null
        [Microsoft.ConfigurationManagement.ApplicationManagement.Icon]$Icon = $null
        try {
            if ($FileName.Exists) {
                $Bitmap = [System.Drawing.Image]::FromFile($FileName.FullName)
                if ($Bitmap.Height -gt 512 -or $Bitmap.Width -gt 512) {
                    throw "Image size is out of range"
                }
                $Icon = New-Object Microsoft.ConfigurationManagement.ApplicationManagement.Icon($Bitmap)
                return $Icon
            }
        }
        finally {
            if ($Bitmap -ne $null) {
                $Bitmap.Dispose()
                $Bitmap = $null
            }
        }
    }
}

Далее мы можем использовать этот командлет совместно с остальными командлетами Configuration Manager, например:

$ApplicationIcon = New-CMApplicationIcon `
    -File ".\Icon\512px-Yandex_Browser_logo.png"
$LanguageId = [System.Globalization.CultureInfo]::GetCultureInfo("ru-ru").LCID
$DisplayInfo = New-CMApplicationDisplayInfo `
    -LanguageId $LanguageId `
    -Title "Яндекс Браузер" `
    -Description "Быстрый и безопасный браузер с голосовым помощником Алисой."
$DisplayInfo.Icon = $ApplicationIcon
$Application = New-CMApplication `
    -Name "Yandex Browser" `
    -Publisher "Yandex" `
    -SoftwareVersion "Latest" `
    -ReleaseDate [DateTime]::Today `
    -AppCatalog $DisplayInfo `
    -DefaultLanguageId $LanguageId