टाइम जोन, समय और तारीख के साथ, कंप्यूटर के महत्वपूर्ण पैरामीटर्स में से एक है। Windows और एप्लिकेशन्स के सही ढंग से काम करने के लिए, टाइम जोन को कंप्यूटर के भौगोलिक स्थान के अनुसार सेट किया जाना चाहिए। इस लेख में, हम देखेंगे कि Windows में GUI, कमांड प्रॉम्प्ट, PowerShell, और ग्रुप पॉलिसी का उपयोग करके टाइम जोन कैसे बदलें।
Windows 10 और Windows Server 2019/2016 में दिनांक और टाइम जोन सेट करने के लिए नया Settings ऐप उपयोग किया जाता है। आप सिस्टम ट्रे में घड़ी आइकन पर राइट-क्लिक करके और Adjust date/time चुनकर GUI से टाइम जोन सेट कर सकते हैं। डिफ़ॉल्ट रूप से, Windows ऑटोमैटिकली टाइम जोन चुनने का प्रयास करता है (Set time zone automatically विकल्प सक्षम है)। आप इस विकल्प को डिसेबल कर सकते हैं और ड्रॉप-डाउन सूची में आवश्यक टाइम जोन चुनकर मैन्युअली सेट कर सकते हैं।


सुझाव. आप Windows में टाइम जोन सेटिंग्स बदलने के लिए क्लासिक "Date and Time" कंट्रोल पैनल एप्लेट का भी उपयोग कर सकते हैं। कमांड timedate.cpl चलाएं।

Windows में उपयोगकर्ताओं को टाइम जोन बदलने की अनुमति दें या रोकें
डिफ़ॉल्ट रूप से, उपयोगकर्ता को टाइम जोन बदलने के लिए एडमिनिस्ट्रेटर अनुमतियों की आवश्यकता नहीं होती (दिनांक/समय बदलने के विपरीत)। इस व्यवहार को Local Security Settings कंसोल (secpol.msc) का उपयोग करके बदला जा सकता है। Security Settings → Local Policy → User Rights Assignment पर जाएं। पॉलिसी को Change the time zone कहा जाता है। जैसा कि आप देख सकते हैं, टाइम जोन को सिस्टम, एडमिनिस्ट्रेटर्स, और सभी उपयोगकर्ताओं द्वारा बदला जा सकता है। उपयोगकर्ताओं को टाइम जोन बदलने से रोकने के लिए, इस पॉलिसी में अकाउंट्स की सूची से Users ग्रुप को हटा दें।

Windows Server में, केवल Local Service और एडमिनिस्ट्रेटर्स के पास टाइम जोन बदलने के विशेषाधिकार होते हैं।
Hyper-V Server और Windows Server Core में, आप बिल्ट-इन sconfig यूटिलिटी का उपयोग करके टाइम जोन सेट कर सकते हैं।
TZUtil.exe: Windows 10 CMD में टाइम जोन कैसे बदलें?
Windows 11/10/8.1 और Windows Server 2019/2016/2012 R2/ में टाइम जोन बदलने के लिए, एक विशेष कमांड-लाइन टूल tzutil.exe (Windows Time Zone Utility) का उपयोग किया जाता है। यह पहली बार Windows 7 में आया। टूल की एक्जीक्यूटेबल फाइल %WINDIR%\System32 डायरेक्टरी में स्थित है।
आइए TZUtil.exe टूल की विशेषताओं और क्षमताओं पर विचार करें।
कमांड प्रॉम्प्ट (cmd.exe) चलाएं। वर्तमान टाइम जोन और उसका आइडेंटिफायर (TimeZoneID) जानने के लिए, कमांड चलाएं:
tzutil /g

इस उदाहरण में, Pacific Standard Time वर्तमान टाइम जोन आइडेंटिफायर है।
सभी उपलब्ध टाइम जोन की सूची निम्न प्रकार से प्रदर्शित करें:
tzutil /l

यदि आप जल्दी से सभी उपलब्ध टाइम जोन ढूंढना चाहते हैं (उदाहरण के लिए, UTC -6 ऑफसेट के साथ), तो कमांड चलाएं:
tzutil /l | find /I "utc-06"

वर्तमान टाइम जोन को (UTC-05:00) Eastern Time (US & Canada) में बदलें:
tzutil /s "Eastern Standard Time"

