Развертывание шрифтов с помощью PowerShell и GPO

Установить сторонние шрифты в формате .ttf на рабочие станции в домене.

Чтобы установить в систему новый шрифт нужны административные права. Более того, недостаточно просто скопировать файл шрифта в соответствующую системную папку, нужно ещё зарегистрировать его в системном реестре. Если при копировании в GUI регистрация выполняется автоматически, то в скриптах все несколько сложнее.

Для начала необходимо создать общую папку (или настроить существующую) и назначить права на чтение группам Все, Система, и группе в которую входят рабочие станции на которые будет производиться развертывание. Установка будет происходить от имени учетной записи "Система", поэтому нужно протестировать что ей хватит прав на доступ к общей папке. Для проверки можно использовать утилиту PSExec из набора PSTools. Достаточно создать в общей папке текстовый документ с любым содержанием и попробовать открыть его с тестовой машины от имени системы. Вот так psexec -s cmd и type \\server\share\text.txt. Если удалось прочитать текст из файла - значит права назначены правильно.

Установку шрифтов будем производить скриптом на PowerShell:

#Font Locations
#Network Location
$NetworkPath = '\\servername\ScriptDeployment\Fonts'
#Local Location (temp place to store fonts)
$LocalPath= "C:\Users\Public\Fonts\"

$FONTS = 0x14
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace($FONTS)

New-Item $LocalPath -type directory -Force
Copy-Item "$NetworkPath\*" $LocalPath

$Fontdir = dir $LocalPath
foreach($File in $Fontdir)
{
if ((Test-Path "C:\Windows\Fonts\$File") -eq $False)
{
$objFolder.CopyHere($File.fullname,0x10)
}
}

Создаем новую политику, применяемую для интересующей нас группы компьютеров. В разделе Конфигурация компьютера > Политики > Конфигурация Windows > Сценарии > Автозагрузка добавляем наш PS-скрипт. После применения политики на компьютерах группы будут установлены все шрифты из папки, указанной в переменной $NetworkPath.

Profit!

Light Spirit Funky Solutions © 2010 ‒ 2024