8

पर एक्सचेंज सर्वर से रिमोट करने का प्रयास करते समय "एक्सेस अस्वीकृत है" त्रुटि मैं स्थानीयहोस्ट पर एक्सचेंज सर्वर के विरुद्ध कई एक्सचेंज कमांड चलाने के लिए PowerShell सत्र स्थापित करने का प्रयास कर रहा हूं। मैं निम्नलिखित त्रुटि प्राप्त हो रही:लोकलहोस्ट

New-PSSession : [<HOSTNAME>] Connecting to remote server <HOSTNAME> failed with the following error message 
: Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. 
At line:1 char:12 
+ $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'h ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin 
    gTransportException 
    + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed 

मेरे कोड माइक्रोसॉफ्ट Technet Article से एक कॉपी पेस्ट है। यह रिमोट मशीन के खिलाफ काम करता है, लेकिन जब भी मैं उस मशीन को लक्षित करता हूं जिसे मैं चला रहा हूं, मुझे उपरोक्त त्रुटि मिलती है।

क्या मैं अब तक की कोशिश की है:

  1. about_remote_troubleshooting मदद विषय की जांच की गई। एक्सेस अस्वीकृत त्रुटियों से संबंधित कुछ भी काम नहीं किया।
  2. एक्सेस किए गए रिमोट मशीनों को उसी प्रमाण-पत्र का उपयोग करके एक्सेस अस्वीकृत त्रुटि प्राप्त हुई। (बिना किसी समस्या के कनेक्ट)
  3. सत्यापित किया गया कि मेरा PowerShell सत्र व्यवस्थापक के रूप में चल रहा है। (यह है)
  4. सत्यापित किया गया कि एक्सचेंज प्रबंधन शैल सफलतापूर्वक लॉन्च करने में सक्षम है। (यह है)
  5. यह देखने के लिए क्रेडेंशियल्स के बिना प्रयास किया कि यह काम करेगा या नहीं। (यह नहीं था)
  6. net use और net session चेक किया गया ताकि यह सुनिश्चित किया जा सके कि मेरे पास समान प्रमाण-पत्र समस्या के साथ अजीब एकाधिक कनेक्शन नहीं हैं। (मुझे यह इंगित करने के लिए कुछ भी नहीं देखा गया था)
  7. दोनों ने स्क्रिप्ट से कोशिश की जो मुद्दों का कारण बन रहा है और कमांड को पावरहेल कंसोल में हाथ से टाइप करके। (दोनों तरीकों से एक ही परिणाम मिला। स्थिरता के लिए यय)
  8. इसे कई प्रणालियों पर आजमाया। (एक ही हर जगह परिणाम)

कुछ देने योग्य बातें:

  • यह विंडोज सर्वर 2012 पर चल रहे Exchange 2013 है यह एक बुनियादी स्थापना, बस एक परीक्षण वातावरण बहुत कम डेटा और स्थापित करने से परे कम से कम विन्यास है कि और remoting सक्षम।
  • उपयोग किए गए प्रमाण-पत्र डोमेन व्यवस्थापक के लिए थे, जिनके लिए मुझे आवश्यक कुछ भी करने के लिए आवश्यक एक्सचेंज अनुमतियां भी हैं। मैं, जब तक मैं एक ऐसी मशीन को लक्षित करता हूं जो मैं नहीं चला रहा हूं, मेरे पास कोई समस्या नहीं है, जिस तरह से मैं कनेक्ट कर रहा हूं उसके बारे में कुछ भी नहीं बदल रहा है। इसके अतिरिक्त, यह एक परीक्षण डोमेन है जहां डोमेन व्यवस्थापक की पहुंच प्रतिबंधित नहीं है या किसी भी तरह से tweaked नहीं है, तो यह सब कुछ के लिए कुल और पूर्ण पहुंच होनी चाहिए।

विशिष्ट आदेश मैं प्रवेश कर रहा हूँ कर रहे हैं:

$cred = Get-Credential 
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'http://<HOSTNAME>/Powershell' -Credential $cred 

यह कुछ है कि मैं ऐसा करने में सक्षम होना चाहिए की तरह स्थानीय होस्ट से कनेक्ट कर रहा है? या यह सिर्फ समर्थित नहीं है?

मैं इस बिंदु पर एक पूर्ण नुकसान पर हूं। किसी भी मदद, मुझे सही दिशा में इंगित करने के लिए भी, बहुत सराहना की जाएगी।

संपादित करें: मुझे जोड़ना चाहिए, मैंने उपरोक्त समान आदेशों का उपयोग करके, इस लोकहोस्ट से एक अलग मशीन से कनेक्ट करने का प्रयास किया है, और यह बिना किसी समस्या के काम करता है। तो, मैं नहीं सोचता यह स्थानीय कॉन्फ़िगरेशन समस्या है।

+0

आपने सत्यापित किया है कि आपका डोमेन व्यवस्थापक सर्वर तक पहुंच सकता है? कारण मैं पूछता हूं कि मेरा मानना ​​है कि उन्हें विनिमय करने के लिए रिमोट की विशेष अनुमति की आवश्यकता है, और मुझे लगता है कि आप केवल विनिमय के भीतर ही ऐसा कर सकते हैं। – Luke

+0

