- रिमोटिंग WinRM/WS-Man (HTTP/HTTPS) का उपयोग करता है और सुरक्षा नियंत्रणों के साथ 1-से-1, 1-से-कई, और स्थायी सत्रों की अनुमति देता है।
- Enable-PSRemoting सेवा, श्रोताओं और फ़ायरवॉल को कॉन्फ़िगर करता है; HTTPS के लिए वैध प्रमाणपत्र और CN/SAN मिलान की आवश्यकता होती है।
- परिणाम डीसेरिएलाइज्ड रूप में लौटाए जाते हैं; विधियों को दूरस्थ स्क्रिप्टब्लॉक के भीतर लागू किया जाता है और सूक्ष्म-स्तरीय प्रतिनिधिमंडल के लिए कस्टम एंडपॉइंट का उपयोग किया जाता है।
आप पहले से ही स्थानीय स्तर पर PowerShell के साथ कई कार्यों को स्वचालित कर सकते हैं, लेकिन वास्तव में आप कहां PowerShell रिमोटिंग से फर्क पड़ता है यह तब होता है जब आप दूरस्थ मशीनों पर, चाहे वे कुछ हों या सैकड़ों, इंटरैक्टिव रूप से या समानांतर रूप से कमांड चलाते हैं। यह तकनीक, जो Windows PowerShell 2.0 से उपलब्ध है और 3.0 के बाद से उन्नत हुई है, WS-Management (WinRM) पर आधारित है और इसे रूपांतरित करती है। PowerShell का एक मजबूत, स्केलेबल और सुरक्षित रिमोट प्रबंधन चैनल में।
सबसे पहले, दो प्रमुख विचारों को समझना महत्वपूर्ण है: cmdlets के साथ -ComputerName पैरामीटर (उदाहरण के लिए, Get-Process या Get-Service) Microsoft द्वारा अनुशंसित दीर्घकालिक पथ नहीं हैं, और PowerShell रिमोटिंग एक "हैक" के रूप में काम नहीं करता है। वास्तव में, पारस्परिक प्रमाणीकरण लागू करता है, ऑडिट लॉग और आपके सामान्य अनुमतियों का सम्मान करता है, बिना क्रेडेंशियल्स को संग्रहीत किए या सुपर विशेषाधिकारों के साथ जादुई रूप से कुछ भी चलाए।
PowerShell रिमोटिंग क्या है और इसका उपयोग क्यों करें?
साथ पावरशेल रिमोटिंग आप कर सकते हैं लगभग किसी भी आदेश को दूरस्थ रूप से निष्पादित करें जिन्हें आप एक स्थानीय सत्र में लॉन्च कर सकते हैं, सेवाओं की क्वेरी करने से लेकर कॉन्फ़िगरेशन परिनियोजित करने तक, और ऐसा एक साथ सैकड़ों कंप्यूटरों पर कर सकते हैं। -ComputerName स्वीकार करने वाले cmdlets के विपरीत (कई DCOM/RPC का उपयोग करते हैं), रिमोटिंग WS-Man (HTTP/HTTPS) के माध्यम से यात्रा करता है, जो अधिक फ़ायरवॉल-अनुकूल है, समानांतरता की अनुमति देता है और काम को क्लाइंट के बजाय दूरस्थ होस्ट पर स्थानांतरित करता है।
इससे तीन व्यावहारिक लाभ प्राप्त होते हैं: बड़े पैमाने पर निष्पादन में बेहतर प्रदर्शन, नेटवर्क में कम घर्षण प्रतिबंधात्मक नियमों और Kerberos/HTTPS के अनुरूप सुरक्षा मॉडल के साथ। इसके अलावा, प्रत्येक cmdlet पर अपना रिमोट लागू करने के लिए निर्भर न होकर, रिमोटिंग यह किसी भी स्क्रिप्ट या भूमिका के लिए काम करता है जो गंतव्य स्थान पर उपलब्ध है।
डिफ़ॉल्ट रूप से, नवीनतम विंडोज सर्वर रिमोटिंग सक्षम के साथ आते हैं; विंडोज 10/11 में आप इसे सक्रिय करें एक ही cmdlet के साथ। और हाँ, आप वैकल्पिक क्रेडेंशियल, स्थायी सत्र, कस्टम एंडपॉइंट, और बहुत कुछ का उपयोग कर सकते हैं।
नोट: रिमोटिंग का मतलब सब कुछ खोलना नहीं है। डिफ़ॉल्ट रूप से, केवल प्रशासक वे कनेक्ट हो सकते हैं, और उनकी पहचान के तहत क्रियाएँ निष्पादित की जाती हैं। यदि आपको सूक्ष्म-स्तरीय प्रतिनिधिमंडल की आवश्यकता है, तो कस्टम एंडपॉइंट आपको केवल आवश्यक कमांड प्रदर्शित करने की अनुमति देते हैं।

