删除委托计算机以与CredSSP一起使用

时间:2017-08-31 11:07:08

标签: powershell powershell-remoting

我在桌面上启用了CREDSSP客户端,允许对多个服务器进行双跃点远程连接。其中一些服务器现在已经被淘汰,所以我的问题是如何在不禁用和重新启用CREDSSP的情况下删除这些特定代表,这是我迄今为止所做的事情?

例如,我可以添加一个额外的代表:

Enable-WSManCredSSP -Role Client -DelegateComputer "mynewserver.mydomain.local"

所以我希望能够做到这样的事情:

Remove-WSMANCredSSPDelegate -DelegateComputer "mynewserver.mydomain.local"

但我能做的就是

Disable-WSManCredSSP -Role Client

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

委派计算机的设置保存在HKLM下的注册表中:\ SOFTWARE \ Policies \ Microsoft \ Windows \ CredentialsDelegation \ AllowFreshCredentials

我尝试直接修改这些值,但发现它们可以删除它没有生效。幸运的是,使用注册表值可以将现有值与您希望保留的值进行比较,删除和禁用/重新启用。

以下是一个示例,如果需要,应该很容易转换为cmdlet:

$remove = 'COMPUTER-TO-REMOVE'

$item = Get-Item 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentials'

$keep = $item | Select-Object -ExpandProperty 'Property' `
    | ForEach-Object { $item.GetValue($_).TrimStart('wsman/') } `
    | Where-Object { $_ -ne $remove }

Disable-WSManCredSSP -Role Client
if ($keep) {
    Enable-WSManCredSSP -Role Client -DelegateComputer $keep -Force 1>$null
}

答案 1 :(得分:-2)

Disable-WSManCredSSP -Role Server

Disable-WSManCredSSP -Role Client

=全部清洁