पावरहेल अनोलिंग मुझे पागल कर रही है।ऐरेलिस्ट अनलोलिंग
मेरे पास एक एक्सचेंज प्राप्तकर्ता से ईमेल पते पुनर्प्राप्त करने के लिए निम्न कोड है। मैं ArrayList का उपयोग कर रहा हूं क्योंकि यह कई लोगों द्वारा सुझाया जाता है जब आप सरणी से वस्तुओं को हटाने की क्षमता चाहते हैं।
$aliases = New-Object System.Collections.ArrayList
$smtpAddresses = (Get-Recipient $this.DN).EmailAddresses | ?{$_.Prefix.ToString() -eq 'smtp' }
foreach ($smtpAddress in $smtpAddresses) {
$aliases.Add($smtpAddress.SmtpAddress)
}
return $aliases
$ का मूल्य उपनाम समारोह के अंत में सही नहीं है (यानी एक्स में ईमेल पते और प्रकार ArrayList है जाएगा), लेकिन लौटने के बाद यह System.Object [] हो जाता है और 2x प्रविष्टियां हैं। एक्स इंट 32 के बाद एक्स स्ट्रिंग्स (यानी {0, 1, बॉब @ यहां, बॉब @ वहां}) हैं। ऐसा क्यों होता है और मैं अपने ऐरेलिस्ट को बरकरार रखने के लिए कैसे? क्या मैं ArrayList का उपयोग करने के लिए गलत हूँ?
जिज्ञासा से, पीएस अनोलिंग के परिणामस्वरूप सभी प्रश्न/समस्याओं के साथ, इसका उद्देश्य क्या है? शक्तिशक्ति का बड़ा लाभ यह है कि आप अपने पाठ के अनुमानों के बजाय सीधे वस्तुओं के साथ काम करते हैं, दुर्भाग्यवश, मुझे कभी नहीं पता कि मैं किस प्रकार की वस्तु के साथ काम कर रहा हूं - और यहां तक कि जब भी मैं जांच करता हूं, यह अधिक आकार के लिए अपना आकार नहीं लग रहा है कोड की कुछ पंक्तियों की तुलना में।
- संपादित करें समारोह एक PSObject
$get_aliases = { ... }
$obj | Add-Member -MemberType ScriptProperty -Name Aliases -Value $get_aliases -SecondValue $set_aliases
@bob इसे सुनकर खुशी हुई। इसे अपने अन्वेषण के साथ रखें! * पाइपलाइन * मोड में काम करने में दिमाग को कम करने में थोड़ा समय लगता है। एक बार ऐसा होने पर सोचा जाता है कि आप सराहना करना शुरू कर देंगे कि PowerShell आपके लिए क्या कर रहा है। –