1000+ инструкций в блоге SoftComputers
0 0 голоса
Рейтинг

Установка новых шрифтов на компьютеры в домене Active Directory — задача, которая может быть автоматизирована с использованием групповых политик (GPO) или PowerShell-скриптов. Это позволяет централизованно управлять шрифтами на рабочих станциях и серверах, обеспечивая единообразие и соответствие корпоративным стандартам. В статье мы рассмотрим два метода установки шрифтов: через Group Policy Preferences для небольшого количества шрифтов и с помощью PowerShell для массовой установки. Инструкции протестированы на Windows 10 (20H2) и Windows Server 2016/2019.

Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽

1. Установка шрифтов через групповые политики

Для установки одного или нескольких шрифтов используйте возможности Group Policy Preferences. Процесс включает копирование файла шрифта (.ttf) в системный каталог и добавление записи в реестр.

Подготовка файлов

1. Скопируйте файл шрифта (.ttf) в сетевую папку, доступную клиентам, например:

– Каталог SYSVOL на контроллере домена: \\resource.loc\SYSVOL\resource.loc\scripts\Fonts.

– Или другая общая папка на файловом сервере.

Создание GPO

1. Запустите редактор групповых политик: gpmc.msc (Конфигурация компьютера -> Управление групповыми политиками).

2. Создайте новую политику, например, GPO_InstallFonts, и свяжите ее с нужной OU, содержащей компьютеры.

3. Перейдите в режим редактирования политики.

Копирование файла шрифта

1. В редакторе GPO перейдите в раздел:

Computer Configuration -> Preferences -> Windows Settings -> Files

(Конфигурация компьютера -> Настройки -> Параметры Windows -> Файлы).

2. Создайте новое правило копирования файла:

Source: \\resource.loc\SYSVOL\resource.loc\scripts\Fonts\Roboto-Black.ttf

Destination: %WindowsDir%\Fonts\Roboto-Black.ttf

Настройка реестра

1. Перейдите в раздел:

Computer Configuration -> Preferences -> Windows Settings -> Registry

(Конфигурация компьютера -> Настройки -> Параметры Windows -> Реестр).

2. Используйте мастер импорта параметров реестра:

– Выберите New -> Registry Wizard (Мастер создания элементов реестра).

– Подключитесь к компьютеру, где шрифт уже установлен вручную.

– В ветке HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts найдите параметр, соответствующий шрифту (например, Roboto Black).

– Импортируйте этот параметр в GPO.

Проверка установки

1. Обновите политики на клиентском компьютере командой:


gpupdate /force

2. Проверьте наличие шрифта в панели управления Windows:

Settings -> Personalization -> Fonts

(Параметры -> Персонализация -> Шрифты).

3. Если шрифт не установился, выполните диагностику:

– Проверьте применение политики командой:


gpresult /r

– Убедитесь, что политика назначена на правильную OU и файл шрифта доступен.

2. Массовое развертывание шрифтов через PowerShell

Для установки большого количества шрифтов (.ttf или .otf) создание отдельных правил в GPO становится неэффективным. В этом случае используйте PowerShell-скрипт, который автоматизирует копирование файлов и настройку реестра.

PowerShell-скрипт для установки шрифтов

Следующий скрипт копирует все шрифты из сетевой папки в системный каталог %WindowsDir%\Fonts, регистрирует их в реестре и записывает действия в лог-файл.


function WriteLog
{
Param ([string]$LogString)
$Stamp = (Get-Date).toString("yyyy/MM/dd HH:mm:ss")
$LogMessage = "$Stamp $LogString"
Add-Content $LogFile -value $LogMessage
}
$Logfile = "C:\windows\fontinstall.log"
$SourceFolder = "\\resource.loc\SYSVOL\resource.loc\scripts\Fonts"
Add-Type -AssemblyName System.Drawing
$WindowsFonts = [System.Drawing.Text.PrivateFontCollection]::new()

Get-ChildItem -Path $SourceFolder -Include *.ttf, *.otf -Recurse -File |
Copy-Item -Destination "$env:SystemRoot\Fonts" -Force -Confirm:$false -PassThru |
ForEach-Object {
WriteLog "Installing font file $_.Name"
$WindowsFonts.AddFontFile($_.fullname)
$RegistryValue = @{
Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts'
Name = $WindowsFonts.Families[-1].Name
Value = $_.Fullname
}
$RemoveRegistry = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"
Remove-ItemProperty -Name $($WindowsFonts.Families[-1].Name) -Path $RemoveRegistry
New-ItemProperty @RegistryValue
}

Как работает скрипт

WriteLog: Функция логирования записывает время и действия в файл C:\windows\fontinstall.log.

SourceFolder: Указывает сетевую папку с файлами шрифтов (.ttf, .otf).

Copy-Item: Копирует шрифты в системный каталог.

System.Drawing: Регистрирует шрифты в системе.

New-ItemProperty: Добавляет информацию о шрифте в реестр.

В результате все файлы шрифтов из указанной папки будут установлены в Windows, а в лог файл попадет информацию о времени установки шрифта.

Развертывание скрипта через GPO

1. Сохраните скрипт в файл, например, InstallFonts.ps1, в папке NETLOGON:

\\resource.loc\SYSVOL\resource.loc\scripts

2. Создайте или отредактируйте GPO (например, GPO_InstallFonts).

3. Перейдите в:

User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) -> Logon

(Конфигурация пользователя -> Политики -> Параметры Windows -> Сценарии (вход/выход) -> Вход).

4. Добавьте скрипт:

Script Name: \\resource.loc\SYSVOL\resource.loc\scripts\InstallFonts.ps1

Script Parameters: (оставьте пустым).

5. Убедитесь, что политика применяется к нужной OU.

Проверка и диагностика

1. Выполните gpupdate /force на клиентском компьютере.

2. Проверьте наличие шрифтов в Settings -> Personalization -> Fonts.

3. Проверьте лог-файл C:\windows\fontinstall.log для анализа выполненных действий.

4. Если скрипт не сработал, убедитесь, что:

– PowerShell Execution Policy позволяет запуск скриптов (Set-ExecutionPolicy RemoteSigned).

– Учетная запись компьютера имеет доступ к сетевой папке.

3. Рекомендации и устранение неполадок

Диагностика GPO: Используйте gpresult /r для проверки применения политики.

Права доступа: Убедитесь, что клиенты имеют права на чтение файлов шрифтов в сетевой папке.

Совместимость: Тестируйте шрифты на одной машине перед массовым развертыванием.

Логирование: Лог-файл PowerShell-скрипта помогает отслеживать ошибки установки.

Обновление политик: Если политика не применяется, проверьте настройки DNS и доступность контроллера домена.

Установка шрифтов в домене Active Directory может быть выполнена через GPO для небольшого количества шрифтов или с помощью PowerShell для массового развертывания. GPO удобен для точечной настройки, а PowerShell-скрипт экономит время при работе с множеством шрифтов, обеспечивая логирование. Оба метода требуют проверки доступа к файлам и корректной конфигурации политик. Используйте gpresult и лог-файлы для диагностики, чтобы гарантировать успешную установку шрифтов на всех компьютерах домена.

author avatar
copywriter
banner for Windows Server
Лицензионный ключ активации Windows Server от
1190 ₽ Купить
0 0 голоса
Рейтинг
Подписаться
Уведомить о
guest
     
0 отзывов
65
Межтекстовые Отзывы
Посмотреть все комментарии