0

设置 PowerShell Web 访问身份验证时,默认情况下它使用“默认”作为身份验证类型。我设置了 CredSSP,它适用于网络身份验证。但是,我希望 CredSSP 成为默认的身份验证模式,而不是“默认”。我深入研究了 IIS 中 PSWA Web 的配置,我发现有几个可用的值可以覆盖默认值。可以看到 defaultAuthentcationType 设置为 0,这是正确的设置。在网页上我可以看到选择框有以下选项

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

3 is missing在名单上。我的研究证实 3 是我的 PowerShell 5.1.15063.966 上缺少的 NegotiateWithImplicitCredential。因此,当我将 defaultAuthenticationType 设置为数字时,网页默认为一个新选项:7 Admin Specified

当我尝试 3 和 4 时,都没有使用 CredSSP。这只是 Kerberos,即使我将 defaultAuthenticationType 设置为 CredSSP,也没有出现任何 Admin 选项,它又回到了 Default 状态。

任何有类似经验的人都应该分享我可以做些什么来使用 CredSSP

4

1 回答 1

0

根据您的情况,尝试以下几个步骤

在您的本地机器上

PS C:\> Enable-WSManCredSSP -DelegateComputer [ComputerName] -Role Client

接下来,您需要启用服务器端。

PS C:\> invoke-command {enable-wsmancredssp -Role Server -Force} -ComputerName [ComputerName]

有了这个,您现在可以重新建立您的远程会话,指定 CredSSP 和您的凭据。

PS C:\> enter-pssession [ComputerName] -Authentication Credssp -Credential domain\user

运行此授权命令,它将授权您使用 CredSSP

PS C:\> Add-PswaAuthorizationRule -rulename "Rule01" -computername [computerName] -username domain\user -configuration microsoft.powershell

使用 PSC:\> Get-PswaAuthorizationRule验证规则。

于 2020-10-27T12:00:35.393 回答