我正在编写一个脚本,以使用RDP-Protocoll从Windows 10客户端连接到终端服务器。
背后的想法是:在这些ThinClient上,我们大约有20个RDP文件。大约有10个密码需要安全。
因此,如果您始终必须在每个新的ThinClient上保存密码,则需要进行很多工作。
但是我认为我可以使用Powershell脚本解决此问题。我只需要成功打开连接1次并保存凭据,然后再保存凭据。
我将首先显示我的代码:
$Server = "xx.yy.zz.xx"
$User = "DOMAIN\User"
$password = "password"
cmdkey /generic:"$Server" /user:"$User" /pass:"$password"
mstsc /v:"$Server"
到目前为止,该方法有效。
但我总是收到此通知:
这是互联网上的符号图片,因为我的通知是德语的。完全一样,只是更容易理解。
即使我安装了证书,也会不断弹出通知。
如何使用Powershell检查该字段,其中显示不要再询问我与这台计算机的连接?
答案 0 :(得分:0)
好,我找到了解决方案! 勾选“不要再问我...”时,会生成一个注册表项。
现在,我刚刚在我的Powershell脚本中添加了必要的注册表项。
function Test-RegistryValue {
param (
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$Path,
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$Value
)
try{
Get-ItemProperty -Path $Path | Select-Object -ExpandProperty $Value -ErrorAction Stop | Out-Null
return $true
}
catch{
return $false
}
}
#Certificate warning turn off
$exists = Test-RegistryValue -Path 'HKCU:\Software\Microsoft\Terminal Server Client' -Value 'AuthenticationLevelOverride'
if($exists -eq $False){
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v "AuthenticationLevelOverride" /t "REG_DWORD" /d 0 /f
}
就像这样,它可以在没有此证书通知的情况下起作用!