में मॉड्यूल में वेरिएबल्स मेरे पास एक मुख्य स्क्रिप्ट है, जहां कुछ स्थिरांक परिभाषित किए जाते हैं। मेरे पास सहायक कार्य शामिल करने के लिए एक मॉड्यूल (psm1) है। विवरण हैं:पावरशेल
मुख्य स्क्रिप्ट में, मैं एक वस्तु के रूप मॉड्यूल आयात किया है:
$cud2ADhleper = Import-Module -Force $cud2ADhelperModule -AsCustomObject
मॉड्यूल में, मैं दो चर,
[string]$SQLServer = $null
Function SetSQLServerAddr ([string] $name)
{
$SQLServer = $name
}
Function GetSQLServerAddr
{
return $SQLServer
}
मेरे समझ है कि है क्योंकि मैं मॉड्यूल से $SQLServer
निर्यात नहीं कर रहा हूं, यह चर स्थानीय होना चाहिए, और मुझे इसे सेट/प्राप्त करने में सक्षम होना चाहिए।
यह अन्यथा पता चला है। SetSQLServerAddr ([string] $name)
कहने के बाद, GetSQLServerAddr
कॉलिंग $ null लौटाता है। मुझसे क्या छूट गया?
मैं पूरी तरह से देख रहा हूं और लगभग_स्कोप पढ़ा है लेकिन यह अभी भी मुझे स्पष्ट नहीं है कि मॉड्यूल में परिभाषित एक चर मॉड्यूल के भीतर किसी फ़ंक्शन में स्क्रिप्ट स्कोप का उपयोग करके सेट किया जा सकता है। स्क्रिप्ट स्कोप लगता है जैसे यह एक मॉड्यूल के संदर्भ में एक गलत नाम है और इसे मॉड्यूल स्कोप या ऐसा कुछ कहा जाना चाहिए। आपके उत्तर के लिए धन्यवाद! –
@ChrisMagnuson मैं मानता हूं कि नाम बहुत अच्छा नहीं है, लेकिन यह समझ में आता है ("सामान्य" स्क्रिप्ट से प्रासंगिक अंतर यह है कि कॉलर पर लौटने के बाद मॉड्यूल स्थिति बनी रहती है)। – Richard