Содержание
1. Создадим файл скрипта установки шрифтов
1.1 Содержимое файла fonts.ps1
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 = "путь"
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
}Примечание:
В пункте $SourceFolder = «путь» необходимо вместо «путь» указать адрес к расположению шрифтов, предварительно поместить файлы .ttf .otf (шрифтов) в данную директорию.
1.2 К директории, где расположен скрипт должен быть предоставлен доступ на все используемые ПК для распространения по GPO.
1.3 Включим выполнение сценариев
1.4 Для добавления файла скрипта необходимо перейти к настройке объекта политики:
1.4.1 Во вкладке Сценарии PowerShell, переходим в Показать файлы
После перехода, откроется директория DNS имя контроллера домена\SysVol. Перейдем в DNS_имя_контроллера_домена\SysVol\DNS_имя_контроллера домена\scripts\ и поместим скрипт fonts.ps1, указывая в Свойствах – Безопасность группу на распространяемые ПК и выдаём права на чтение и выполнение.
1.4.2 Создадим в Автозагрузке сценарий PowerShell, нажав Добавить и указывая в Имя сценария путь DNS_имя_контроллера_домена\SysVol\DNS_имя_контроллера домена\scripts\fonts.ps1
1.4.3 Ожидаем обновления политики или командой в командной строке gpupdate /force обновляем в ручном режиме.
Для проверки выполнения политики в PowerShell выполните команду:
Get-Content C:\Windows\fontinstall.log
Была ли полезна статья?



