এই নিবন্ধে, আমরা গ্রুপ নীতি এবং পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করে একটি অ্যাক্টিভ ডিরেক্টরি ডোমেনে কম্পিউটারে অতিরিক্ত ফন্টগুলি কীভাবে ইনস্টল করতে হয় তা দেখাব। এই নির্দেশিকাটি বর্তমান Windows 10 20H2 এবং Windows Server 2016/2019 বিল্ডগুলিতে পরীক্ষা করা হয়েছিল।
বিষয়বস্তু:
- GPO এর মাধ্যমে নতুন ফন্ট স্থাপন করা হচ্ছে
- পাওয়ারশেল লগন স্ক্রিপ্ট ব্যবহার করে উইন্ডোজ ফন্ট ইনস্টল করুন
GPO এর মাধ্যমে নতুন ফন্ট স্থাপন করা হচ্ছে
আপনি যদি একটি বা দুটি নতুন ফন্ট ইনস্টল করতে চান তবে আপনি গ্রুপ নীতি ব্যবহার করে এটি করতে পারেন। একটি ফন্ট ইনস্টল করতে, একটি *.ttf ফাইল %WindowsDir%\Fonts\-এ অনুলিপি করুন একটি ক্লায়েন্ট কম্পিউটারে এবং HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts-এ নতুন ফন্ট তথ্য যোগ করুন রেজিস্ট্রি কী।
- আপনার ফাইল সার্ভারে একটি শেয়ার্ড নেটওয়ার্ক ফোল্ডারে TTF ফন্ট ফাইলটি অনুলিপি করুন (যদি আপনার কাছে শুধুমাত্র কিছু নতুন ফন্ট থাকে, আপনি সেগুলিকে আপনার ডোমেন কন্ট্রোলারে SYSVOL ফোল্ডারে সংরক্ষণ করতে পারেন);
- ডোমেন গ্রুপ পলিসি ম্যানেজমেন্ট কনসোল খুলুন (
gpmc.msc
), একটি নতুন নীতি তৈরি করুন GPO_InstallFonts এবং কম্পিউটারের সাথে OU এর সাথে লিঙ্ক করুন; - নীতি সম্পাদনা করুন;
- শেয়ার করা ফোল্ডার থেকে
%WindowsDir%\Fonts\
এ একটি ফন্ট ফাইল কপি করতে গ্রুপ নীতি পছন্দগুলিতে একটি নতুন নিয়ম তৈরি করুন আপনার ক্লায়েন্ট ডিভাইসে। আগে আমরা দেখিয়েছি কিভাবে GPO ব্যবহার করে কম্পিউটারে ফাইল কপি করা যায়। এই নির্দেশাবলী অনুসরণ করে একটি গ্রুপ নীতি তৈরি করুন। কম্পিউটার কনফিগারেশন -> পছন্দগুলি -> উইন্ডোজ সেটিংস -> ফাইলগুলি এ যান . নীচের প্যারামিটারগুলির সাথে একটি নীতি এন্ট্রি তৈরি করুন:উত্স:\\woshub.com\SYSVOL\woshub.com\scripts\Fonts\Roboto-Black.ttf
গন্তব্য:%WindowsDir%\Fonts\Roboto-Black.ttf
- এখন আপনাকে রেজিস্ট্রিতে আপনার নতুন ফন্ট সম্পর্কে তথ্য যোগ করতে হবে। GPO ব্যবহার করে রেজিস্ট্রিতে পরিবর্তন করতে আপনি GPP (কম্পিউটার কনফিগারেশন -> পছন্দগুলি -> উইন্ডোজ সেটিংস -> রেজিস্ট্রি) ব্যবহার করতে পারেন;
- আপনি ম্যানুয়ালি রেজিস্ট্রিতে ফন্টের তথ্য উল্লেখ করতে পারেন। যাইহোক, একটি রেফারেন্স কম্পিউটারে ম্যানুয়ালি একটি ফন্ট ইনস্টল করা এবং একটি উইজার্ড ব্যবহার করে ফন্ট রেজিস্ট্রি সেটিংস রপ্তানি করা সহজ (কম্পিউটার কনফিগারেশন -> পছন্দগুলি -> উইন্ডোজ সেটিংস -> রেজিস্ট্রি -> নতুন -> রেজিস্ট্রি উইজার্ড);
- রেজিস্ট্রি ব্রাউজার ব্যবহার করুন HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts-এ যেতে একটি দূরবর্তী কম্পিউটারে reg কী। আপনি যে ফন্টটি ইনস্টল করতে চান তার নাম সহ রেজিস্ট্রি আইটেমটি খুঁজুন এবং নির্বাচন করুন;
- জিপিও এডিটরে রেজিস্ট্রি প্যারামিটার প্রদর্শিত হবে।
তারপর ক্লায়েন্ট কম্পিউটারে GPO সেটিংস আপডেট করুন এবং নিশ্চিত করুন যে নতুন ফন্ট ফাইলটি ইনস্টল করা হয়েছে। Windows 10-এ, আপনি সেটিংস -> ব্যক্তিগতকরণ -> ফন্টগুলিতে ইনস্টল করা ফন্টগুলির তালিকা দেখতে পারেন।
যদি ফন্ট ফাইলটি ইনস্টল করা না থাকে, তাহলে নিশ্চিত করুন যে নীতিটি কম্পিউটারে gpresult টুল ব্যবহার করে বরাদ্দ করা হয়েছে। তারপরে কম্পিউটারে GPO সেটিংস প্রয়োগ করে সমস্যা সমাধানের জন্য স্বাভাবিক উপায় অনুসরণ করুন।
পাওয়ারশেল লগন স্ক্রিপ্ট ব্যবহার করে উইন্ডোজ ফন্ট ইনস্টল করুন
আপনি যদি শুধুমাত্র কিছু ফন্ট ইনস্টল করতে চান তবে উপরে বর্ণিত 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
}
পাওয়ারশেল স্ক্রিপ্টটিকে একটি PS1 ফাইল হিসাবে সংরক্ষণ করুন এবং এটিকে GPO ব্যবহার করে একটি লগইন স্ক্রিপ্ট হিসাবে চালান৷
এইভাবে, নির্দিষ্ট ফোল্ডার থেকে সমস্ত ফন্ট ফাইল উইন্ডোজে ইনস্টল করা হবে, এবং ইনস্টলেশনের তারিখ এবং সময় লগ করা হবে।
আপনি যদি Windows এ সমস্ত অতিরিক্ত ফন্ট অপসারণ করতে চান এবং ডিফল্টগুলি পুনরুদ্ধার করতে চান তবে এই নির্দেশিকা অনুসরণ করুন৷