यह अंदर कैसे काम करता है: WinRM, WS-Man और पोर्ट
PowerShell रिमोटिंग क्लाइंट-सर्वर मॉडल में काम करता है। क्लाइंट WS-Management अनुरोध इसके माध्यम से भेजता है HTTP (5985/TCP) या HTTPS (5986/TCP)लक्ष्य पर, Windows रिमोट मैनेजमेंट (WinRM) सेवा सुनती है, समापन बिंदु (सत्र कॉन्फ़िगरेशन) को हल करती है, और पृष्ठभूमि में PowerShell सत्र को होस्ट करती है (wsmprovhost.exe प्रक्रिया), क्लाइंट को क्रमबद्ध परिणाम लौटाना SOAP के माध्यम से XML में.
जब आप पहली बार रिमोटिंग सक्षम करते हैं, तो श्रोता कॉन्फ़िगर हो जाते हैं, उपयुक्त फ़ायरवॉल अपवाद खुल जाता है, और सत्र कॉन्फ़िगरेशन बन जाते हैं। PowerShell 6+ से, कई संस्करण एक साथ मौजूद हैं, और सक्षम-PSRemoting संस्करण को प्रतिबिंबित करने वाले नामों के साथ समापन बिंदुओं को पंजीकृत करता है (उदाहरण के लिए, PowerShell.7 और PowerShell.7.xy).
यदि आप अपने वातावरण में केवल HTTPS की अनुमति देते हैं, तो आप एक बना सकते हैं सुरक्षित श्रोता किसी विश्वसनीय CA द्वारा जारी प्रमाणपत्र के साथ (अनुशंसित)। वैकल्पिक रूप से, एक अन्य विकल्प यह है कि ट्रस्टेडहोस्ट्स का उपयोग कार्यसमूह परिदृश्यों या गैर-डोमेन कंप्यूटरों के लिए सीमित, जोखिम-सचेत तरीके से किया जाए।
ध्यान दें कि पॉवरशेल रिमोटिंग -ComputerName वाले cmdlets के साथ सह-अस्तित्व में रह सकता है, लेकिन माइक्रोसॉफ्ट ने WS-Man को आगे बढ़ाया दूरस्थ प्रशासन के लिए मानक और भविष्य-प्रूफ तरीका।
PowerShell रिमोटिंग और उपयोगी पैरामीटर सक्षम करना
विंडोज़ पर, बस PowerShell को व्यवस्थापक के रूप में खोलें और चलाएँ सक्षम-PSRemotingसिस्टम WinRM शुरू करता है, ऑटोस्टार्ट कॉन्फ़िगर करता है, लिसनर को सक्षम करता है, और उपयुक्त फ़ायरवॉल नियम बनाता है। सार्वजनिक नेटवर्क प्रोफ़ाइल वाले क्लाइंट पर, आप जानबूझकर इसकी अनुमति दे सकते हैं। -स्किपनेटवर्कप्रोफाइलचेक (और फिर विशिष्ट नियमों के साथ सुदृढ़ करें):
Enable-PSRemoting
Enable-PSRemoting -Force
Enable-PSRemoting -SkipNetworkProfileCheck -Force
वाक्यविन्यास भी अनुमति देता है, -पुष्टि करना y -क्या हो अगर परिवर्तन नियंत्रण के लिए। याद रखें: यह केवल विंडोज़ पर उपलब्ध है, और आपको एलिवेटेड कंसोल चलाना होगा। बनाए गए नियम सर्वर और क्लाइंट संस्करणों के बीच भिन्न होते हैं, विशेष रूप से सार्वजनिक नेटवर्क पर, जहाँ डिफ़ॉल्ट रूप से वे स्थानीय सबनेट तक सीमित होते हैं जब तक कि आप दायरे का विस्तार न करें (उदाहरण के लिए, Set-NetFirewallRule के साथ)।
पहले से रिकॉर्ड किए गए सत्र कॉन्फ़िगरेशन को सूचीबद्ध करने और यह पुष्टि करने के लिए कि सब कुछ तैयार है, का उपयोग करें Get-PSSessionConfigurationयदि PowerShell.x और वर्कफ़्लो एंडपॉइंट दिखाई देते हैं, तो रिमोटिंग फ़्रेमवर्क चालू है.

