जस्ट एनफ एडमिनिस्ट्रेशन (जेईए ) सुविधा PowerShell संस्करण 5.0 से उपलब्ध है और आपको किसी भी चीज़ को व्यवस्थापकीय विशेषाधिकार सौंपने की अनुमति देती है जिसे आप PowerShell के साथ प्रबंधित कर सकते हैं। पावरशेल जेईए का मुख्य उद्देश्य विशेषाधिकारों को सीमित करना है। जेईए आपको गैर-व्यवस्थापक उपयोगकर्ताओं को सर्वर या सेवा व्यवस्थापक अधिकार (एडी, एक्सचेंज, शेयरपॉइंट, आदि) दिए बिना विशिष्ट प्रशासनिक कार्यों को करने की अनुमति देता है। JEA का उपयोग करके, आप यह सेट कर सकते हैं कि कौन से उपयोगकर्ता विशिष्ट cmdlets, फ़ंक्शन या PowerShell स्क्रिप्ट को व्यवस्थापक विशेषाधिकारों के साथ चला सकते हैं और सभी क्रियाओं को लॉग कर सकते हैं (PowerShell कमांड इतिहास के समान)।
पावरशेल जस्ट एनफ एडमिनिस्ट्रेशन को कैसे कार्यान्वित करें?
एक व्यवस्थापक एक सर्वर पर एक PowerShell सत्र कॉन्फ़िगरेशन फ़ाइल बनाता है जिसमें उपयोगकर्ता द्वारा चलाए जा सकने वाले आदेश होते हैं। फाइलों के आधार पर, एक जेईए एंडपॉइंट बनाया जाता है जिसे उपयोगकर्ता अपने लिए उपलब्ध किसी भी कमांड या प्रोग्राम से कनेक्ट और निष्पादित कर सकता है।
यहां हम एक उदाहरण दिखाएंगे कि गैर-व्यवस्थापक उपयोगकर्ताओं को डोमेन नियंत्रक को रीबूट करने की अनुमति कैसे दी जाए, और उस पर DNS और ADDS सेवाओं को पुनरारंभ करें।
इस मामले में, आपके पास उपयोगकर्ताओं के लिए डोमेन नियंत्रक को आरडीपी पहुंच प्रदान नहीं है, उन्हें एडी में प्रशासनिक विशेषाधिकार सौंपें, विंडोज़ सेवाओं पर अधिकार प्रदान करें, या लिंक के बाद गाइड के अनुसार सर्वर पुनरारंभ करें। जस्ट इनफ एडमिनिस्ट्रेशन के कॉन्फ़िगरेशन में सभी आवश्यक प्रतिबंध निर्धारित किए गए हैं।सबसे पहले, पावरशेल सत्र की कॉन्फ़िगरेशन फ़ाइल बनाएं (*.pssc ) ऐसा करने के लिए, इस आदेश को अपने डोमेन नियंत्रक पर चलाएँ:
New-PSSessionConfigurationFile -Path 'C:\Program Files\WindowsPowerShell\dc_manage.pssc'
नोटपैड का उपयोग करके PSSC फ़ाइल खोलें।
PSSC फ़ाइल सेट करती है कि कौन इस JEA समापन बिंदु से जुड़ सकता है और JEA सत्र में कमांड किस खाते के अंतर्गत चलेंगे।
निम्नलिखित मानों को संशोधित करें:
- सत्र प्रकार डिफ़ॉल्ट से प्रतिबंधितRemoteServer . यह मोड निम्नलिखित पावरशेल cmdlets का उपयोग करने की अनुमति देता है:क्लियर-होस्ट, एग्जिट-पीएससेशन, गेट-कमांड, गेट-फॉर्मेटडेटा, गेट-हेल्प, मेजर-ऑब्जेक्ट, आउट-डिफॉल्ट या सेलेक्ट-ऑब्जेक्टl
- एक फ़ोल्डर निर्दिष्ट करें (इसे बनाएं) प्रतिलेख निर्देशिका . में पैरामीटर। यहां आप सभी जेईए उपयोगकर्ता कार्रवाइयां लॉग करेंगे:
TranscriptDirectory = C:\PS\JEA_logs
- RunAsVirtualAccount विकल्प वर्चुअल व्यवस्थापक खाते (स्थानीय व्यवस्थापक या डोमेन व्यवस्थापक समूह के सदस्य) के अंतर्गत आदेश चलाने की अनुमति देता है:
RunAsVirtualAccount = $true
GroupManagedServiceAccount = 'woshub\gMSAJEAUser'
रोलडेफिनिशन निर्देश में, AD सुरक्षा समूह को PowerShell सत्र से कनेक्ट करने की अनुमति दें और JEA भूमिका का नाम निर्दिष्ट करें (यह PSRC फ़ाइल नाम से मेल खाना चाहिए जिसे हम बाद में बनाने जा रहे हैं)।
उदाहरण के लिए:
RoleDefinitions =@{'woshub.com\HelpDesk' =@{ roleCapabilities ='HelpDesk_admins' }}
सत्र कॉन्फ़िगरेशन फ़ाइल सहेजें।
आगे बढ़ने से पहले, सुनिश्चित करें कि कॉन्फ़िगरेशन फ़ाइल में कोई त्रुटि नहीं है:
Test-PSSessionConfigurationFile -Path 'C:\Program Files\WindowsPowerShell\dc_manage.pssc'
JEA कॉन्फ़िगरेशन फ़ाइल को रखने के लिए एक नई निर्देशिका बनाएँ, उदाहरण के लिए:
New-Item -Path 'C:\Program Files\WindowsPowerShell\Modules\JEA\RoleCapabilities ' -ItemType Directory
फिर भूमिका विवरण के साथ एक कॉन्फ़िगरेशन पीएसआरसी फ़ाइल बनाएं (उपरोक्त पीएसएससी कॉन्फ़िगरेशन से फ़ाइल नाम का उपयोग करें)।
New-PSRoleCapabilityFile -Path 'C:\Program Files\WindowsPowerShell\Modules\JEA\RoleCapabilities\HelpDesk_admins.psrc'
PSRC फ़ाइल निर्दिष्ट करती है कि वर्तमान JEA सत्र में क्या करने की अनुमति है। VisibleCmdlets . में निर्देश, आप किसी दिए गए उपयोगकर्ता समूह के लिए उपयोग की जाने वाली cmdlets (और उनके मान्य पैरामीटर) निर्दिष्ट कर सकते हैं।
VisibleExternalCommands . में विकल्प, आप बाहरी कमांड और EXE फ़ाइलों को चलाने की अनुमति निर्दिष्ट कर सकते हैं।
उदाहरण के लिए, निम्न कॉन्फ़िगरेशन हेल्पडेस्क की अनुमति देता है उपयोगकर्ता शटडाउन कमांड या Restart-Computer
. का उपयोग करके डोमेन नियंत्रक को पुनरारंभ करने के लिए cmdlet, साथ ही Restart-Service
का उपयोग करके DNSServer और सक्रिय निर्देशिका डोमेन सेवाओं को पुनरारंभ करें cmdlet.
अपनी PSRC फ़ाइल सहेजें।
फिर अपनी PSSC फ़ाइल के लिए एक नया PSSession कॉन्फ़िगरेशन पंजीकृत करें:
Register-PSSessionConfiguration –Name testHelpDesk -Path 'C:\Program Files\WindowsPowerShell\dc_manage.pssc'
और WinRM को पुनरारंभ करें:
Restart-Service WinRM
आप उपलब्ध जेईए समापन बिंदुओं को सूचीबद्ध कर सकते हैं:
Get-PSSessionConfiguration|ft name
आइए देखें कि हमारा नया जस्ट-इनफ-एडमिनिस्ट्रेशन (जेईए) कॉन्फ़िगरेशन कैसे काम करता है। आप कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट सुरक्षा समूह से एक उपयोगकर्ता खाते के तहत बनाए गए JEA समापन बिंदु से जुड़ सकते हैं। पावरशेल रिमोटिंग का उपयोग करके डोमेन नियंत्रक से कनेक्ट करें (आपको जेईए एंडपॉइंट नाम निर्दिष्ट करना होगा):
Enter-PSSession -ComputerName dc01 -ConfigurationName testHelpDesk
अपने पावरशेल सत्र में उपलब्ध cmdlets की सूची देखें:
Get-Command
जैसा कि आप देख सकते हैं, रिस्टार्ट-सर्विस और रिस्टार्ट-कंप्यूटर सहित कम संख्या में कमांड उपलब्ध हैं। एक उपयोगकर्ता केवल वही कर सकता है जो उसे करने की अनुमति है।
DNS सेवा को पुनरारंभ करने का प्रयास करें:
Restart-Computer dns
सेवा को सफलतापूर्वक पुनरारंभ किया गया है (आदेश डोमेन व्यवस्थापक अनुमतियों के साथ एक विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलाया जाता है)।
यदि आप किसी अन्य सेवा को पुनरारंभ करने का प्रयास करते हैं जो JEA कॉन्फ़िगरेशन फ़ाइल में वर्णित नहीं है, तो निम्न त्रुटि संदेश प्रकट होता है:
पैरामीटर 'नाम' पर तर्क मान्य नहीं कर सकता। तर्क "स्पूलर" ValidateSet विशेषता द्वारा निर्दिष्ट "DNS, NTDS" सेट से संबंधित नहीं है। एक तर्क प्रदान करें जो सेट में है और फिर आदेश का पुन:प्रयास करें। + श्रेणी जानकारी:अमान्य डेटा:(:) [पुनरारंभ-सेवा], ParameterBindingValidationException
JEA PowerShell सत्र में सभी उपयोगकर्ता क्रियाओं का इतिहास C:\PS\JEA_logs में फ़ाइलों में लॉग किया गया है।
इसलिए, JEA आपको एक व्यवस्थापक के रूप में विशिष्ट PowerShell cmdlets, स्क्रिप्ट या प्रोग्राम चलाने के लिए उपयोगकर्ताओं को एक्सेस प्रदान करने की अनुमति देता है।