이 문서에서는 그룹 정책 및 PowerShell 스크립트를 사용하여 Active Directory 도메인의 컴퓨터에 추가 글꼴을 설치하는 방법을 보여줍니다. 이 가이드는 현재 Windows 10 20H2 및 Windows Server 2016/2019 빌드에서 테스트되었습니다.
내용:
- GPO를 통해 새 글꼴 배포
- PowerShell 로그온 스크립트를 사용하여 Windows 글꼴 설치
GPO를 통해 새 글꼴 배포
하나 또는 두 개의 새 글꼴을 설치하려는 경우 그룹 정책을 사용하여 설치할 수 있습니다. 글꼴을 설치하려면 *.ttf 파일을 %WindowsDir%\Fonts\에 복사하세요. 클라이언트 컴퓨터에서 새 글꼴 정보를 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts에 추가합니다. 레지스트리 키.
- TTF 글꼴 파일을 파일 서버의 공유 네트워크 폴더에 복사합니다(새 글꼴이 몇 개만 있는 경우 도메인 컨트롤러의 SYSVOL 폴더에 저장할 수 있음).
- 도메인 그룹 정책 관리 콘솔(
gpmc.msc
), 새 정책 GPO_InstallFonts를 만들고 컴퓨터가 있는 OU에 연결합니다. - 정책 수정
- 그룹 정책 기본 설정에서 새 규칙을 만들어 공유 폴더의 글꼴 파일을
%WindowsDir%\Fonts\
로 복사합니다. 클라이언트 장치에서. 이전에 GPO를 사용하여 파일을 컴퓨터에 복사하는 방법을 보여주었습니다. 다음 지침에 따라 그룹 정책을 만듭니다. 컴퓨터 구성 -> 기본 설정 -> Windows 설정 -> 파일으로 이동합니다. . 아래 매개변수를 사용하여 정책 항목을 만듭니다. 소스:\\woshub.com\SYSVOL\woshub.com\scripts\Fonts\Roboto-Black.ttf
대상:%WindowsDir%\Fonts\Roboto-Black.ttf
- 이제 새 글꼴에 대한 정보를 레지스트리에 추가해야 합니다. GPO를 사용하여 레지스트리를 변경하려면 GPP(컴퓨터 구성 -> 기본 설정 -> Windows 설정 -> 레지스트리)를 사용할 수도 있습니다.
- 레지스트리에서 글꼴 정보를 수동으로 지정할 수 있습니다. 그러나 참조 컴퓨터에 수동으로 글꼴을 설치하고 마법사를 사용하여 글꼴 레지스트리 설정을 내보내는 것이 더 쉽습니다(컴퓨터 구성 -> 기본 설정 -> Windows 설정 -> 레지스트리 -> 새로 만들기 -> 레지스트리 마법사).
- 레지스트리 브라우저 사용 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts로 이동합니다. 원격 컴퓨터의 reg 키. 설치하려는 글꼴의 이름이 포함된 레지스트리 항목을 찾아 선택합니다.
- 레지스트리 매개변수가 GPO 편집기에 나타납니다.
그런 다음 클라이언트 컴퓨터에서 GPO 설정을 업데이트하고 새 글꼴 파일이 설치되었는지 확인합니다. Windows 10의 경우 설정 -> 개인 설정 -> 글꼴에서 설치된 글꼴 목록을 볼 수 있습니다.
PowerShell 로그온 스크립트를 사용하여 Windows 글꼴 설치
일부 글꼴만 설치하려면 위에서 설명한 GPO를 사용한 글꼴 설치 방법을 사용하는 것이 좋습니다. 한 번에 많은 새 글꼴 파일을 설치하려면 각 글꼴에 대한 특별한 정책 옵션을 만드는 것이 번거로울 수 있으므로 PowerShell 스크립트를 사용하는 것이 좋습니다.
다음 PowerShell 스크립트는 모든 *.ttf를 설치합니다. 및 *.otf 지정된 공유 폴더에 있는 글꼴 파일. 또한 스크립트는 WriteLog 기능을 사용하여 모든 작업을 로그 파일에 기록합니다.
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\posh_font_install.log"
$SourceFolder = "\\woshub.com\SYSVOL\woshub.com\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
}
PowerShell 스크립트를 PS1 파일로 저장하고 GPO를 사용하여 로그온 스크립트로 실행합니다.
따라서 지정된 폴더의 모든 글꼴 파일이 Windows에 설치되고 설치 날짜와 시간이 기록됩니다.