मैं कोड का एक सा है कि इस तरह दिखता है:एडी ऑब्जेक्ट के अस्तित्व की जांच; मैं एक बदसूरत त्रुटि संदेश से कैसे बचूं?
if (Get-ADUser $DN -EA SilentlyContinue) {
# Exists
} else {
# Doesn't Exist
}
दुर्भाग्य से, जब प्राप्त करें-ADUser डीएन एक उपयोगकर्ता को खोजने में विफल (जो ठीक है, इसका मतलब है ऑब्जेक्ट नाम नहीं लिया जाता है), यह फेंकता ऊपर और एक त्रुटि थूकता है। मुझे पता है कि यह असफल हो जाएगा, यह ठीक है, यही कारण है कि मेरे पास -ErrorAction
से SilentlyContinue
है। दुर्भाग्यवश ऐसा कुछ नहीं लगता है ... मुझे अभी भी स्क्रिप्ट आउटपुट पर बारफ मिलता है। कोड काम करता है, यह कंसोल के कारण त्रुटि को थूकने के कारण सिर्फ बदसूरत है।
- क्या यह जांचने का कोई बेहतर तरीका है कि कोई विशेष वस्तु मौजूद है या नहीं?
- यदि नहीं, तो त्रुटिएक्शन को ठीक से चुप रहने का कोई तरीका है?
एनबी: कोशिश के साथ ... पकड़ समाधान आप अधिक विशिष्ट हो सकता है; यानी नामित अपवादों को पकड़कर। {Get-ADUser $ DN -EA Stop} को पकड़ें [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] {"अच्छी कोशिश करें"} {"अपेक्षित समस्या नहीं"} ' – JohnLBevan
'get-aduser -erroraction' silentlycontinue 'लगता है powerhell-v4.0 में ठीक से काम करने के लिए। –