Я использую Windows 2019 Terminal Server в доменной среде (и, следовательно, у меня нет локальной учетной записи администратора, только учетная запись администратора домена). Когда я вхожу в систему как администратор и устанавливаю шрифты, они устанавливаются только для этого пользователя (т. е. администратора).
Файлы ttf попадают в , C:\Users\Administrator\AppData\Local\Microsoft\Windows\Fonts
а не в C:\Windows\Fonts
. Кроме того, шрифт зарегистрирован в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Fonts
, а не в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
.
Я даже запустил скрипт VBS, который устанавливает шрифты, и запустил его через запланированную задачу, используя учетную запись SYSTEM, но это поместило шрифты в C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\Fonts
, т. е. локально для учетной записи SYSTEM.
Есть ли способ принудительно установить шрифты для всех пользователей?
решение1
Ответ прост: Когда вы нажимаете правой кнопкой мыши на шрифт, есть хорошо известная опция "установить" его. Прямо ниже есть опция "установить для всех пользователей", которая делает то, что мне нужно.
(Извините за мою слепоту, я так часто пользовался этой функцией, что перестал читать меню и полностью пропустил «установить для всех пользователей».)
решение2
В некоторых версиях Windows Server эта опция недоступна при щелчке правой кнопкой мыши.
Для них решением является создание GPO, а именно "Установить пользовательские шрифты", который установит шрифты из доступного сетевого ресурса, например "\fileserver\Fonts". В целях безопасности следует сделать ресурс доступным только для чтения.
GPO необходимо выполнить 2 шага: * скопировать файл шрифта, используя путь Computer\Preferences\Files, используя режим «обновления» и выбрав исходный путь «\fileserver\Fonts\thefont.ttf» с путем назначения «c:\windows\fonts\thefont.ttf». * записать шрифт в реестр, создав новую запись для HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Fonts, с именем «The Font (TrueType)»последняя часть со скобками обязательна, и со значением "thefont.ttf".
Свяжите GPO в организационной единице, к которой принадлежат ваши целевые серверы/компьютеры. Подключитесь к машине и запустите "gpupdate /force" из командной строки (она же cmd) или перезагрузите машину.
Это почти спасло мне неделю.
решение3
Есть другой способ. Используя командную строку администратора, скопируйте файл(ы) шрифта в папку "c:\windows\fonts". Затем отредактируйте реестр, чтобы добавить имя файла шрифта в список в (HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts). Перезагрузите машину. Я использовал это, чтобы установить шрифт штрих-кода на нашем терминальном сервере для наших пользователей склада.