वर्तमान टाइम जोन Windows रजिस्ट्री में स्टोर होता है। आप जांच सकते हैं कि यह इस तरह बदल गया है:
reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

किसी विशिष्ट टाइम जोन के लिए डेलाइट सेविंग टाइम को डिसेबल करने के लिए, आपको टाइम जोन आइडेंटिफायर को सफिक्स _dstoff के साथ निर्दिष्ट करना होगा, उदाहरण के लिए:
tzutil /s “Central European Standard Time_dstoff”
यह कमांड कंप्यूटर के टाइम जोन को बदलेगी और मौसमी घड़ी परिवर्तन को डिसेबल कर देगी।
आप टाइम जोन और डेलाइट-सेविंग टाइम सेटिंग्स के बारे में पूरी जानकारी निम्न प्रकार से प्रदर्शित कर सकते हैं:
w32tm /tz
Time zone: Current:TIME_ZONE_ID_UNKNOWN Bias: 480min (UTC=LocalTime+Bias) [Standard Name:"Pacific Standard Time" Bias:0min Date:(unspecified)] [Daylight Name:"Pacific Standard Time" Bias:0min Date:(unspecified)]

Windows XP और Windows Server 2003 में कमांड प्रॉम्प्ट से टाइम जोन बदलने के लिए, आपको निम्न कमांड्स का उपयोग करना पड़ता था:
RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z Central America Standard Time
या:
Control.exe TIMEDATE.CPL,,/Z Central America Standard Time
PowerShell के माध्यम से Windows टाइम जोन सेट करना
आप PowerShell कंसोल से वर्तमान टाइम जोन सेटिंग्स प्राप्त कर सकते हैं। कमांड चलाएं:
[TimeZoneInfo]::Local
या
Get-TimeZone
Id : Pacific Standard Time
DisplayName : (UTC-08:00) Pacific Time (US & Canada)
StandardName : Pacific Standard Time
DaylightName : Pacific Standard Time
BaseUtcOffset : -08:00:00
SupportsDaylightSavingTime : False

Windows में उपलब्ध सभी टाइम जोन देखने के लिए, आप PowerShell कमांड का उपयोग कर सकते हैं:
[System.TimeZoneInfo]::GetSystemTimeZones()
या
Get-TimeZone -ListAvailable

टाइम जोन की सूची काफी लंबी है। आवश्यक टाइम जोन का नाम ढूंढने के लिए, PowerShell फिल्टरिंग विकल्पों का उपयोग करें:
Get-TimeZone -ListAvailable | Where-Object {$_.displayname -like "*canada*"}
या:
Get-TimeZone -ListAvailable | Where-Object {$_.Id -like "*euro*"}

