将defaultAuthenticationType与PowerShell Web访问结合使用


14

使用PowerShell Web访问,可以选择身份验证类型。默认情况下,它使用的值为Default,最终为Negotiate。我设置了CredSSP,以允许使用CredSSP登录PSWA服务器本身,以便从会话内部进行网络身份验证(避免出现双跳问题,而无需在整个网络上委派凭据)。

无论如何,我希望CredSSP成为登录页面上的默认选项。

在IIS中查看PSWA Web应用程序的配置选项时,可以设置多个值以覆盖默认值。

其中一个称为defaultAuthenticationTypestring但设置为0

这似乎是正确的设置,但我无法使其正常工作。

如果我检查登录网页,则可以看到选择框具有以下值:

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

3 不见了。

JosefZ发现3NegotiateWithImplicitCredential根据该网页,但在Windows PowerShell上5.1.15063.966对我说,名称/值从枚举失踪。

如果设置defaultAuthenticationType为数字,则网页默认为新选项:

7   Admin Specified

我尝试了34,但都没有一个。使用Kerberos登录,不使用CredSSP。

如果我手动选择CredSSP,它将按预期工作。

如果我将defaultAuthentcationType字符串设置为CredSSP,则不会Admin Specified显示任何选项,并且它将Default再次默认设置为,并且仍使用Kerberos身份验证。

有人能成功设置吗?Web结果一直非常缺乏。


您是否还更新了logon.aspx页面以默认选择CredSSP选项?
Persistent13年

@ Persistent13不,我没有碰过该页面。我想那会行得通,我可能会求助于此,但这显然是一个hack。我想要支持和重复的东西。实际上,我实际上是通过DSC几乎完全安装和配置了这一功能,而且我不想编写janky脚本资源来更改中的值logon.aspx。当然,这是一个很好的建议。
briantist '16

对于DSC,我建议编写您自己的资源或使用脚本资源来结合使用Get-Content,-replace和Set-Content来更新logon.aspx,因为它更具可重复性。
Persistent13年

@ Persistent13是的,这是可行的。我只是认为很明显,其目的是支持在config中更改此值,这是行不通的,为此写了很多资源。为了我的目的。
briantist

1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]参见 AuthenticationMechanism枚举
JosefZ,

Answers:


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.

嗨,约书亚,我很感谢您的回答,但是很遗憾,这不能解决问题。我已经设置了CredSSP,问题在于更改PSWA的Web界面中的默认身份验证选项。我所做的一切在技术上都是可行的,当意图始终使用CredSSP时,每次登录时都必须手动选择CredSSP只是一个痛苦。PSWA似乎可以控制此事情,但是它不起作用。
briantist
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.