Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

Trong bài viết này, chúng tôi sẽ hướng dẫn cách cài đặt phông chữ bổ sung trên máy tính trong miền Active Directory bằng cách sử dụng Group Policy và PowerShell script. Hướng dẫn này đã được thử nghiệm trên các bản dựng Windows 10 20H2 và Windows Server 2016/2019 hiện tại.

Nội dung:

  • Triển khai Phông chữ Mới qua GPO
  • Cài đặt Phông chữ Windows bằng Tập lệnh đăng nhập PowerShell

Triển khai Phông chữ Mới qua GPO

Nếu bạn muốn cài đặt một hoặc hai phông chữ mới, bạn có thể thực hiện bằng cách sử dụng Chính sách Nhóm. Để cài đặt phông chữ, hãy sao chép tệp * .ttf vào % WindowsDir% \ Fonts \ trên máy tính khách và thêm thông tin phông chữ mới vào HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts khóa đăng ký.

  1. Sao chép tệp phông chữ TTF vào thư mục mạng chia sẻ trên máy chủ tệp của bạn (nếu bạn chỉ có một số phông chữ mới, bạn có thể lưu trữ chúng trong thư mục SYSVOL trên bộ điều khiển miền của bạn); Cài đặt Phông chữ trong Windows bằng GPO và PowerShell
  2. Mở bảng điều khiển Quản lý Chính sách Nhóm miền (gpmc.msc ), tạo chính sách mới GPO_InstallFonts và liên kết nó với OU với máy tính; Cài đặt Phông chữ trong Windows bằng GPO và PowerShell
  3. Chỉnh sửa chính sách;
  4. Tạo quy tắc mới trong Tùy chọn chính sách nhóm để sao chép tệp phông chữ từ thư mục được chia sẻ sang %WindowsDir%\Fonts\ trên các thiết bị khách của bạn. Trước đó, chúng tôi đã hướng dẫn cách sao chép tệp vào máy tính bằng GPO. Tạo chính sách nhóm theo các hướng dẫn sau. Đi tới Cấu hình máy tính -> Tùy chọn -> Cài đặt Windows -> Tệp . Tạo mục nhập chính sách với các tham số bên dưới:Nguồn:\\woshub.com\SYSVOL\woshub.com\scripts\Fonts\Roboto-Black.ttf
    Đích:%WindowsDir%\Fonts\Roboto-Black.ttf

    Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

  5. Bây giờ bạn cần thêm thông tin về phông chữ mới của mình vào sổ đăng ký. Để thực hiện các thay đổi đối với sổ đăng ký bằng GPO, bạn cũng có thể sử dụng GPP (Cấu hình máy tính -> Tùy chọn -> Cài đặt Windows -> Đăng ký);
  6. Bạn có thể chỉ định thông tin phông chữ trong sổ đăng ký theo cách thủ công. Tuy nhiên, cài đặt phông chữ theo cách thủ công trên máy tính tham chiếu sẽ dễ dàng hơn và xuất cài đặt đăng ký phông chữ bằng trình hướng dẫn (Cấu hình máy tính -> Tùy chọn -> Cài đặt Windows -> Đăng ký -> Mới -> Trình hướng dẫn đăng ký); Cài đặt Phông chữ trong Windows bằng GPO và PowerShell
  7. Sử dụng Trình duyệt đăng ký để truy cập HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts phím reg trên máy tính từ xa. Tìm và chọn mục đăng ký có chứa tên phông chữ bạn muốn cài đặt; Cài đặt Phông chữ trong Windows bằng GPO và PowerShell
  8. Tham số đăng ký sẽ xuất hiện trong trình soạn thảo GPO.

Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

Sau đó cập nhật cài đặt GPO trên máy khách và đảm bảo rằng tệp phông chữ mới đã được cài đặt. Trong Windows 10, bạn có thể xem danh sách các phông chữ được cài đặt trong Cài đặt -> Cá nhân hóa -> Phông chữ.

Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

Nếu tệp phông chữ chưa được cài đặt, hãy đảm bảo rằng chính sách được gán cho máy tính bằng công cụ gpresult. Sau đó, hãy làm theo cách thông thường để khắc phục sự cố khi áp dụng cài đặt GPO cho máy tính.

Cài đặt Phông chữ Windows bằng Tập lệnh đăng nhập PowerShell

Bạn nên sử dụng phương pháp cài đặt phông chữ bằng GPO được mô tả ở trên nếu bạn chỉ muốn cài đặt một số phông chữ. Nếu bạn muốn cài đặt nhiều tệp phông chữ mới cùng một lúc, tốt hơn nên sử dụng tập lệnh PowerShell, vì có thể hơi mệt khi tạo các tùy chọn chính sách đặc biệt cho từng phông chữ.

Tập lệnh PowerShell sau sẽ cài đặt tất cả * .ttf * .otf tệp phông chữ nằm trong thư mục chia sẻ được chỉ định. Ngoài ra, tập lệnh ghi tất cả các hành động vào tệp nhật ký bằng cách sử dụng chức năng 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
}

Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

Lưu tập lệnh PowerShell dưới dạng tệp PS1 và chạy nó dưới dạng tập lệnh đăng nhập bằng GPO.

Do đó, tất cả các tệp phông chữ từ thư mục được chỉ định sẽ được cài đặt trong Windows và ngày giờ cài đặt sẽ được ghi lại.

Cài đặt Phông chữ trong Windows bằng GPO và PowerShell

Nếu bạn cần xóa tất cả các phông chữ bổ sung trong Windows và khôi phục các phông chữ mặc định, hãy làm theo hướng dẫn này.