शीर्ष 40 PowerShell साक्षात्कार प्रश्न और उत्तर (2026)

क्या आप PowerShell साक्षात्कार की तैयारी कर रहे हैं? यह समझना कि क्या अपेक्षाएँ हैं, आपकी क्षमताओं और तैयारी को स्पष्ट कर सकता है, और यह PowerShell साक्षात्कार मार्गदर्शिका आपको इस क्षेत्र में वास्तव में महत्वपूर्ण चीज़ों पर ध्यान केंद्रित करने में मदद करती है।
पॉवरशेल कौशल विविध भूमिकाओं के द्वार खोलता है जहाँ तकनीकी अनुभव और डोमेन विशेषज्ञता सार्थक परिणाम निर्धारित करती है। इस क्षेत्र में काम करने वाले पेशेवर मजबूत विश्लेषणात्मक कौशल, कौशल सेट और सामान्य प्रश्नों और उत्तरों पर निर्भर रहते हैं ताकि वे फ्रेशर से अनुभवी टीम सदस्य बन सकें।ping वरिष्ठ अधिकारी, टीम लीडर और मैनेजर उन्नत तकनीकी चुनौतियों को हल करते हैं। अधिक पढ़ें…
👉 निःशुल्क पीडीएफ डाउनलोड: पावरशेल साक्षात्कार प्रश्न और उत्तर
शीर्ष PowerShell साक्षात्कार प्रश्न और उत्तर
1) समझाइए कि PowerShell पारंपरिक PowerShell से किस प्रकार भिन्न है? Windows कमांड प्रॉम्प्ट और इस अंतर से क्या लाभ मिलता है।
PowerShell मूलतः पारंपरिक PowerShell से भिन्न है। Windows कमांड प्रॉम्प्ट क्योंकि यह एक है कार्य स्वचालन और कॉन्फ़िगरेशन फ्रेमवर्क .NET प्लेटफ़ॉर्म पर निर्मित, जबकि CMD एक टेक्स्ट-आधारित कमांड इंटरप्रेटर है। PowerShell प्रक्रियाएँ वस्तुओं, सादा पाठ नहीं, जो स्क्रिप्टिंग क्षमताओं, त्रुटि प्रबंधन और पाइपलाइन संचालन को महत्वपूर्ण रूप से बढ़ाता है। यह ऑब्जेक्ट-ओरिएंटेड पाइपलाइन संरचित डेटा उत्पन्न करती है जिसे मैन्युअल रूप से पाठ को पार्स किए बिना हेरफेर किया जा सकता है।
उदाहरण के लिए, दौड़ते समय Get-ProcessPowerShell .NET ऑब्जेक्ट्स को आउटपुट करता है, जिससे CPU उपयोग के आधार पर सॉर्टिंग या मेमोरी थ्रेशोल्ड के आधार पर फ़िल्टरिंग जैसे ऑपरेशन संभव हो जाते हैं। यह संरचनात्मक लाभ पूरे एंटरप्राइज़ परिवेश में विश्वसनीयता, रखरखाव और स्वचालन मापनीयता में सुधार करता है।
मुख्य अंतर तालिका
| फ़ैक्टर | PowerShell का | सीएमडी |
|---|---|---|
| उत्पादन का प्रकार | वस्तुएँ | टेक्स्ट |
| भाषा का अंकन | पूर्ण स्क्रिप्टिंग भाषा | सीमित बैच स्क्रिप्टिंग |
| तानाना | मॉड्यूल, cmdlets, .NET क्लासेस | न्यूनतम |
| स्वचालन स्तर | हाई | निम्न |
2) PowerShell cmdlets के विभिन्न प्रकार क्या हैं, और वे PowerShell जीवनचक्र में किस प्रकार योगदान करते हैं?
PowerShell cmdlets कई श्रेणियों में आते हैं, जिनमें से प्रत्येक डिस्कवरी, निष्पादन, स्वचालन और रिपोर्टिंग के कमांड जीवनचक्र में योगदान देता है। ये cmdlets आमतौर पर निम्नलिखित का पालन करते हैं: क्रिया-संज्ञा नामकरण परंपरा को बेहतर बनाने, पठनीयता और पूर्वानुमानशीलता को बढ़ावा देने में मदद करता है। इन प्रकारों को समझने से प्रशासकों को पूरे सिस्टम प्रबंधन जीवनचक्र में PowerShell का अधिक कुशलता से उपयोग करने में मदद मिलती है।
Cmdlets के मुख्य प्रकार
- cmdlets प्राप्त करें (डिस्कवरी): सिस्टम जानकारी जैसे सेवाएं, प्रक्रियाएं, लॉग या कॉन्फ़िगरेशन मान पुनर्प्राप्त करें।
- सेट- cmdlets (कॉन्फ़िगरेशन): रजिस्ट्री प्रविष्टियों या फ़ाइल विशेषताओं जैसी सिस्टम सेटिंग्स को संशोधित करें।
- नए-/हटाएँ- cmdlets (प्रावधान): उपयोगकर्ता, फ़ाइलें, या जैसे संसाधन बनाएँ या हटाएँ Azure संसाधनों।
- स्टार्ट-/स्टॉप- cmdlets (नियंत्रण): सिस्टम संचालन का प्रबंधन करें, जैसे सेवा शुरू करना या कार्य समाप्त करना।
उदाहरण: का प्रयोग Get-Service सेवा की स्थिति जानने के लिए, Stop-Service इसे नियंत्रित करने के लिए, और Set-Service स्टार्टअप प्रकार को कॉन्फ़िगर करने के लिए जीवनचक्र प्रवाह को प्रदर्शित करता है।
3) पावरशेल पाइपलाइन कैसे काम करती है, और कौन सी विशेषताएं इसे बैश या सीएमडी में पाइपलाइनों से अलग बनाती हैं?
PowerShell पाइपलाइन स्थानांतरित करके काम करती है वस्तुओंएक कमांड से दूसरे कमांड में स्ट्रिंग्स नहीं, बल्कि .NET ऑब्जेक्ट्स भेजे जाते हैं। पाइपलाइन में प्रत्येक चरण को संरचित .NET ऑब्जेक्ट्स प्राप्त होते हैं जिन्हें गुणों और विधियों के साथ नियंत्रित किया जा सकता है। यह विशेषता PowerShell पाइपलाइनों को Bash या CMD पाइपलाइनों की तुलना में अधिक मज़बूत, कम त्रुटि-प्रवण और रखरखाव में आसान बनाती है।
बैश में, पाइपलाइन टेक्स्ट-आधारित होती हैं, जिसके लिए मैन्युअल पार्सिंग और फ़ॉर्मेटिंग की आवश्यकता होती है।tracपॉवरशेल में, ऑब्जेक्ट पास करने से निम्न प्रकार के कमांड संभव हो पाते हैं:
Get-Process | Where-Object {$_.CPU -gt 100} | Select-Object Name, CPU
इसके लिए किसी टेक्स्ट पार्सिंग की आवश्यकता नहीं होती क्योंकि प्रत्येक कमांड ऑब्जेक्ट गुणों पर काम करता है। पावरशेल और पारंपरिक शेल्स के बीच इस अंतर के परिणामस्वरूप अधिक स्वच्छ स्वचालन और अधिक सटीक डेटा प्रबंधन होता है।
4) PowerShell में फ़ंक्शन, फ़िल्टर और वर्कफ़्लो में क्या अंतर है? उदाहरण दीजिए।
फ़ंक्शन, फ़िल्टर और वर्कफ़्लो, PowerShell में तर्क को समाहित करने के विभिन्न तरीकों का प्रतिनिधित्व करते हैं, जिनमें से प्रत्येक निष्पादन आवश्यकताओं के आधार पर अद्वितीय लाभ प्रदान करता है।
- कार्य ये कोड के मॉड्यूलर ब्लॉक हैं जिन्हें पुन: उपयोग के लिए डिज़ाइन किया गया है। ये पैरामीटर, रिटर्न वैल्यू और सत्यापन विशेषताओं जैसी उन्नत सुविधाओं का समर्थन करते हैं।
- फ़िल्टर पाइपलाइन परिचालनों के लिए अनुकूलित विशेषीकृत फ़ंक्शन हैं; वे एक समय में एक ऑब्जेक्ट के इनपुट को संसाधित करते हैं।
- वर्कफ़्लोज़ लंबे समय तक चलने वाले, समानांतर, या चेकपॉइंट वाले कार्यों का समर्थन करते हैं और अक्सर कई प्रणालियों में जटिल स्वचालन को व्यवस्थित करने के लिए उपयोग किए जाते हैं।
उदाहरण तालिका
| प्रकार | विशेषताएँ | उदाहरण परिदृश्य |
|---|---|---|
| समारोह | पैरामीटर, मॉड्यूलर डिज़ाइन का समर्थन करता है | कस्टम स्वचालन तर्क बनाना |
| फ़िल्टर | पाइपलाइन इनपुट को कुशलतापूर्वक संसाधित करता है | लॉग प्रविष्टियों को फ़िल्टर करना |
| कार्यप्रवाह | समानांतर प्रसंस्करण, दृढ़ता | मल्टी-सर्वर पैचिंग |
उदाहरण फ़िल्टर:
filter Get-LargeFiles { if ($_.Length -gt 1GB) { $_ } }
5) कौन से कारक PowerShell के प्रदर्शन को प्रभावित करते हैं, और प्रशासक निष्पादन दक्षता में कैसे सुधार कर सकते हैं?
PowerShell का प्रदर्शन प्रोसेसिंग विधि, ऑब्जेक्ट आकार, पुनरावृत्ति रणनीति, मॉड्यूल ओवरहेड और स्क्रिप्ट डिज़ाइन पर निर्भर करता है। व्यवस्थापक अनावश्यक पाइपलाइन संचालन को न्यूनतम करके, उपयुक्त होने पर मूल .NET विधियों का उपयोग करके, और ForEach-Object -Parallel या कार्यभार के आधार पर सरणी-आधारित लूप।
प्रमुख सुधारों में शामिल हैं:
- अत्यधिक पाइपलाइनों से बचें जब बहुत बड़े डेटासेट के साथ काम करना हो।
- दृढ़तापूर्वक टाइप किए गए चरों को प्राथमिकता दें रूपांतरण ओवरहेड को कम करने के लिए।
- .NET क्लासेस या API का उपयोग करें उच्च प्रदर्शन की आवश्यकता वाले कम्प्यूटेशनल कार्यों के लिए।
- अक्सर उपयोग किए जाने वाले मॉड्यूल आयातों को कैश करें आरंभीकरण समय को कम करने के लिए.
उदाहरण: जगह Get-Content file.txt | ForEach-Object {} साथ में [IO.File]::ReadAllLines() फ़ाइल पढ़ने के प्रदर्शन में नाटकीय रूप से सुधार होता है, विशेष रूप से बड़ी फ़ाइलों के लिए।
6) पावरशेल प्रोफाइल क्या हैं, और वे उपयोगकर्ता की उत्पादकता कैसे बढ़ाते हैं?
PowerShell प्रोफ़ाइल एक स्क्रिप्ट है जो नए PowerShell सत्र के शुरू होने पर स्वचालित रूप से चलती है। प्रोफ़ाइल उपयोगकर्ताओं को कस्टम फ़ंक्शन, उपनाम, परिवेश चर, मॉड्यूल आयात या UI अनुकूलन परिभाषित करने की अनुमति देती है। यह एक सुसंगत कार्य वातावरण प्रदान करता है और दोहरावदार क्रियाओं को कम करके उत्पादकता में उल्लेखनीय सुधार करता है।
प्रशासक अक्सर बार-बार किए जाने वाले कार्यों, जैसे सर्वर से कनेक्ट करना या टूलकिट लोड करना, के लिए फ़ंक्शन बनाते हैं। उदाहरण के लिए, कनेक्ट करने के लिए कोई फ़ंक्शन जोड़ना Azure पूर्वनिर्धारित क्रेडेंशियल्स का स्वचालित रूप से उपयोग करने से परिचालन टीमों के लिए तेजी से ऑनबोर्डिंग संभव हो जाती है।
PowerShell समर्थन करता है चार प्रोफ़ाइल प्रकार, होस्ट और स्कोप के आधार पर, उपयोगकर्ताओं और सिस्टम-व्यापी स्वचालन परिदृश्यों दोनों के लिए अनुरूप कॉन्फ़िगरेशन को सक्षम करना।
7) क्या आप PowerShell में त्रुटियों को संभालने के विभिन्न तरीकों का वर्णन कर सकते हैं, तथा बता सकते हैं कि प्रत्येक तरीका कब सबसे उपयुक्त है?
PowerShell में त्रुटि प्रबंधन में पूर्वानुमानित निष्पादन सुनिश्चित करने के लिए संरचित तकनीकें शामिल हैं। व्यवस्थापक समाप्ति त्रुटियों, गैर-समाप्ति त्रुटियों, try/catch ब्लॉकों के बीच चयन कर सकते हैं, $ErrorActionPreference, और -ErrorAction पैरामीटर। उपयुक्त विधि स्क्रिप्ट के जीवनचक्र और कार्य की गंभीरता पर निर्भर करती है।
तरीके
- कोशिश करो/पकड़ो/अंततः: विशिष्ट पुनर्प्राप्ति चरणों की आवश्यकता वाली स्वचालन स्क्रिप्ट में संरचित हैंडलिंग के लिए सर्वोत्तम।
- -त्रुटिक्रिया रोकें: आसान अपवाद प्रबंधन के लिए गैर-समाप्त त्रुटियों को समाप्त त्रुटियों में परिवर्तित करता है।
- $ErrorActionPreference: वैश्विक व्यवहार को परिभाषित करता है लेकिन इसका उपयोग सावधानी से किया जाना चाहिए।
- जाल बयान: विशिष्ट मामलों के लिए विरासत दृष्टिकोण।
उदाहरण: डेटाबेस माइग्रेशन स्क्रिप्ट को त्रुटियों को लॉग करने के लिए try/catch का उपयोग करना चाहिए तथा यह सुनिश्चित करना चाहिए कि रोलबैक क्रियाएं की गई हैं।
8) पावरशेल में मॉड्यूल क्या हैं, और स्वचालन वातावरण में वे क्या लाभ प्रदान करते हैं?
पावरशेल मॉड्यूल ऐसे पैकेज होते हैं जिनमें cmdlets, फ़ंक्शन, वर्कफ़्लो, DSC संसाधन या स्क्रिप्ट होते हैं जिन्हें वितरण और पुन: उपयोग के लिए डिज़ाइन किया गया है। ये मॉड्यूलर विकास को सक्षम करके, स्क्रिप्ट दोहराव को कम करके और संस्करण नियंत्रण को सरल बनाकर स्वचालन वर्कफ़्लो को बेहतर बनाते हैं। मॉड्यूल पूर्वनिर्धारित मॉड्यूल पथों से स्वचालित रूप से लोड किए जा सकते हैं और एंटरप्राइज़-स्तरीय स्वचालन के लिए आवश्यक हैं।
लाभ में शामिल हैं:
- रेस की क्षमता: तर्क को समाहित करता है जिसे टीमों के बीच साझा किया जा सकता है।
- रख-रखाव: अपडेट और बग फिक्स को केंद्रीकृत करता है।
- अनुमापकता: बड़े पैमाने पर स्क्रिप्ट परिनियोजन का समर्थन करता है।
- संगठन": संबंधित आदेशों को तार्किक रूप से समूहीकृत करने में सहायता करता है।
उदाहरण: RSI Azure PowerShell मॉड्यूल क्लाउड संसाधनों को कुशलतापूर्वक प्रबंधित करने के लिए सैकड़ों cmdlets प्रदान करता है।
9) पावरशेल वांछित स्थिति कॉन्फ़िगरेशन (DSC) कैसे काम करता है, और यह बुनियादी ढांचे के प्रबंधन के लिए क्या लाभ लाता है?
PowerShell DSC एक कॉन्फ़िगरेशन प्रबंधन ढाँचा है जो सिस्टम स्थितियों को घोषणात्मक रूप से परिभाषित और बनाए रखता है। व्यवस्थापक वांछित सेटिंग्स, जैसे कि स्थापित सुविधाएँ, सेवाएँ, फ़ाइलें, या रजिस्ट्री प्रविष्टियाँ, निर्दिष्ट करते हुए कॉन्फ़िगरेशन स्क्रिप्ट लिखते हैं। DSC इंजन इन कॉन्फ़िगरेशन को स्वचालित रूप से लागू करते हैं, जिससे सिस्टम का व्यवहार सुसंगत रहता है।
लाभ तालिका
| लाभ | विवरण |
|---|---|
| कंसिस्टेंसी (Consistency) | यह सुनिश्चित करता है कि सिस्टम इच्छित स्थिति में रहें |
| अनुपालन | नीति-आधारित कॉन्फ़िगरेशन लागू करता है |
| स्वचालन | मैन्युअल कॉन्फ़िगरेशन बहाव को कम करता है |
| अनुमापकता | बड़े उद्यम वातावरण के लिए आदर्श |
उदाहरण: डीएससी कॉन्फ़िगरेशन यह सुनिश्चित कर सकता है कि आईआईएस विशिष्ट मॉड्यूल के साथ स्थापित है, और यदि किसी घटक में परिवर्तन किया जाता है, तो डीएससी उसे परिभाषित स्थिति में वापस ला देता है।
10) आपको GUI-आधारित टूल्स की बजाय PowerShell के साथ स्क्रिप्टिंग कब पसंद करनी चाहिए? परिदृश्य और औचित्य बताएँ।
जब स्वचालन, दोहराव, बैच प्रोसेसिंग या स्केलेबिलिटी की आवश्यकता हो, तो PowerShell को प्राथमिकता दी जानी चाहिए। GUI उपकरण अक्सर एकल क्रियाओं के लिए उपयुक्त होते हैं, लेकिन दोहराव वाले या बड़े कार्यों के लिए अक्षम हो जाते हैं। PowerShell सुसंगत निष्पादन, लॉगिंग, संस्करण नियंत्रण और CI/CD या कॉन्फ़िगरेशन प्रबंधन प्रणालियों के साथ एकीकरण को सक्षम बनाता है।
परिदृश्य
- सक्रिय निर्देशिका में सुसंगत विशेषताओं के साथ 500 उपयोगकर्ता खाते बनाना।
- सैकड़ों सर्वरों पर सुरक्षा नीतियां लागू करना।
- तैनाती Azure इंफ्रास्ट्रक्चर-एज़- के माध्यम से संसाधनCode.
- बिना किसी मानवीय भागीदारी के अनुसूचित रखरखाव करना।
पॉवरशेल के फायदों में मानवीय त्रुटियों में कमी और बेहतर प्रदर्शन शामिल हैं। tracयह क्षमता, और एकाधिक वातावरणों के लिए स्क्रिप्ट को पैरामीटराइज़ करने की क्षमता।
11) पावरशेल में डेटा संग्रहीत करने और पुनर्प्राप्त करने के विभिन्न तरीके क्या हैं?
PowerShell कई डेटा संग्रहण तंत्रों का समर्थन करता है, जिससे उपयोगकर्ता स्थायित्व, जटिलता और पैमाने के आधार पर चयन कर सकते हैं। डेटा को अस्थायी रूप से चरों, सरणियों या हैश तालिकाओं में संग्रहीत किया जा सकता है, या फ़ाइलों, रजिस्ट्री या डेटाबेस में स्थायी रूप से सहेजा जा सकता है।
प्रमुख भंडारण विधियों में शामिल हैं:
- चर:
$name = "Guru99"- सरलतम, सत्र-आधारित भंडारण। - सरणी:
$arr = @(1,2,3,4)- आदेशित संग्रह के लिए. - हैशटेबल्स:
@{Key="Value"}- कुंजी/मूल्य युग्मों के लिए. - CSV और JSON फ़ाइलें: का प्रयोग
Export-CsvorConvertTo-Jsonसंरचित दृढ़ता के लिए. - रजिस्ट्री और डेटाबेस: Leveraging
Set-ItemPropertyया एंटरप्राइज़ डेटा के लिए बाहरी कनेक्टर।
उदाहरण के लिए, Get-Service | Export-Csv Services.csv बाद में पुनर्प्राप्ति की अनुमति देता है Import-Csv, सुसंगत रिपोर्टिंग वर्कफ़्लो सुनिश्चित करना।
12) पावरशेल उपनाम कैसे काम करते हैं, और उनके फायदे और नुकसान क्या हैं?
उपनाम, cmdlets, फ़ंक्शन या स्क्रिप्ट के वैकल्पिक नाम या शॉर्टकट होते हैं, जिन्हें कमांड के उपयोग को सरल बनाने और उत्पादकता बढ़ाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, ls के लिए एक उपनाम है Get-ChildItem.
फायदे
- तीव्र कमांड प्रविष्टि.
- यूनिक्स या सीएमडी वातावरण से उपयोगकर्ताओं के लिए आसान संक्रमण।
- लघु प्रशासनिक स्क्रिप्ट के लिए बेहतर पठनीयता.
नुकसान
- स्क्रिप्ट पोर्टेबिलिटी को कम कर सकता है, क्योंकि उपनाम विभिन्न वातावरणों में भिन्न हो सकते हैं।
- गैर-इंटरैक्टिव उपयोगकर्ताओं के लिए स्क्रिप्ट स्पष्टता कम करें।
- विश्वसनीयता सुनिश्चित करने के लिए उत्पादन स्वचालन से बचना चाहिए।
उदाहरण तालिका
| पहलू | फायदा | हानि |
|---|---|---|
| इंटरैक्टिव उपयोग | गति और परिचितता | सीमित पोर्टेबिलिटी |
| स्क्रिप्टिंग | संक्षिप्त वाक्यविन्यास | पठनीयता में कमी |
| दल का सहयोग | कस्टम उपनाम सेट | असंगत निष्पादन |
13) PowerShell निष्पादन नीति और उपलब्ध विभिन्न प्रकारों की व्याख्या करें।
निष्पादन नीति यह निर्धारित करती है कि PowerShell कॉन्फ़िगरेशन फ़ाइलों और स्क्रिप्ट को कैसे लोड करता है, और अनधिकृत निष्पादन के विरुद्ध सुरक्षा प्रदान करती है। यह कोई सुरक्षा सीमा नहीं, बल्कि एक सुरक्षा नियंत्रण है।
निष्पादन नीतियों के प्रकार
| नीति | विवरण |
|---|---|
| वर्जित | किसी स्क्रिप्ट की अनुमति नहीं; केवल इंटरैक्टिव कमांड की अनुमति। |
| सभी हस्ताक्षर | केवल हस्ताक्षरित स्क्रिप्ट ही चल सकती हैं. |
| RemoteSigned | स्थानीय स्क्रिप्ट स्वतंत्र रूप से चलती हैं; डाउनलोड की गई स्क्रिप्ट हस्ताक्षरित होनी चाहिए। |
| अप्रतिबंधित | सभी स्क्रिप्ट चल सकती हैं, लेकिन दूरस्थ स्क्रिप्ट के लिए पुष्टि की आवश्यकता होती है। |
| उपमार्ग | कोई प्रतिबंध या चेतावनी नहीं. |
| अपरिभाषित | कोई नीति निर्धारित नहीं. |
प्रशासक नीति में परिवर्तन कर सकते हैं Set-ExecutionPolicy RemoteSigned संतुलित सुरक्षा और लचीलेपन के लिए।
14) पावरशेल प्रदाता क्या हैं, और वे डेटा स्टोर तक पहुंच को कैसे बढ़ाते हैं?
PowerShell प्रदाता डेटा स्टोर (जैसे फ़ाइल सिस्टम, रजिस्ट्री, एनवायरनमेंट वैरिएबल या सर्टिफिकेट) को पदानुक्रमित नेमस्पेस के रूप में प्रदर्शित करते हैं जिन्हें निर्देशिकाओं की तरह नेविगेट किया जा सकता है। वे PowerShell की पहुँच को फ़ाइलों से आगे बढ़कर सिस्टम और एप्लिकेशन डेटा तक बढ़ाते हैं।
उदाहरण प्रदाता
FileSystem→ ड्राइव की तरहC:\Registry→HKLM:औरHKCU:Environment→Env:Certificate→Cert:Alias→Alias:
उदाहरण के लिए, typing Set-Location HKLM:\Software फ़ाइल सिस्टम ट्रैवर्सल के समान रजिस्ट्री नेविगेशन की अनुमति देता है, जो विभिन्न संसाधनों में प्रबंधन प्रतिमानों को एकीकृत करता है।
15) पावरशेल पृष्ठभूमि कार्यों को कैसे संभालता है, और नौकरियों और अनुसूचित कार्यों के बीच क्या अंतर है?
बैकग्राउंड जॉब्स वर्तमान सत्र को अवरुद्ध किए बिना अतुल्यकालिक कार्य निष्पादन को सक्षम बनाते हैं। ये अन्य कार्य जारी रखते हुए लंबी प्रक्रियाओं को चलाने के लिए उपयोगी होते हैं।
- स्टार्ट-जॉब: एक पृष्ठभूमि कार्य बनाता है.
- नौकरी पाएँ / नौकरी प्राप्त करें: नौकरी के परिणामों की निगरानी और पुनर्प्राप्ति करता है।
- हटाएँ-नौकरी: पूर्ण हो चुके कार्यों को हटाता है.
अंतर तालिका
| Feature | पृष्ठभूमि नौकरी | निर्धारित कार्य |
|---|---|---|
| निष्पादन | एक ही सत्र में अतुल्यकालिक | निर्धारित समय या घटना पर चलता है |
| विस्तार | सत्र-विशिष्ट | प्रणाली विस्तृत |
| हठ | सत्र समाप्त होने के बाद खो गया | कार्य शेड्यूलर में संग्रहीत |
| उदाहरण | तदर्थ या क्षणिक कार्य | आवर्ती स्वचालन |
उदाहरण: Start-Job -ScriptBlock { Get-Process } प्रक्रियाओं की सूची को अतुल्यकालिक रूप से चलाता है।
16) पावरशेल में स्क्रिप्ट ब्लॉक क्या हैं, और उनका आमतौर पर कहां उपयोग किया जाता है?
स्क्रिप्ट ब्लॉक, {} ब्रेसिज़ में बंद PowerShell कोड की पुन: प्रयोज्य इकाइयाँ हैं। ये अनाम फ़ंक्शन या कोड टेम्प्लेट की तरह काम करते हैं और इन्हें निष्पादित किया जा सकता है, तर्कों के रूप में पास किया जा सकता है, या बाद में आह्वान के लिए संग्रहीत किया जा सकता है।
सामान्य उपयोग के मामले
- cmdlets में गतिशील तर्क परिभाषित करना (
ForEach-Object {}ब्लॉक)। - पुन: प्रयोज्य पैरामीटरयुक्त फ़ंक्शन बनाना.
- विलंबित निष्पादन के लिए कॉन्फ़िगरेशन तर्क संग्रहीत करना।
- सुरक्षा संदर्भ (उदाहरण के लिए, दूरस्थ निष्पादन के माध्यम से)
Invoke-Command).
उदाहरण:
$scriptBlock = { param($x) $x * 5 }
Invoke-Command -ScriptBlock $scriptBlock -ArgumentList 10
यह 50 लौटाता है, जो विलंबित और पुन: प्रयोज्य कोड निष्पादन को दर्शाता है।
17) वर्णन करें कि पावरशेल रिमोटिंग कैसे काम करता है और इसके सुरक्षा निहितार्थ क्या हैं।
पावरशेल रिमोटिंग, प्रशासकों को WS-मैनेजमेंट (WS-मैन) या SSH प्रोटोकॉल का उपयोग करके दूरस्थ सिस्टम पर कमांड निष्पादित करने की अनुमति देता है। यह वन-टू-वन और वन-टू-मैनी, दोनों तरह के संचारों का समर्थन करता है। Invoke-Command और Enter-PSSession.
सुरक्षा फीचर्स
- डोमेन प्रमाणीकरण के लिए Kerberos का उपयोग करता है.
- एन्क्रिप्टेड सत्रों के लिए HTTPS का समर्थन करता है।
- भूमिका-आधारित पहुंच के लिए जस्ट-इनफ-एडमिनिस्ट्रेशन (JEA) की अनुमति देता है।
उदाहरण:
Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Service }
यह सीधे लॉगिन के बिना सेवाओं को सुरक्षित रूप से पुनर्प्राप्त करता है। सुरक्षा सुदृढ़ीकरण में केवल आवश्यक एंडपॉइंट सक्षम करना और सीमित रनस्पेस के माध्यम से अनुमतियों को सीमित करना शामिल है।
18) PowerShell 5.1 और PowerShell 7.x के बीच मुख्य अंतर क्या हैं?
PowerShell 7.x (जिसे PowerShell Core भी कहा जाता है) क्रॉस-प्लेटफ़ॉर्म और ओपन-सोर्स है, जबकि PowerShell 5.1 Windows-केवल। नए संस्करण में प्रदर्शन संवर्द्धन, पाइपलाइन समानांतरीकरण और आधुनिक मॉड्यूल संगतता शामिल है।
| Feature | पॉवरशेल 5.1 | पावरशेल 7.x |
|---|---|---|
| मंच | Windows केवल | क्रॉस-प्लेटफ़ॉर्म (Windows, लिनक्स, macOS) |
| ढांचा | . नेट ढाँचा | .NET कोर / .NET 6+ |
| कमांडलेट समानांतरवाद | सीमित | ForEach-Object -Parallel समर्थन |
| अनुकूलता | विरासत मॉड्यूल | अद्यतन और आधुनिक मॉड्यूल |
| विकास | बंद स्रोत | GitHub पर ओपन-सोर्स |
PowerShell 7.x क्लाउड और DevOps वातावरण के लिए आदर्श है, जिसमें बहु-OS स्वचालन की आवश्यकता होती है।
19) PowerShell में Import-Module और Dot Sourcing विधि का उपयोग करने में क्या अंतर है?
दोनों विधियां स्क्रिप्ट या फ़ंक्शन को वर्तमान सत्र में लोड करती हैं, लेकिन उनके व्यवहार का दायरा और स्थायित्व अलग-अलग होता है।
- आयात-मॉड्यूल मॉड्यूल पथों से पूर्वनिर्धारित मॉड्यूल लोड करता है, स्वचालित लोडिंग क्षमता के साथ संरचित, संस्करणित सामग्री प्रदान करता है।
- डॉट सोर्सिंग (
. .\script.ps1) वर्तमान दायरे में एक स्क्रिप्ट निष्पादित करता है, जिससे इसके चर और फ़ंक्शन तुरंत उपलब्ध हो जाते हैं।
तुलना तालिका
| पहलू | आयात-मॉड्यूल | डॉट सोर्सिंग |
|---|---|---|
| विस्तार | मॉड्यूल का दायरा | वर्तमान दायरा |
| हठ | PowerShell द्वारा प्रबंधित | अस्थायी |
| उदाहरण | पुन: प्रयोज्य मॉड्यूल लाइब्रेरी | स्थानीय कस्टम फ़ंक्शन |
| उदाहरण | Import-Module ActiveDirectory |
. .\MyFunctions.ps1 |
डॉट सोर्सिंग विकास के दौरान उपयोगी है; Import-Module उत्पादन स्वचालन के लिए बेहतर है।
20) आप पावरशेल स्क्रिप्ट में पासवर्ड जैसी संवेदनशील जानकारी को कैसे सुरक्षित रख सकते हैं?
स्वचालन में क्रेडेंशियल्स की सुरक्षा बेहद ज़रूरी है। PowerShell पासवर्ड को संग्रहीत और प्रबंधित करने के लिए कई सुरक्षित तरीके प्रदान करता है।
सुरक्षित तकनीकें
- सुरक्षित स्ट्रिंग्स:
Read-Host -AsSecureStringसादा-पाठ इनपुट को रोकता है. - क्रेडेंशियल ऑब्जेक्ट्स:
Get-Credentialप्रमाणीकरण के लिए PSCredential ऑब्जेक्ट्स बनाता है। - एन्क्रिप्टेड फ़ाइलें:
उपयोगExport-ClixmlऔरImport-Clixmlउपयोगकर्ता/मशीन संदर्भ से जुड़े एन्क्रिप्टेड क्रेडेंशियल्स को संग्रहीत करने के लिए। - गुप्त प्रबंधन मॉड्यूल:
उद्यम रहस्यों के लिए केंद्रीकृत वॉल्ट एकीकरण।
उदाहरण:
$cred = Get-Credential
Invoke-Command -ComputerName Server01 -Credential $cred -ScriptBlock { Get-Service }
इससे यह सुनिश्चित होता है कि क्रेडेंशियल कभी भी सादे पाठ में न दिखें, जिससे अनुपालन और परिचालन सुरक्षा बनी रहती है।
21) PowerShell फ़ंक्शन में पैरामीटर क्या हैं, और आप किस प्रकार के पैरामीटर परिभाषित कर सकते हैं?
PowerShell में पैरामीटर उपयोगकर्ताओं को फ़ंक्शन में गतिशील रूप से तर्क पास करने की अनुमति देते हैं, जिससे लचीलापन, पुन: प्रयोज्यता और पठनीयता बढ़ती है। एक पैरामीटर उपयोगकर्ता इनपुट स्वीकार कर सकता है, निष्पादन प्रवाह को नियंत्रित कर सकता है, और डेटा सत्यापन लागू कर सकता है।
मापदंडों के प्रकार
| प्रकार | विवरण | उदाहरण |
|---|---|---|
| अवस्था का | आदेश-आधारित; तर्क की स्थिति मायने रखती है | function Test { param($a,$b) } |
| नामांकित | स्पष्ट रूप से संदर्भित तर्क | Test -a 1 -b 2 |
| अनिवार्य | इनपुट की आवश्यकता है या त्रुटि उत्पन्न होती है | [Parameter(Mandatory)] |
| ऐच्छिक | डिफ़ॉल्ट मान परिभाषित | $param = "Default" |
| पाइपलाइन इनपुट | पाइपलाइन के माध्यम से इनपुट स्वीकार करता है | [Parameter(ValueFromPipeline)] |
| गतिशील | रनटाइम पर जोड़ा गया | उन्नत cmdlets में उपयोग किया जाता है |
उदाहरण फ़ंक्शन:
function Get-UserInfo {
param(
[Parameter(Mandatory)][string]$Username,
[int]$Age = 25
)
Write-Output "User: $Username, Age: $Age"
}
यह बेहतर लचीलेपन के लिए अनिवार्य और वैकल्पिक दोनों प्रकार के पैरामीटर को प्रदर्शित करता है।
22) पावरशेल के ऑब्जेक्ट-ओरिएंटेड आर्किटेक्चर और इसके लाभों की व्याख्या करें।
पावरशेल का आर्किटेक्चर ऑब्जेक्ट-ओरिएंटेड है, जो असंरचित टेक्स्ट के बजाय संरचित ऑब्जेक्ट्स में हेरफेर करने के लिए .NET फ्रेमवर्क का उपयोग करता है। प्रत्येक कमांड गुणों और विधियों के साथ समृद्ध ऑब्जेक्ट लौटाता है, जिससे स्ट्रिंग हेरफेर के बिना जटिल स्वचालन संभव हो जाता है।
लाभ:
- जानकारी Integrity: पाठ आउटपुट को पार्स करने की कोई आवश्यकता नहीं है।
- लचीलापन: डॉट नोटेशन का उपयोग करके सीधे ऑब्जेक्ट सदस्यों तक पहुँचें (
$obj.Property). - अंतर: .NET कक्षाओं तक पूर्ण पहुँच.
- संगति: सभी प्रणालियों में संरचित स्वचालन को सक्षम बनाता है।
उदाहरण:
$service = Get-Service | Where-Object {$_.Status -eq "Running"}
$service.Name
यह ऑब्जेक्ट प्रॉपर्टीज़ से सीधे सेवा नाम प्राप्त करता है — किसी टेक्स्ट फ़िल्टरिंग की आवश्यकता नहीं। यह मॉडल ऑटोमेशन स्क्रिप्ट के प्रदर्शन, पठनीयता और विश्वसनीयता को बढ़ाता है।
23) PowerShell को REST API के साथ कैसे एकीकृत किया जा सकता है? एक उदाहरण दीजिए।
PowerShell RESTful API का उपयोग कर सकता है Invoke-RestMethod or Invoke-WebRequest, आधुनिक वेब सेवाओं के साथ सीधा संपर्क संभव बनाता है। यह JSON, XML, या कच्चे डेटा पेलोड को कुशलतापूर्वक संभालता है।
एकीकरण के चरण:
- API समापन बिंदु और प्रमाणीकरण विधि की पहचान करें.
- उपयोग
Invoke-RestMethodGET/POST अनुरोध भेजने के लिए. - JSON/XML प्रतिक्रिया को पार्स करें.
- बाद में स्वचालन के लिए PowerShell ऑब्जेक्ट का उपयोग करें.
उदाहरण:
$response = Invoke-RestMethod -Uri "https://api.github.com/users/microsoft/repos" $response | Select-Object name, html_url
यह GitHub रिपॉजिटरीज़ को ऑब्जेक्ट के रूप में पुनर्प्राप्त करता है। API के साथ एकीकरण क्लाउड ऑटोमेशन, DevOps पाइपलाइन और डेटा-संचालित वर्कफ़्लोज़ को संभव बनाता है।
24) पावरशेल क्लासेस क्या हैं, और वे फंक्शन्स से कैसे भिन्न हैं?
संस्करण 5.0 में पावरशेल क्लासेस को प्रस्तुत किया गया, जिससे एनकैप्सुलेशन, इनहेरिटेंस और पॉलीमॉर्फिज्म के साथ वास्तविक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की अनुमति मिली।
मुख्य अंतर:
| पहलू | क्लासेज | कार्य |
|---|---|---|
| परिभाषा | वस्तुओं के निर्माण के लिए ब्लूप्रिंट | पुन: प्रयोज्य कोड ब्लॉक |
| राज्य | संपत्तियों का रखरखाव | स्टेटलेस (जब तक कि वैश्विक vars का उपयोग न किया जाए) |
| विरासत | समर्थित | समर्थित नहीं |
| उदाहरण | जटिल स्वचालन मॉड्यूल | सरल पुन: प्रयोज्य क्रियाएँ |
उदाहरण:
class Employee {
[string]$Name
[int]$ID
Employee([string]$n,[int]$i){ $this.Name=$n; $this.ID=$i }
}
$emp = [Employee]::new("Alice",101)
$emp.Name
कक्षाएं बड़े पैमाने पर स्वचालन परियोजनाओं में कोड संगठन में सुधार करती हैं।
25) पावरशेल में CIM क्या है, और यह WMI से किस प्रकार भिन्न है?
सीआईएम (कॉमन इंफॉर्मेशन मॉडल) और डब्ल्यूएमआई (Windows प्रबंधन उपकरण (मैनेजमेंट इंस्ट्रूमेंटेशन) सिस्टम संसाधनों के प्रबंधन के लिए ढाँचे हैं। CIM एक नया, मानक-आधारित कार्यान्वयन है जो संचार के लिए DCOM के बजाय WS-Man का उपयोग करता है।
CIM और WMI के बीच अंतर
| Feature | WMI कमांडलेट्स | CIM कमांडलेट्स |
|---|---|---|
| प्रोटोकॉल | DCOM | डब्ल्यूएस-मैन |
| प्रदर्शन | और धीमा | तेज़ और फ़ायरवॉल-अनुकूल |
| क्रॉस-प्लेटफॉर्म | Windows-केवल | क्रॉस-प्लेटफ़ॉर्म संगत |
| सीएमडीलेट्स | Get-WmiObject |
Get-CimInstance |
| कनेक्टिविटी | विरासत RPC | आधुनिक HTTPS |
उदाहरण:
Get-CimInstance -ClassName Win32_OperatingSystem
अपने मानकीकृत संचार मॉडल के कारण दूरस्थ प्रबंधन और क्लाउड एकीकरण के लिए आधुनिक पावरशेल में CIM को प्राथमिकता दी जाती है।
26) आप PowerShell कमांड का उपयोग करके फ़ाइलों और निर्देशिकाओं का प्रबंधन कैसे कर सकते हैं?
PowerShell व्यापक फ़ाइल सिस्टम प्रबंधन के लिए cmdlets प्रदान करता है। ये cmdlets UNIX-शैली के कमांड की नकल करते हैं, लेकिन Windows वस्तुओं।
सामान्य फ़ाइल प्रबंधन कमांडलेट
| कार्य | कमांडलेट | उदाहरण |
|---|---|---|
| फ़ाइल बनाएँ | New-Item |
New-Item test.txt -ItemType File |
| प्रतिलिपि फ़ाइल | Copy-Item |
Copy-Item file1.txt C:\Backup |
| फ़ाइल ले जाएँ | Move-Item |
Move-Item data.txt C:\Data |
| फ़ाइल नष्ट करें | Remove-Item |
Remove-Item old.txt |
| खोज फ़ाइलें | Get-ChildItem |
Get-ChildItem *.log -Recurse |
30 दिनों से अधिक पुरानी लॉग फ़ाइलों को हटाने के लिए उदाहरण स्क्रिप्ट:
Get-ChildItem C:\Logs -Recurse |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} |
Remove-Item
इससे रखरखाव कार्य कुशलतापूर्वक स्वचालित हो जाता है।
27) PowerShell में Foreach लूप्स के उपयोग को उदाहरणों के साथ समझाइए।
RSI foreach निर्माण वस्तुओं के संग्रह के माध्यम से पुनरावृत्ति की अनुमति देता है, जिससे बैच संचालन सरल हो जाता है। PowerShell दो प्राथमिक भिन्नताओं का समर्थन करता है: foreach बयान और ForEach-Object cmdlet।
foreach कथन का उपयोग करते हुए उदाहरण:
$names = @("Alice", "Bob", "Carol")
foreach ($n in $names) { Write-Output "Hello, $n" }
ForEach-ऑब्जेक्ट का उपयोग करके उदाहरण:
Get-Process | ForEach-Object { $_.Name }
अंतर:
- RSI
foreachकथन सभी आइटम को मेमोरी में लोड करता है (छोटे सेटों के लिए तेज़)। ForEach-Objectएक समय में एक आइटम को संसाधित करता है (बड़ी पाइपलाइनों के लिए मेमोरी-कुशल)।
इनके बीच चयन डेटा के आकार और प्रदर्शन आवश्यकताओं पर निर्भर करता है।
28) पावरशेल इवेंट्स और इवेंट हैंडलिंग कैसे काम करते हैं?
पावरशेल इवेंट-संचालित प्रोग्रामिंग का समर्थन करता है, जिससे स्क्रिप्ट सिस्टम परिवर्तनों या उपयोगकर्ता-परिभाषित ट्रिगर्स पर प्रतिक्रिया करने में सक्षम होती है।
आयोजन के प्रकार:
- WMI कार्यक्रम: सिस्टम में परिवर्तन से प्रेरित, जैसे, नई प्रक्रिया का निर्माण।
- .NET इवेंट: .NET ऑब्जेक्ट्स, जैसे टाइमर, से नियंत्रित किया जाता है।
- कस्टम इवेंट: का उपयोग करके परिभाषित
New-Event.
उदाहरण:
Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_Process'" -Action {
Write-Output "New process detected!"
}
यह नई प्रक्रियाओं को सुनता है और स्वचालित रूप से क्रियाएं निष्पादित करता है, जिससे PowerShell सक्रिय सिस्टम मॉनिटरिंग के लिए उपयुक्त हो जाता है।
29) पावरशेल डीएससी पुल सर्वर क्या है, और यह पुश मोड से कैसे भिन्न है?
In PowerShell वांछित स्थिति कॉन्फ़िगरेशन (DSC), कॉन्फ़िगरेशन किसी भी में लागू किया जा सकता है धक्का or खींच मोड।
अंतर तालिका
| मोड | विवरण | उदाहरण |
|---|---|---|
| धक्का | स्क्रिप्ट के माध्यम से मैन्युअल रूप से कॉन्फ़िगरेशन को पुश किया गया | छोटे वातावरण |
| खींच | नोड्स केंद्रीय सर्वर से कॉन्फ़िगरेशन पुनर्प्राप्त करते हैं | उद्यम-स्तरीय स्वचालन |
| संचार | व्यवस्थापक → नोड | नोड → सर्वर |
| अनुमापकता | सीमित | अत्यधिक स्केलेबल |
उदाहरण: पुल मोड में, कॉन्फ़िगरेशन एक HTTP/SMB सर्वर पर संग्रहीत होते हैं, और नोड्स समय-समय पर अपडेट प्राप्त करने के लिए स्वचालित रूप से जाँच करते हैं। पुल मोड बिना किसी मैन्युअल हस्तक्षेप के सैकड़ों सर्वरों में अनुपालन बनाए रखने के लिए आदर्श है।
30) PowerShell किस प्रकार से इंटरैक्ट कर सकता है? Azure संसाधन?
PowerShell सहजता से एकीकृत होता है Azure के माध्यम से Az मॉड्यूल, जो क्लाउड सेवाओं को प्रबंधित करने के लिए सैकड़ों cmdlets प्रदान करता है।
सामान्य Azure PowerShell कमांडलेट्स
| कार्य | कमांडलेट | उदाहरण |
|---|---|---|
| लॉगिन करें | Connect-AzAccount |
से कनेक्ट करें Azure अंशदान |
| संसाधन प्रबंधन | New-AzResourceGroup |
संसाधन समूह बनाएँ |
| आभाषी दुनिया | Get-AzVM |
VM विवरण पुनर्प्राप्त करें |
| भंडारण | Get-AzStorageAccount |
संग्रहण खाते प्रबंधित करें |
उदाहरण स्क्रिप्ट:
Connect-AzAccount New-AzResourceGroup -Name "TestRG" -Location "EastUS" Get-AzVM
पॉवरशेल इंफ्रास्ट्रक्चर-एज़ ...-सिस्टम को सक्षम बनाता है।Code एसटी Azure, स्वचालन, CI/CD पाइपलाइनों और बहु-क्षेत्रीय परिनियोजन को प्रभावी ढंग से समर्थन प्रदान करना।
31) आप PowerShell स्क्रिप्ट में लॉगिंग और ऑडिटिंग कैसे लागू कर सकते हैं?
लॉगिंग और ऑडिटिंग इसके लिए आवश्यक हैं tracस्क्रिप्ट निष्पादन, समस्या निवारण और अनुपालन बनाए रखने में पॉवरशेल कई तरीकों से लॉग को कुशलतापूर्वक कैप्चर करने की सुविधा प्रदान करता है।
लॉगिंग के लिए सर्वोत्तम अभ्यास:
- स्टार्ट-ट्रांसक्रिप्ट / स्टॉप-ट्रांसक्रिप्ट का उपयोग करें: सभी कंसोल गतिविधि कैप्चर करता है.
- Write-Output या Write-Verbose: लॉग फ़ाइलों में संरचित डेटा आउटपुट करता है.
- कस्टम लॉगिंग फ़ंक्शन: का उपयोग करके केंद्रीकृत लॉग हैंडलर बनाएं
Out-FileorAdd-Content. - इवेंट लॉग: करने के लिए लिखें Windows इवेंट व्यूअर का उपयोग करना
Write-EventLog.
उदाहरण:
Start-Transcript -Path "C:\Logs\ScriptLog.txt" Write-Output "Script started at $(Get-Date)" # Your code here Stop-Transcript
सुझाव: Splunk या जैसे निगरानी उपकरणों के साथ एकीकरण के लिए संरचित JSON लॉग का उपयोग करें Azure पर नज़र रखें।
32) पावरशेल स्क्रिप्ट को प्रभावी ढंग से डीबग करने का तरीका बताएं।
पावरशेल में डिबगिंग में तर्क त्रुटियों, रनटाइम विफलताओं या अप्रत्याशित आउटपुट की पहचान करने के लिए उपकरण और तकनीकें शामिल होती हैं।
डिबग करने के तरीके:
- सेट-PSBreakpoint: विशिष्ट लाइनों या परिवर्तनीय पहुँच बिंदुओं पर निष्पादन को रोकता है।
- आईएसई और VS Code डिबगर्स: चरणबद्ध क्षमताएं और परिवर्तनशील निरीक्षण प्रदान करें।
- Write-Debug और Write-Verbose: निदान संदेश एम्बेड करें.
- ErrorAction के साथ Try/Catch करें: अपवादों को पकड़ें और उनका विश्लेषण करें.
उदाहरण:
Set-PSBreakpoint -Script .\MyScript.ps1 -Line 12
यह निरीक्षण के लिए लाइन 12 पर निष्पादन को रोक देता है।
गहन डिबगिंग के लिए, उपयोग करें VS Codeब्रेकपॉइंट और कॉल स्टैक विश्लेषण के साथ एकीकृत पावरशेल एक्सटेंशन।
33) पावरशेल स्ट्रीम्स क्या हैं, और वे मानक आउटपुट से कैसे भिन्न हैं?
पावरशेल में छह अलग-अलग आउटपुट स्ट्रीमप्रत्येक निष्पादन के दौरान डेटा और संदेशों को अलग करने में एक अद्वितीय उद्देश्य की पूर्ति करता है।
| धारा | विवरण | उदाहरण Cmdlet |
|---|---|---|
| 1 | उत्पादन | Write-Output |
| 2 | त्रुटि | Write-Error |
| 3 | चेतावनी | Write-Warning |
| 4 | वाचाल | Write-Verbose |
| 5 | डीबग करें | Write-Debug |
| 6 | जानकारी | Write-Information |
यह संरचना विशिष्ट संदेश प्रकारों के पुनर्निर्देशन की अनुमति देती है।
उदाहरण:
Get-ChildItem "C:\Invalid" 2> error.log
केवल त्रुटियों को ही रीडायरेक्ट करता है, इसे रखेंping कंसोल को साफ करें।
स्वच्छ स्वचालन और सटीक लॉग प्रबंधन के लिए स्ट्रीम्स को समझना महत्वपूर्ण है।
34) पॉवरशेल को सीआई/सीडी पाइपलाइन जैसे कि के साथ कैसे एकीकृत किया जा सकता है? Jenkins or Azure देवओप्स?
परीक्षण, परिनियोजन और कॉन्फ़िगरेशन को स्वचालित करने के लिए PowerShell CI/CD वातावरण में सहजता से एकीकृत हो जाता है।
एकीकरण के तरीके:
- Jenkins: बिल्ड चरणों में "निष्पादित करें" के माध्यम से PowerShell स्क्रिप्ट का उपयोग करें Windows PowerShell” चरण.
- Azure देवोप्स: प्रावधान और परिनियोजन के लिए पाइपलाइनों के भीतर PowerShell कार्य जोड़ें.
- गिटहब क्रियाएँ: रन
.ps1क्रॉस-प्लेटफ़ॉर्म स्वचालन के लिए स्क्रिप्ट.
उदाहरण:
- task: PowerShell@2
inputs:
filePath: 'scripts/Deploy.ps1'
arguments: '-Environment Prod'
यह स्निपेट PowerShell स्क्रिप्ट को चलाता है Azure DevOps पाइपलाइन.
PowerShell की प्रबंधन क्षमता Azure संसाधनों और हैंडल कॉन्फ़िगरेशन के कारण यह इंफ्रास्ट्रक्चर-एज़-ऑन-द-इंफ्रास्ट्रक्चर के लिए आदर्श है।Code DevOps वर्कफ़्लो में.
35) पावरशेल में रनस्पेस क्या हैं, और वे प्रदर्शन में सुधार कैसे करते हैं?
रनस्पेस हल्के निष्पादन संदर्भ हैं जो सक्षम करते हैं समानांतर प्रसंस्करण PowerShell के भीतर। वे एकाधिक PowerShell प्रक्रियाओं को लॉन्च करने की तुलना में अधिक कुशल हैं क्योंकि वे एक ही होस्ट वातावरण साझा करते हैं।
लाभ:
- नौकरियों या अलग प्रक्रियाओं का उपयोग करने की तुलना में तेज़।
- मेमोरी ओवरहेड कम हो गया.
- उच्च मात्रा डेटा संचालन के लिए उपयुक्त.
उदाहरण:
$pool = [runspacefactory]::CreateRunspacePool(1,5) $pool.Open()
रनस्पेस उन्नत मल्टी-थ्रेडिंग परिदृश्यों को सक्षम बनाता है, विशेष रूप से हजारों ऑब्जेक्ट्स या दूरस्थ अंतबिंदुओं से निपटने वाली स्क्रिप्ट में।
36) आप स्वचालन के लिए आवर्ती PowerShell स्क्रिप्ट को कैसे शेड्यूल कर सकते हैं?
PowerShell स्क्रिप्ट को शेड्यूल किया जा सकता है टास्क समयबद्धक, अनुसूचित नौकरियां, या के माध्यम से Azure स्वचालन क्लाउड वातावरण के लिए.
तरीके:
- Windows कार्य अनुसूचक:
GUI का उपयोग करके कार्य बनाएँ याschtasks.exe. - अनुसूचित नौकरियां:
उपयोगRegister-ScheduledJobआवर्ती निष्पादन को परिभाषित करने के लिए. - Azure स्वचालन:
क्लाउड-नेटिव PowerShell रनबुक शेड्यूल करें.
उदाहरण:
Register-ScheduledJob -Name "DailyBackup" -ScriptBlock {Backup-Database} -Trigger (New-JobTrigger -Daily -At 3AM)
इससे सुबह 3 बजे दैनिक बैकअप कार्य स्वचालित हो जाता है।
शेड्यूलिंग से मैन्युअल हस्तक्षेप के बिना परिचालन निरंतरता बढ़ती है।
37) पावरशेल स्क्रिप्ट के लिए प्रमुख प्रदर्शन ट्यूनिंग तकनीकें क्या हैं?
प्रदर्शन ट्यूनिंग सुनिश्चित करती है कि स्क्रिप्ट तेजी से निष्पादित हो और कम संसाधनों का उपभोग करे।
तकनीक:
- अनावश्यक पाइपलाइन परिचालन से बचें।
- दृढ़तापूर्वक टाइप किए गए चरों का उपयोग करें अंतर्निहित रूपांतरणों को रोकने के लिए.
- मूल .NET विधियों का उपयोग करें भारी गणनाओं के लिए.
- डिस्क I/O कम करें इन-मेमोरी ऑपरेशन का उपयोग करके।
- समानांतरीकरण का लाभ उठाएं (
ForEach-Object -Parallelया रनस्पेस)।
उदाहरण: के बजाय:
Get-Content largefile.txt | ForEach-Object {$_}
का प्रयोग करें:
[System.IO.File]::ReadAllLines("largefile.txt")
यह विधि .NET क्लासों के माध्यम से फ़ाइल तक सीधे पहुंच बनाकर गति में सुधार करती है।
38) सिस्टम प्रदर्शन और संसाधनों की निगरानी के लिए पावरशेल का उपयोग कैसे किया जा सकता है?
PowerShell सिस्टम मेट्रिक्स की निगरानी के लिए cmdlets और WMI/CIM इंटरफेस प्रदान करता है, जो इसे सक्रिय संसाधन प्रबंधन के लिए उपयुक्त बनाता है।
उपयोगी कमांडलेट:
Get-Process- सीपीयू/मेमोरी उपयोग.Get-Counter– प्रदर्शन काउंटर.Get-WmiObject win32_LogicalDisk– डिस्क उपयोग.Get-Service– सेवा की स्थिति.
उदाहरण:
Get-Counter -Counter "\Processor(_Total)\% Processor Time"
आप सशर्त तर्क का उपयोग करके अलर्ट को स्वचालित कर सकते हैं, उदाहरण के लिए, यदि CPU उपयोग 90% से अधिक हो जाता है तो ईमेल ट्रिगर करें।
इसे निगरानी पाइपलाइनों में एकीकृत करने से निरंतर स्वास्थ्य जांच को समर्थन मिलता है।
39) पावरशेल ट्रांसक्रिप्ट क्या है, और यह अन्य लॉगिंग विधियों से कैसे भिन्न है?
PowerShell ट्रांसक्रिप्ट, ऑडिटिंग और अनुपालन के लिए, कमांड और आउटपुट सहित सभी सत्र गतिविधियों को एक टेक्स्ट फ़ाइल में रिकॉर्ड करता है।
मुख्य विशेषताएं:
- कंसोल गतिविधि को स्वचालित रूप से कैप्चर करता है.
- रिकॉर्डिंग के दौरान संशोधित नहीं किया जा सकता (अखंडता जोड़ता है)।
- स्थानीय और दूरस्थ सत्रों में काम करता है।
उदाहरण:
Start-Transcript -Path "C:\Logs\AdminSession.txt" # Commands executed here Stop-Transcript
लॉगिंग से अंतर: ट्रांसक्रिप्ट इंटरैक्टिव सत्रों को कैप्चर करता है, जबकि लॉगिंग स्क्रिप्ट के भीतर विशिष्ट संदेशों या आउटपुट पर ध्यान केंद्रित करता है।
40) साझाकरण या परिनियोजन से पहले PowerShell स्क्रिप्ट को कैसे सुरक्षित किया जा सकता है?
स्क्रिप्ट को सुरक्षित करने से अनधिकृत संशोधन, छेड़छाड़ या क्रेडेंशियल के उजागर होने से बचाव होता है।
सुरक्षा के उपाय:
- Code हस्ताक्षर: डिजिटल प्रमाणपत्रों का उपयोग करें
Set-AuthenticodeSignature. - निष्पादन नीति नियंत्रण: उपयोग
AllSignedयह सुनिश्चित करने के लिए कि केवल सत्यापित स्क्रिप्ट ही चलें. - अस्पष्टता: संवेदनशील तर्क को सुरक्षित रखने के लिए
ConvertTo-SecureStringऔर पर्यावरण चर. - संस्करण नियंत्रण: प्रतिबंधित पहुंच के साथ स्क्रिप्ट को Git में संग्रहित करें।
- मान्यता: फ़ाइल अखंडता के लिए चेकसम या हैश शामिल करें.
उदाहरण:
Set-AuthenticodeSignature .\Deploy.ps1 @(Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)
Code हस्ताक्षर करने से प्रामाणिकता सुनिश्चित होती है और वितरण के दौरान स्क्रिप्ट में छेड़छाड़ को रोका जा सकता है।
🔍 वास्तविक दुनिया के परिदृश्यों और रणनीतिक प्रतिक्रियाओं के साथ शीर्ष PowerShell साक्षात्कार प्रश्न
नीचे दिया गया हैं 10 व्यावसायिक रूप से प्रासंगिक PowerShell साक्षात्कार प्रश्न साक्षात्कारकर्ता की अपेक्षाओं और मज़बूत नमूना उत्तरों के साथ। प्रश्नों में शामिल हैं ज्ञान आधारित, व्यवहार, तथा स्थितिजन्य सभी शैलियाँ वास्तविक नियुक्ति प्रथाओं को प्रतिबिंबित करने के लिए तैयार की गई हैं।
1) पावरशेल क्या है, और यह पारंपरिक कमांड प्रॉम्प्ट से किस प्रकार भिन्न है?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता पावरशेल के ऑब्जेक्ट-ओरिएंटेड डिजाइन की समझ और टेक्स्ट-आधारित शेल्स पर इसके लाभों का आकलन करना चाहता है।
उदाहरण उत्तर: पावरशेल .NET पर निर्मित एक कार्य स्वचालन और कॉन्फ़िगरेशन प्रबंधन ढाँचा है। यह पारंपरिक कमांड प्रॉम्प्ट से अलग है क्योंकि पावरशेल सादे पाठ के बजाय संरचित ऑब्जेक्ट आउटपुट करता है, जिससे अधिक उन्नत स्क्रिप्टिंग, स्वचालन और सिस्टम API और मॉड्यूल के साथ एकीकरण संभव होता है।
2) क्या आप बता सकते हैं कि PowerShell में cmdlet क्या है?
उम्मीदवार से अपेक्षित: PowerShell कमांड के निर्माण खंडों का वर्णन करने की क्षमता।
उदाहरण उत्तर: एक cmdlet .NET फ्रेमवर्क पर निर्मित एक हल्का PowerShell कमांड होता है। cmdlets क्रिया-संज्ञा नामकरण पद्धति का पालन करते हैं, जैसे Get-Process, और वे ऐसे ऑब्जेक्ट लौटाते हैं जिन्हें शक्तिशाली स्वचालन वर्कफ़्लो के लिए अन्य cmdlets में पाइप किया जा सकता है।
3) आपके द्वारा लिखी गई एक चुनौतीपूर्ण स्वचालन स्क्रिप्ट का वर्णन करें और बताएं कि आपने इसकी विश्वसनीयता कैसे सुनिश्चित की।
उम्मीदवार से अपेक्षित: स्क्रिप्टिंग जटिलता, परीक्षण प्रथाओं और समस्या समाधान में अंतर्दृष्टि।
उदाहरण उत्तर: अपनी पिछली भूमिका में, मैंने कई सिस्टम में उपयोगकर्ता ऑनबोर्डिंग को स्वचालित करने के लिए एक PowerShell स्क्रिप्ट बनाई थी। मैंने मॉड्यूलर फ़ंक्शन, व्यापक त्रुटि प्रबंधन और परिनियोजन से पहले स्टेजिंग वातावरण में परीक्षण मामलों को चलाकर इसकी विश्वसनीयता सुनिश्चित की।
4) आप PowerShell स्क्रिप्ट में त्रुटियों को कैसे संभालते हैं?
उम्मीदवार से अपेक्षित: त्रुटि प्रबंधन तकनीकों की समझ।
उदाहरण उत्तर: मैं Try, Catch, Finally ब्लॉक्स का उपयोग करके त्रुटियों को संभालता हूँ। मैं cmdlets को कॉल करते समय ErrorAction पैरामीटर का भी उपयोग करता हूँ ताकि यह नियंत्रित किया जा सके कि वे नॉन-टर्मिनेटिंग त्रुटियों पर कैसे प्रतिक्रिया देते हैं। त्रुटि विवरण लॉग करने से विफलताओं का निदान करने और दीर्घकालिक स्क्रिप्ट स्थिरता में सुधार करने में मदद मिलती है।
5) आप किसी स्क्रिप्ट का समस्या निवारण कैसे करेंगे जो उत्पादन वातावरण में अचानक धीमी गति से चलने लगती है?
उम्मीदवार से अपेक्षित: मूल कारण का निर्धारण करने के लिए एक व्यवस्थित दृष्टिकोण।
उदाहरण उत्तर: पिछली स्थिति में, मैंने हाल के बदलावों को अलग करके और संसाधन-गहन लूप्स या अत्यधिक API कॉल्स की जाँच करके शुरुआत की। फिर मैंने प्रदर्शन संबंधी बाधाओं का मूल्यांकन करने के लिए Measure-Command का उपयोग किया और परिणामों को कैश करने और अनावश्यक क्वेरीज़ को कम करने जैसी अनुकूलन तकनीकों को लागू किया।
6) पावरशेल में पाइपलाइन क्या है और यह क्यों उपयोगी है?
उम्मीदवार से अपेक्षित: PowerShell की मुख्य शक्तियों में से एक की समझ।
उदाहरण उत्तर: पाइपलाइन एक cmdlet के आउटपुट को दूसरे cmdlet में इनपुट के रूप में भेजने की अनुमति देती है। यह उपयोगी है क्योंकि यह कमांड्स की कुशल श्रृंखलाबद्धता को सक्षम बनाता है, अस्थायी चरों को कम करता है, और डेटा के एक स्वच्छ, ऑब्जेक्ट-आधारित प्रवाह का समर्थन करता है।
7) वर्णन करें कि आप PowerShell का उपयोग करके एकाधिक मशीनों में सॉफ्टवेयर की तैनाती को कैसे स्वचालित करेंगे।
उम्मीदवार से अपेक्षित: दूरस्थ निष्पादन और स्वचालन की सर्वोत्तम प्रथाओं से परिचित होना।
उदाहरण उत्तर: मैं कई होस्ट्स पर इंस्टॉलेशन स्क्रिप्ट निष्पादित करने के लिए Invoke-Command के साथ PowerShell रिमोटिंग का लाभ उठाऊँगा। मैं सॉफ़्टवेयर की उपलब्धता की पुष्टि करूँगा, इंस्टॉलेशन परिणामों को लॉग करूँगा, और परिनियोजन को तेज़ करने के लिए PowerShell जॉब्स जैसी समानांतर प्रोसेसिंग तकनीकों का उपयोग करूँगा।
8) विकास के दौरान आप आमतौर पर टीम के सदस्यों के साथ कैसे सहयोग करते हैं?ping स्क्रिप्ट?
उम्मीदवार से अपेक्षित: संचार, दस्तावेज़ीकरण और टीमवर्क कौशल।
उदाहरण उत्तर: अपनी पिछली नौकरी में, मैं Git जैसे संस्करण नियंत्रण प्रणालियों के माध्यम से सहयोग करता था, स्क्रिप्ट समीक्षाएँ करता था, और सहमत शैली दिशानिर्देशों का पालन करता था। मैंने स्क्रिप्ट के उपयोग और निर्भरताओं को समझाने वाले दस्तावेज़ भी तैयार किए ताकि टीम के सदस्य उन्हें आसानी से अपना सकें और उनका रखरखाव कर सकें।
9) यदि आपके द्वारा लिखी गई स्क्रिप्ट के कारण अप्रत्याशित रुकावट उत्पन्न हो जाए तो आप क्या कदम उठाएंगे?
उम्मीदवार से अपेक्षित: जवाबदेही, धैर्य और संरचित घटना प्रतिक्रिया।
उदाहरण उत्तर: मैं तुरंत स्क्रिप्ट रोक दूँगा, संबंधित हितधारकों को सूचित करूँगा, और समस्या के कारण का पता लगाने के लिए लॉग्स की समीक्षा शुरू करूँगा। मैं एक समाधान लागू करूँगा, परीक्षण वातावरण में उसका सत्यापन करूँगा, और पुनरावृत्ति को रोकने के लिए दस्तावेज़ीकरण या सुरक्षा उपायों को अद्यतन करूँगा।
10) आप नई PowerShell सुविधाओं और सर्वोत्तम प्रथाओं के साथ कैसे अद्यतन रहते हैं?
उम्मीदवार से अपेक्षित: निरंतर सीखने को दर्शाता है.
उदाहरण उत्तर: अपनी पिछली भूमिका में, मैं PowerShell GitHub रिपॉजिटरी का अनुसरण करके, सामुदायिक मंचों में भाग लेकर और आधिकारिक जानकारी पढ़कर अपडेट रहता था। Microsoft मैंने वर्चुअल मीटअप में भी भाग लिया जहाँ पेशेवरों ने नई तकनीकों और व्यावहारिक उपयोग के मामलों को साझा किया।