आप सभी टाइम जोन को वर्णमाला क्रम में सूचीबद्ध कर सकते हैं:
Get-TimeZone -ListAvailable | Select Id | Sort Id
PowerShell से वर्तमान टाइम जोन बदलने के लिए, कमांड चलाएं
Set-TimeZone -Name "US Eastern Standard Time"
इन उदाहरणों में PowerShell संस्करण 5.1 उपयोग किया गया है, लेकिन वे नए संस्करणों में भी काम करते हैं।
ग्रुप पॉलिसी का उपयोग करके टाइम जोन कॉन्फ़िगर करना
आप Active Directory डोमेन में कंप्यूटर्स पर टाइम जोन कॉन्फ़िगर करने के लिए ग्रुप पॉलिसी का उपयोग कर सकते हैं। GPO में टाइम जोन कॉन्फ़िगर करने के लिए कोई बिल्ट-इन पॉलिसी पैरामीटर्स नहीं हैं। GPO के माध्यम से टाइम जोन सेट करने के दो सबसे आम विकल्प GPO लॉगऑन स्क्रिप्ट का उपयोग करना या रजिस्ट्री में टाइम जोन सेटिंग्स इम्पोर्ट करना है।
GPO लॉगऑन स्क्रिप्ट का उपयोग करके टाइम जोन सेट करने के लिए, आप एक साधारण PowerShell स्क्रिप्ट का उपयोग कर सकते हैं (यह Windows XP और Windows Server 2003 से शुरू होने वाले Windows के सभी संस्करणों के लिए काम करती है):
$timeZone = "Central Europe Daylight Time"
$WinOSVerReg = Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$WinOSVer = $WinOSVerReg.GetValue("CurrentVersion")
if ($WinOSVer -GE 6){
tzutil.exe /s $timeZone
} Else {
$params = "/c Start `"Change timeZone`" /MIN %WINDIR%\System32\Control.exe TIMEDATE.CPL,,/Z "
$params += $timeZone
$proc = [System.Diagnostics.Process]::Start( "CMD.exe", $params )
}
डोमेन-जॉइन्ड कंप्यूटर्स के लिए टाइम जोन सेट करने का एक और तरीका रेफरेंस कंप्यूटर से HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation रजिस्ट्री कुंजी की सामग्री को इम्पोर्ट करना है जिसमें टाइम सेटिंग्स सही ढंग से कॉन्फ़िगर हैं, अन्य कंप्यूटर्स पर GPO के माध्यम से। यह लेख बताता है कि ग्रुप पॉलिसी के माध्यम से रजिस्ट्री पैरामीटर्स कैसे इम्पोर्ट करें।
रजिस्ट्री ब्राउज़र का उपयोग करके सभी पैरामीटर्स के साथ इस रजिस्ट्री कुंजी को चुनें। परिणामस्वरूप, सभी टाइम जोन सेटिंग्स GPO एडिटर में इम्पोर्ट हो जाएंगी (Computer Configuration → Preferences → Windows Settings → Registry)।

यदि आप अलग-अलग Active Directory साइट्स के लिए अलग-अलग टाइम जोन सेटिंग्स उपयोग करना चाहते हैं, तो विशिष्ट टाइम जोन सेटिंग्स को AD साइट पर टार्गेट करने के लिए GPP Item Level Targeting का उपयोग करें।

यदि आप RDS इंफ्रास्ट्रक्चर उपयोग कर रहे हैं, और उपयोगकर्ता और RDSH सर्वर अलग-अलग टाइम जोन के साथ कॉन्फ़िगर हैं, तो सर्वर समय उपयोगकर्ता के RDP सत्रों में प्रदर्शित होगा। यह सुविधाजनक नहीं है। आप Allow time zone redirection GPO पैरामीटर का उपयोग करके उपयोगकर्ता के लोकल टाइम जोन को RDP सत्र पर रीडायरेक्ट कर सकते हैं (Computer Configuration → Policies → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Device and Resource Redirection।
Windows Server 2019 / Windows 10 पर टाइम जोन नहीं बदल सकते: आपके पास अनुमति नहीं है
Windows Server 2019 RTM और कुछ Windows 10 बिल्ड्स में GUI के माध्यम से टाइम जोन सेटिंग में एक कष्टप्रद त्रुटि है। यदि आप मॉडर्न Settings ऐप या क्लासिक कंट्रोल पैनल एप्लेट के माध्यम से टाइम जोन बदलने का प्रयास करते हैं, तो त्रुटि दिखाई देती है:
Date and time Unable to continue. You do not have permission to perform this task. Please contact your computer administrator for help.

सबसे पहले, सुनिश्चित करें कि आप एडमिनिस्ट्रेटर विशेषाधिकारों वाले अकाउंट के तहत Windows में लॉगिन हैं और Administrators ग्रुप Change Time Zone लोकल सिक्योरिटी पॉलिसी सेटिंग्स में मौजूद है।

वर्कअराउंड के रूप में, इस मामले में, आपको कमांड लाइन से टाइम जोन बदलना होगा:
tzutil /l
tzutil /s "Central Europe Standard Time"
या PowerShell:
GetTimeZone -ListAvailable|? DisplayName -like "*Berlin*"|Set-TimeZone
यदि आप ग्राफिकल इंटरफेस से टाइम जोन सेटिंग बदलना चाहते हैं, तो आपको एलिवेटेड कमांड प्रॉम्प्ट से timedate.cpl एप्लेट चलाना होगा या इसे Server Manager (Local Server → Time zone) से खोलना होगा।

Exchange (Microsoft 365) मेलबॉक्स में टाइम जोन पहली कनेक्शन पर Windows उपयोगकर्ता प्रोफाइल सेटिंग्स के अनुसार सेट होता है।