服务器A是Server 2008 R2中,PowerShell的V3所有的SSL和TLS启用,所有密码。 服务器B是服务器2016年,Powershell的V5和只有TLS 1.2和组特定的加密算法的。
我不能让CredSSP身份验证,从工作到B,即使我用
Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
我所知,这是每一个会话设置,所以我包含在脚本本身。
如果我设置服务器B(服务器2016)开启所有SSL和TLS加密的CredSSP工作没有问题。
是的,我需要的,因为在服务器B上的脚本引用的文件共享回到服务器A.使用的CredSSP
下面是我使用的脚本,一遍,当TLS的所有版本都启用工作。
$pass = ConvertTo-SecureString "password" -asplaintext -force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist "domain\user.service",$pass
#
#
# The Remote Execution Command. Fully Qualified Domain name is critical since we are using Credssp.
# Credssp is being used to resolve an issue with a double hop authentication issue.
Invoke-Command -ComputerName ServerB.domain.edu -command { C:\HelloWorld.ps1 } -Authentication Credssp -Credential $mycred
有一件事我还没有尝试过,但我打算,放在两个服务器A和B上的TLS 1.2,看看它是否工作的方式。 这不是一个长期的解决方案,因为服务器A不能在这个时候被设置为只TLS 1.2。