PowerShell वेब एक्सेस के साथ defaultAuthenticationType का उपयोग करना


14

PowerShell वेब एक्सेस आपको प्रमाणीकरण प्रकार चुनने देता है। डिफ़ॉल्ट रूप से, यह एक मान का उपयोग करता है Default, जो समाप्त हो रहा है Negotiate। मैंने क्रेडा की स्थापना पीएसडब्ल्यूए सर्वर में ही करने की अनुमति देने के लिए क्रेडएसएसपी की स्थापना की है, ताकि नेटवर्क प्रमाणीकरण सत्र के भीतर से काम करे (पूरे नेटवर्क में क्रेडेंशियल्स का प्रतिनिधित्व किए बिना, एक डबल हॉप समस्या से बचा जाता है)।

वैसे भी, मैं चाहता हूं कि साइन-इन पृष्ठ पर क्रेडएसएसपी डिफ़ॉल्ट विकल्प हो।

IIS में PSWA वेब ऐप के लिए कॉन्फ़िगरेशन विकल्पों को देखते हुए, कई मान हैं जो डिफ़ॉल्ट को ओवरराइड करने के लिए सेट किए जा सकते हैं।

उनमें से एक को कहा जाता है defaultAuthenticationTypeजो एक है, stringलेकिन सेट है 0

यह सही सेटिंग की तरह लगता है, लेकिन मैं इसे काम करने के लिए नहीं कर सकता।

यदि मैं वेब पेज में साइन का निरीक्षण करता हूं तो मैं देख सकता हूं कि चयन बॉक्स में निम्नलिखित मान हैं:

0   Default
1   Basic
2   Negotiate
4   CredSSP
5   Digest
6   Kerberos

3 लापता है।

JosefZ में पाया गया कि 3है NegotiateWithImplicitCredentialइस पेज के अनुसार , लेकिन Windows PowerShell 5.1.15063.966 पर मेरे लिए है कि नाम / मान enum से लापता है।

यदि मैं defaultAuthenticationTypeएक नंबर पर सेट करता हूं , तो वेब पेज एक नए विकल्प में चूक जाता है:

7   Admin Specified

मैंने कोशिश की है 3और 4, लेकिन न तो कोई काम करता है। लॉगिन Kerberos का उपयोग करके होता है, और CredSSP का उपयोग नहीं किया जाता है।

यदि मैं क्रेडेंशियल का चयन मैन्युअल रूप से करता हूं तो यह अपेक्षा के अनुरूप काम करता है।

अगर मैं defaultAuthentcationTypeएक स्ट्रिंग की तरह सेट करता हूं CredSSP, तो कोई Admin Specifiedविकल्प दिखाई नहीं देता है और यह सिर्फ Defaultफिर से डिफॉल्ट करता है , और फिर भी केर्बरोस प्रमाणीकरण का उपयोग किया जाता है।

क्या कोई इसे सफलतापूर्वक सेट करने में सक्षम है? वेब परिणामों की बहुत कमी रही है।


क्या आपने डिफ़ॉल्ट रूप से CredSSP विकल्प का चयन करने के लिए logon.aspx पेज भी अपडेट किया था?
लगातार 13

@ Persistent13 नहीं, मैंने उस पृष्ठ को नहीं छुआ। मुझे लगता है कि यह काम करेगा, और मैं इसका सहारा ले सकता हूं, लेकिन यह स्पष्ट रूप से एक हैक है। मैं कुछ समर्थित और दोहराना चाहता था। मैं वास्तव में इसे डीएससी के माध्यम से लगभग पूरी तरह से स्थापित और कॉन्फ़िगर कर रहा हूं, और मैं उस मूल्य को बदलने के लिए जानदार स्क्रिप्ट संसाधन लिखना नहीं चाहता हूं logon.aspx। हालांकि यह सुनिश्चित करने के लिए एक अच्छा सुझाव है।
रिश्वतखोर

DSC के लिए, मैं आपको अपना स्वयं का संसाधन लिखने की सलाह दूंगा या Get-Content, -replace, और Set-Content के संयोजन का उपयोग करके logon.aspx को अपडेट करने के लिए स्क्रिप्ट संसाधन का उपयोग करूंगा क्योंकि यह अधिक दोहराने योग्य होगा।
लगातार 13

@ Persistent13 हाँ, यह उल्लेखनीय है। मुझे लगता है कि यह स्पष्ट है कि आशय इस मूल्य को विन्यास में बदलने का समर्थन करना था, यह सिर्फ काम नहीं कर रहा है, और एक संसाधन लिखना इसके लिए भारी है; मेरे उद्देश्यों के लिए वैसे भी।
रिश्वतवादी

1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]देख AuthenticationMechanismenum
JosefZ

जवाबों:


0

इस गाइड का अनुसरण करने का प्रयास करें यह आपको वहीं प्राप्त करना चाहिए जहां आप जाना चाहते हैं। https://www.petri.com/powershell-web-access-configuration

here is the section you want. 
PowerShell
1
Add-PswaAuthorizationRule : This command must be run by a user account with permissions to perform Active Directory queries.
If you run the command in an interactive (i.e. not via remoting) session on the server it should work just fine. The problem here is the second hop. The Add-PSwaAuthorizationRule cmdlet needs to make a connection to a domain controller, which by security design is not allowed in PowerShell Remoting. This second-hop limitation can be overcome by enabling CredSSP authentication. Note: This is not be done lightly as there are security ramifications, so research this fully before employing.

But in my situation, since I want to use remoting, Ill exit out of the remote session and enable CredSSP on my desktop for CHI-WEB01.

PowerShell
1
PS C:\> Enable-WSManCredSSP -DelegateComputer chi-web01 -Role Client
Next, I need to enable the server side.

PowerShell
1
PS C:\> invoke-command {enable-wsmancredssp -Role Server -Force} -ComputerName chi-web01
With this in place, I can now re-establish my remote session specifying CredSSP and my credentials.

PowerShell
1
PS C:\> enter-pssession chi-web01 -Authentication Credssp -Credential globomantics\jeff
Now when I run the authorization command, it works as you can see below in Figure 3.

हाय यहोशू, मैं आपके उत्तर की सराहना करता हूं, लेकिन दुर्भाग्य से यह सवाल का जवाब नहीं देता है। मेरे पास पहले से ही क्रेडिटएसएसपी स्थापित था, मुद्दा पीएसडब्ल्यूए के वेब इंटरफेस में डिफ़ॉल्ट प्रमाणीकरण विकल्प को बदलने का है। मैंने जो कुछ किया वह तकनीकी रूप से काम कर रहा था, यह सिर्फ एक दर्द था कि हर लॉगइन पर मैन्युअल रूप से क्रेडएसएसपी का चयन करना होगा जब इरादा हमेशा क्रेडेंशियल का उपयोग करना था। और PSWA के पास इस चीज़ को नियंत्रित करने के लिए एक सेटिंग है, फिर भी यह काम नहीं करता है।
ब्रितानी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.