उपयोग मोड: 1 से 1, 1 से अनेक, और निरंतर सत्र
जब आपको एक ही कंप्यूटर पर इंटरैक्टिव कंसोल की आवश्यकता हो, तो Enter-PSSessionप्रॉम्प्ट दिखाई देगा, और आप जो भी करेंगे वह रिमोट होस्ट पर जाएगा। क्रेडेंशियल्स को बार-बार दर्ज करने से बचने के लिए, आप Get-Credential के साथ उनका पुनः उपयोग कर सकते हैं:
$cred = Get-Credential
Enter-PSSession -ComputerName dc01 -Credential $cred
Exit-PSSession
यदि आप एक साथ कई कंप्यूटरों को कमांड भेजना चाहते हैं, तो यह टूल आपके लिए है। आह्वान-कमान एक स्क्रिप्टब्लॉक के साथ। डिफ़ॉल्ट रूप से, यह 32 समवर्ती कनेक्शन तक लॉन्च करता है (-ThrottleLimit के साथ समायोज्य)। परिणाम इस प्रकार दिए जाते हैं विक्रमबद्ध वस्तुएँ (बिना “लाइव” विधियों के):
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service -Name W32Time } -Credential $cred
क्या आपको .Stop() या .Start() जैसी कोई विधि लागू करने की आवश्यकता है? करें। स्क्रिप्टब्लॉक के अंदर दूरस्थ संदर्भ में, स्थानीय डीसेरिएलाइज़्ड ऑब्जेक्ट में नहीं, और बस। अगर कोई समतुल्य cmdlet (Stop-Service/Start-Service) है, तो स्पष्टता के लिए आमतौर पर उसका उपयोग करना बेहतर होता है।
प्रत्येक कॉल पर सत्र शुरू करने और समाप्त करने की लागत से बचने के लिए, एक बनाएं लगातार PSSession और इसे कई इनवोकेशन में दोबारा इस्तेमाल करें। कनेक्शन बनाने के लिए New-PSSession का इस्तेमाल करें, और टनल का दोबारा इस्तेमाल करने के लिए Invoke-Command-Session का इस्तेमाल करें। काम पूरा होने पर इसे Remove-PSSession से बंद करना न भूलें।
क्रमांकन, सीमाएँ और अच्छे अभ्यास
एक महत्वपूर्ण विवरण: यात्रा करते समय, वस्तुएँ "चपटी" हो जाती हैं और इस प्रकार पहुँचती हैं विक्रमबद्ध स्नैपशॉट, गुणों के साथ लेकिन विधियों के बिना। यह जानबूझकर किया गया है और बैंडविड्थ बचाता है, लेकिन इसका मतलब है कि आप स्थानीय प्रतिलिपि पर तर्क (जैसे .Kill()) निष्पादित करने वाले सदस्यों का उपयोग नहीं कर सकते। समाधान स्पष्ट है: उन विधियों को लागू करें। दूर से और यदि आपको केवल कुछ फ़ील्ड की आवश्यकता है, तो कम डेटा भेजने के लिए Select-Object के साथ फ़िल्टर करें।
स्क्रिप्ट में, Enter-PSSession (इंटरैक्टिव उपयोग के लिए) से बचें और स्क्रिप्ट ब्लॉक के साथ Invoke-Command का उपयोग करें। यदि आपको कई कॉल की आशंका है या स्थिति (चर, आयातित मॉड्यूल) को संरक्षित करने की आवश्यकता है, लगातार सत्रों का उपयोग करें और, यदि लागू हो, तो उन्हें PowerShell 3.0+ में Disconnect-PSSession/Connect-PSSession के साथ डिस्कनेक्ट/पुनः कनेक्ट करें।
प्रमाणीकरण, HTTPS, और ऑफ-डोमेन परिदृश्य
किसी डोमेन में, मूल प्रमाणीकरण करबरोस और सब कुछ चलता रहता है। जब डिवाइस सर्वर नाम सत्यापित नहीं कर पाता, या आप किसी CNAME IP या उपनाम से कनेक्ट होते हैं, तो आपको इन दो विकल्पों में से एक की आवश्यकता होती है: 1) श्रोता प्रमाणपत्र के साथ HTTPS किसी विश्वसनीय CA द्वारा जारी किया गया हो, या 2) गंतव्य (नाम या IP) को TrustedHosts में जोड़ें और क्रेडेंशियल्स का उपयोग करेंदूसरा विकल्प उस होस्ट के लिए पारस्परिक प्रमाणीकरण को अक्षम कर देता है, इसलिए यह दायरे को न्यूनतम आवश्यक तक कम कर देता है।
HTTPS लिसनर सेट अप करने के लिए एक प्रमाणपत्र (आदर्श रूप से आपके PKI या किसी सार्वजनिक CA से) की आवश्यकता होती है, जो टीम स्टोर में इंस्टॉल हो और WinRM से जुड़ा हो। इसके बाद, पोर्ट 5986/TCP को फ़ायरवॉल में खोला जाता है और क्लाइंट से इस्तेमाल किया जाता है। -एसएसएल का उपयोग करें दूरस्थ cmdlets में। क्लाइंट प्रमाणपत्र प्रमाणीकरण के लिए, आप किसी प्रमाणपत्र को स्थानीय खाते से मैप कर सकते हैं और उससे कनेक्ट कर सकते हैं -प्रमाणपत्रअंगूठे का निशान (Enter-PSSession इसे सीधे स्वीकार नहीं करता है; पहले New-PSSession के साथ सत्र बनाएं।)
दूसरा हॉप और क्रेडेंशियल्स का प्रतिनिधिमंडल
प्रसिद्ध "डबल हॉप" तब प्रकट होता है, जब किसी सर्वर से कनेक्ट होने के बाद, आपको उस सर्वर को एक्सेस करने की आवश्यकता होती है तीसरा संसाधन आपकी ओर से (उदाहरण के लिए, एक SMB शेयर)। इसे अनुमति देने के दो तरीके हैं: CredSSP और संसाधन-आधारित सीमित Kerberos डेलिगेशन।
साथ क्रेडएसएसपी आप क्लाइंट और मध्यस्थ को स्पष्ट रूप से क्रेडेंशियल सौंपने की अनुमति देते हैं, और आप विशिष्ट कंप्यूटरों को क्रेडेंशियल सौंपने की अनुमति देने के लिए एक नीति (GPO) निर्धारित करते हैं। इसे कॉन्फ़िगर करना तेज़ है, लेकिन कम सुरक्षित है क्योंकि क्रेडेंशियल एन्क्रिप्टेड टनल के भीतर स्पष्ट टेक्स्ट में चलते हैं। स्रोतों और गंतव्यों को हमेशा सीमित रखें।
डोमेन में पसंदीदा विकल्प है विवश केर्बेरोस प्रतिनिधिमंडल आधुनिक AD में (संसाधन-आधारित सीमित प्रत्यायोजन)। यह एंडपॉइंट को विशिष्ट सेवाओं के लिए मध्यबिंदु से प्रत्यायोजन प्राप्त करने पर निर्भर रहने की अनुमति देता है, जिससे प्रारंभिक कनेक्शन पर आपकी पहचान उजागर होने से बचती है। इसके लिए नवीनतम डोमेन नियंत्रकों और एक अद्यतन RSAT की आवश्यकता होती है।
कस्टम एंडपॉइंट (सत्र कॉन्फ़िगरेशन)
रिमोटिंग के रत्नों में से एक कनेक्शन बिंदुओं को पंजीकृत करने में सक्षम होना है अनुकूलित क्षमताएँ और सीमाएँ. सबसे पहले आप New-PSSessionConfigurationFile (प्रीलोड करने के लिए मॉड्यूल, दृश्यमान फ़ंक्शन, उपनाम, ExecutionPolicy, LanguageMode, आदि) के साथ एक फ़ाइल बनाते हैं, और फिर आप इसे Register-PSSessionConfiguration के साथ पंजीकृत करते हैं, जहाँ आप सेट कर सकते हैं रनएस्क्रेडेंशियल और अनुमतियाँ (SDDL या GUI इंटरफ़ेस -ShowSecurityDescriptorUI के साथ)।
सुरक्षित प्रत्यायोजन के लिए, -VisibleCmdlets/-VisibleFunctions के साथ केवल वही प्रदर्शित करें जो आवश्यक हो और यदि उपयुक्त हो तो मुक्त स्क्रिप्टिंग को अक्षम करें भाषा मोड प्रतिबंधित भाषा या NoLanguage. अगर आप FullLanguage छोड़ देते हैं, तो कोई व्यक्ति स्क्रिप्ट ब्लॉक का इस्तेमाल करके अप्रकाशित कमांड्स को लागू कर सकता है, जो RunAs के साथ मिलकर, यह एक छेद होगाइन अंतिम बिंदुओं को बारीकी से डिजाइन करें और उनके दायरे का दस्तावेजीकरण करें।
डोमेन, GPO और ग्रुपवेयर
AD में आप GPO के साथ बड़े पैमाने पर पावरशेल रिमोटिंग को तैनात कर सकते हैं: WinRM श्रोताओं के स्वचालित कॉन्फ़िगरेशन की अनुमति दें, सेवा को स्वचालित पर सेट करें, और फ़ायरवॉल अपवाद बनाएँ। याद रखें कि GPO सेटिंग्स बदलते हैं, लेकिन वे हमेशा सेवा को तुरंत चालू नहीं करते; कभी-कभी आपको gpupdate को पुनः आरंभ या बलपूर्वक लागू करना पड़ता है।
कार्यसमूहों (गैर-डोमेन) में, रिमोटिंग को इसके साथ कॉन्फ़िगर करें सक्षम-PSRemotingक्लाइंट पर TrustedHosts सेट करें (winrm set winrm/config/client @{TrustedHosts=»host1,host2″}) और स्थानीय क्रेडेंशियल्स का उपयोग करें। HTTPS के लिए, आप स्व-हस्ताक्षरित प्रमाणपत्र माउंट कर सकते हैं, हालाँकि एक विश्वसनीय CA और का उपयोग करने की अनुशंसा की जाती है। नाम को मान्य करें जिसका उपयोग आप प्रमाणपत्र में -ComputerName में करेंगे (CN/SAN मिलान)।
प्रमुख cmdlets और सिंटैक्स
मुट्ठी भर कमांडो ने इलाके को कवर किया दैनिक परिदृश्यों का 90%सक्रिय/निष्क्रिय करने के लिए:
Enable-PSRemoting
Disable-PSRemoting
इंटरैक्टिव सत्र 1 से 1 और बाहर निकलें:
Enter-PSSession -ComputerName SEC504STUDENT
Exit-PSSession
1 से कई, समानता और साख के साथ:
Invoke-Command -ComputerName dc01,sql02,web01 -ScriptBlock { Get-Service W32Time } -Credential $cred
लगातार सत्र और पुन: उपयोग:
$s = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.7
Invoke-Command -Session $s -ScriptBlock { $PSVersionTable }
Remove-PSSession $s
परीक्षण और WinRM उपयोगी:
Test-WSMan -ComputerName host
winrm get winrm/config
winrm enumerate winrm/config/listener
winrm quickconfig -transport:https
फ़ायरवॉल, नेटवर्क और पोर्ट पर व्यावहारिक नोट्स
लक्ष्य कंप्यूटर पर HTTP के लिए 5985/TCP और HTTPS के लिए 5986/TCP खोलें और किसी भी मध्यवर्ती फ़ायरवॉलविंडोज क्लाइंट पर, Enable-PSRemoting डोमेन और निजी प्रोफाइल के लिए नियम बनाता है; सार्वजनिक प्रोफाइल के लिए, यह स्थानीय सबनेट तक सीमित रहता है, जब तक कि आप Set-NetFirewallRule -RemoteAddress Any (एक मान जिसका आकलन आप अपने जोखिम के आधार पर कर सकते हैं) के साथ दायरे को संशोधित नहीं करते।
यदि आप SOAR/SIEM एकीकरण का उपयोग करते हैं जो दूरस्थ कमांड चलाते हैं (उदाहरण के लिए XSOAR से), तो सुनिश्चित करें कि सर्वर में DNS रिज़ॉल्यूशन होस्ट्स से, 5985/5986 से कनेक्टिविटी, और पर्याप्त स्थानीय अनुमतियों वाले क्रेडेंशियल्स से। कुछ मामलों में, NTLM/बेसिक प्रमाणीकरण में समायोजन की आवश्यकता हो सकती है (उदाहरण के लिए, SSL के साथ बेसिक में स्थानीय उपयोगकर्ता का उपयोग करना)।
Enable-PSRemoting पैरामीटर (परिचालन सारांश)
-Confirm निष्पादन से पहले पुष्टि के लिए पूछता है; -Force चेतावनियों को नज़रअंदाज़ करता है और ज़रूरी बदलाव करें; -SkipNetworkProfileCheck सार्वजनिक क्लाइंट नेटवर्क पर रिमोटिंग सक्षम करता है (डिफ़ॉल्ट रूप से स्थानीय सबनेट तक सीमित); -WhatIf आपको दिखाता है कि बिना बदलाव लागू किए क्या होगा। इसके अलावा, किसी भी मानक cmdlet की तरह, यह भी सपोर्ट करता है सामान्य पैरामीटर (-वर्बोज़, -एररएक्शन, आदि).
याद रखें कि "सक्षम करें" आपके लिए HTTPS श्रोता या प्रमाणपत्र नहीं बनाता है; यदि आपको शुरू से ही एंड-टू-एंड एन्क्रिप्शन और प्रमाणीकरण की आवश्यकता है प्रमाणित, HTTPS श्रोता को कॉन्फ़िगर करें और उस नाम के विरुद्ध CN/SAN को मान्य करें जिसे आप -ComputerName में उपयोग करेंगे।
उपयोगी WinRM और PowerShell रिमोटिंग कमांड
कुछ आवश्यक बेडसाइड आइटम प्रतिदिन के लिए:
winrm get winrm/config
winrm enumerate winrm/config/listener
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Test-WSMan -ComputerName host -Authentication Default -Credential (Get-Credential)
New-PSSession -ComputerName host
Enter-PSSession -ComputerName host
Enable-PSRemoting -SkipNetworkProfileCheck -Force
बड़े पैमाने पर विंडोज़ का प्रबंधन करते समय, रिमोटिंग आपको "कंप्यूटर-से-कंप्यूटर" से एक घोषणात्मक और सुरक्षित दृष्टिकोण की ओर ले जाता है। स्थायी सत्रों, सशक्त प्रमाणीकरण (केर्बेरोस/HTTPS), प्रतिबंधित एंडपॉइंट्स और निदान के लिए स्पष्ट ट्रेसेस को मिलाकर, आप गति और नियंत्रण प्राप्त करते हैं सुरक्षा या ऑडिटिंग से समझौता किए बिना। अगर आप GPO एक्टिवेशन को मानकीकृत करते हैं और विशेष मामलों (ट्रस्टेडहोस्ट, डबल हॉप, सर्टिफिकेट) में महारत हासिल करते हैं, तो आपके पास दैनिक संचालन और घटना प्रतिक्रिया के लिए एक ठोस रिमोट प्लेटफ़ॉर्म होगा।
विभिन्न डिजिटल मीडिया में दस वर्षों से अधिक अनुभव के साथ प्रौद्योगिकी और इंटरनेट मुद्दों में विशेषज्ञ संपादक। मैंने ई-कॉमर्स, संचार, ऑनलाइन मार्केटिंग और विज्ञापन कंपनियों के लिए एक संपादक और सामग्री निर्माता के रूप में काम किया है। मैंने अर्थशास्त्र, वित्त और अन्य क्षेत्रों की वेबसाइटों पर भी लिखा है। मेरा काम भी मेरा जुनून है. अब, मेरे लेखों के माध्यम से Tecnobits, मैं उन सभी समाचारों और नए अवसरों का पता लगाने का प्रयास करता हूं जो प्रौद्योगिकी की दुनिया हमारे जीवन को बेहतर बनाने के लिए हमें हर दिन प्रदान करती है।