इस लेख में, हम दिखाएंगे कि समूह नीति और पावरशेल स्क्रिप्ट का उपयोग करके एक सक्रिय निर्देशिका डोमेन में कंप्यूटर पर अतिरिक्त फोंट कैसे स्थापित करें। इस गाइड का परीक्षण वर्तमान विंडोज 10 20एच2 और विंडोज सर्वर 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 (कंप्यूटर कॉन्फ़िगरेशन -> वरीयताएँ -> Windows सेटिंग्स -> रजिस्ट्री) का भी उपयोग कर सकते हैं;
- आप रजिस्ट्री में फ़ॉन्ट जानकारी को मैन्युअल रूप से निर्दिष्ट कर सकते हैं। हालांकि, किसी संदर्भ कंप्यूटर पर मैन्युअल रूप से फ़ॉन्ट स्थापित करना और विज़ार्ड (कंप्यूटर कॉन्फ़िगरेशन -> प्राथमिकताएं -> विंडोज सेटिंग्स -> रजिस्ट्री -> नया -> रजिस्ट्री विज़ार्ड) का उपयोग करके फ़ॉन्ट रजिस्ट्री सेटिंग्स को निर्यात करना आसान है;
- रजिस्ट्री ब्राउज़र का उपयोग करें HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts पर जाने के लिए दूरस्थ कंप्यूटर पर reg कुंजी। उस रजिस्ट्री आइटम को ढूंढें और चुनें जिसमें उस फ़ॉन्ट का नाम है जिसे आप स्थापित करना चाहते हैं;
- रजिस्ट्री पैरामीटर GPO संपादक में दिखाई देगा।
फिर क्लाइंट कंप्यूटर पर GPO सेटिंग्स को अपडेट करें और सुनिश्चित करें कि नई फ़ॉन्ट फ़ाइल स्थापित की गई है। विंडोज 10 में, आप सेटिंग्स -> वैयक्तिकरण -> फ़ॉन्ट्स में स्थापित फोंट की सूची देख सकते हैं।
यदि फ़ॉन्ट फ़ाइल स्थापित नहीं की गई है, तो सुनिश्चित करें कि नीति कंप्यूटर को gpresult टूल का उपयोग करके असाइन की गई है। फिर कंप्यूटर पर GPO सेटिंग लागू करने से संबंधित समस्याओं के निवारण के लिए सामान्य तरीके का अनुसरण करें।
पावरशेल लॉगऑन स्क्रिप्ट का उपयोग करके विंडोज फ़ॉन्ट स्थापित करें
यदि आप केवल कुछ फोंट स्थापित करना चाहते हैं तो ऊपर वर्णित जीपीओ का उपयोग करके फ़ॉन्ट स्थापना विधि का उपयोग करना उचित है। यदि आप एक साथ कई नई फ़ॉन्ट फ़ाइलें स्थापित करना चाहते हैं, तो पावरशेल स्क्रिप्ट का उपयोग करना बेहतर है, क्योंकि प्रत्येक फ़ॉन्ट के लिए विशेष नीति विकल्प बनाना थकाऊ हो सकता है।
निम्न पावरशेल स्क्रिप्ट सभी *.ttf . को स्थापित करेगी और *.otf निर्दिष्ट साझा फ़ोल्डर में स्थित फ़ॉन्ट फ़ाइलें। साथ ही, स्क्रिप्ट सभी क्रियाओं को राइटलॉग फ़ंक्शन का उपयोग करके लॉग फ़ाइल में लिखती है।
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 का उपयोग करके लॉगऑन स्क्रिप्ट के रूप में चलाएं।
इस प्रकार, निर्दिष्ट फ़ोल्डर से सभी फ़ॉन्ट फ़ाइलें विंडोज़ में स्थापित की जाएंगी, और स्थापना तिथि और समय लॉग किया जाएगा।
यदि आपको विंडोज़ में सभी अतिरिक्त फोंट को हटाने और डिफ़ॉल्ट को पुनर्स्थापित करने की आवश्यकता है, तो इस गाइड का पालन करें।