@ ल्यूक हां। मैं अपने डोमेन व्यवस्थापक प्रमाण-पत्र के साथ सर्वर में लॉग इन हूं। इसके अतिरिक्त, एक अलग कंप्यूटर से, मैं उन डोमेन क्रेडिट का उपयोग करके इस कंप्यूटर को दूरस्थ रूप से एक्सेस करने में सक्षम हूं। उर्फ, कंप्यूटर ए का एक्सचेंज स्थापित है। मैं डोमेन ए के साथ कंप्यूटर ए (स्थानीय उदाहरण में स्थानीयहोस्ट) में लॉग इन हूं, ए से एक्सचेंज करने के लिए रिमोट रिमोट नहीं कर सकता। हालांकि, कंप्यूटर बी (उसी डोमेन पर) से मैं कंप्यूटर ए पर एक्सचेंज में रिमोट करने में सक्षम हूं। इसके अतिरिक्त, यदि मैं अपने एडमिन क्रेडिट के साथ कंप्यूटर ए से कंप्यूटर सी (जिसने एक्सचेंज भी स्थापित किया है) से रिमोट करने का प्रयास किया है तो यह – Jgraum

+0

ठीक काम करता है, इसलिए यह केवल ए से ए में काम नहीं करता है ... फ़ायरवॉल चालू है? यद्यपि जिस तरह से आपने यह समझाया है कि यह समस्या नहीं हो सकती है ... – Luke

उत्तर

1

तो, मैंने पिछले हफ्ते के अंत में समाधान पर ठोकर खाई। प्रतीत होता है प्रमाणीकरण के साथ ऐसा कुछ लगता है। मैंने "-प्रमाणीकरण" पैरामीटर को खाली छोड़ दिया था, जिससे नए-पर्सेशन कमांड को सॉर्ट करने का इरादा है कि कौन सी विधि सबसे अच्छी होगी।

जाहिर है, यह "वार्तालाप" प्रमाणीकरण विधि के लिए डिफ़ॉल्ट है, जो एक दूरस्थ मशीन के खिलाफ केर्बेरोज का चयन करेगा, लेकिन अन्यथा एनटीएलएम का चयन करेगा (या कम से कम, यह मेरा मनाया/माना गया व्यवहार था)। प्रमाणीकरण विधियों के this Microsoft description देखें।

एक विशिष्ट प्रमाणीकरण विधि निर्दिष्ट करना (दोनों "केर्बेरोस" और "बेसिक" काम किया, "नेगोशिएट" नहीं किया, मैंने इससे पहले बहुत ज्यादा टंकण नहीं किया) इस मुद्दे को साफ़ करता है और मुझे स्थानीय विनिमय उदाहरण से कनेक्ट करने की अनुमति देता है ।

तो, बल्कि इस से:

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'http://<HOSTNAME>/Powershell' -Credential $cred 

यह करें:

$session = New-PSSession -Authentication Kerberos -ConfigurationName Microsoft.Exchange -ConnectionUri 'http://<HOSTNAME>/Powershell' -Credential $cred 

क्यों कि काम किया है? मेरे पास कोई सुराग नहीं है। मैं इसे उन लोगों को छोड़ दूंगा जो इसे समझाने के लिए मुझसे ज्यादा जानते हैं।

0

यदि आप एक ही कंप्यूटर पर एक सत्र बनाने की कोशिश कर रहे हैं क्योंकि आपका वर्तमान सत्र यूआरआई को छोड़ देता है।

$cred = Get-Credential 
$session = New-PSSession -ConfigurationName Microsoft.Exchange -Credential $cred 

यह स्थानीयहोस्ट पर एक नया सत्र तैयार करेगा जिसे आप कनेक्ट कर सकते हैं और आवश्यकतानुसार उपयोग कर सकते हैं।

+0

कोशिश की, मुझे करीब मिला। सत्र बनाया गया था, लेकिन किसी कारण से इसमें कमांड नहीं थे, मुझे चलाने की ज़रूरत है। मुझे पूरी तरह से यकीन नहीं है कि, जैसा कि मैंने सोचा था कि कॉन्फ़िगरेशन नाम उन आदेशों को उपलब्ध करा रहा था। मुझे लगता है कि मुझे यह पता लगाने की आवश्यकता हो सकती है कि मैं अपने लोकहोस्ट को किसी भी तरह से लक्षित कर रहा हूं और केवल स्नैपिन (microsoft.blah.blah.blah.Powershell.E2010) लोड कर रहा हूं और इस तरह के आदेशों तक पहुंच प्राप्त कर सकता हूं। – Jgraum

+0

मुझे लगता है कि आप इसे सोचने पर विचार कर सकते हैं, और उस लेख के बिंदु को याद कर सकते हैं जिसे आपने लिंक किया था। अगर आप अपने स्थानीय कंप्यूटर * पर एक्सचेंज पावरशेल उपकरण स्थापित नहीं करते हैं, तो आप पूरी तरह से एक्सचेंज cmdlets * तक पहुंच सकते हैं। स्थानीय उपयोग के लिए आपके पास एक्सचेंज मैनेजमेंट कंसोल या ऐसा कुछ शॉर्टकट होना चाहिए जो पहले से लोड और उपलब्ध एक्सचेंज सेमीडलेट के साथ पावरहेल सत्र बनाएगा। – TheMadTechnician

+0

मैंने अपने इच्छित उपयोग को सही ढंग से समझाया नहीं है। मैं एक दिए गए एक्सचेंज सर्वर के खिलाफ आदेशों का संग्रह स्वचालित रूप से चलाने के लिए एक स्क्रिप्ट लिख रहा हूं। यह एक बाहरी अनुप्रयोग से चलाने जा रहा है और मैं नहीं चाहता कि एक कंसोल दिखाई दे। तो ... जहां तक ​​मैं कह सकता हूं मुझे स्थानीय मशीन के खिलाफ एक पंसेशन बनाने की जरूरत है।हालांकि, मुझे पिछले हफ्ते देर से समाधान मिला, मैं इसे जल्द ही एक उत्तर के रूप में पोस्ट कर दूंगा। – Jgraum

संबंधित मुद्दे