# https://superuser.com/questions/1103193/decrypt-rdp-password-stored-in-rdg-file
# 解码 rdp 或是 rdg 远程配置文件中的密码
# 使用 SysinternalsSuite 的 RDCMan 模块中的函数进行解密
$rdcmanPath = Get-Process RDCMan -ErrorAction SilentlyContinue | ForEach-Object path | Select-Object -First 1
if (-not $rdcmanPath) {
throw [System.IO.FileNotFoundException]::new("RDCMan 路径找不到,请手工指定")
}
if (-not $(Get-Module | ? { $_ -match '\bRDCMan\b' } )) {
Import-Module $rdcmanPath
}
# 载入所有密码
$rdgFile = "C:\Users\icoms\Desktop\我的远程.rdg"
[XML]$xmlfile = Get-Content $rdgFile
$passwrods = $xmlfile.RDCMan.file.server.logonCredentials.password
foreach ($password in $passwrods) {
# 密码解码
$EncryptionSettings = New-Object -TypeName RdcMan.EncryptionSettings
[RdcMan.Encryption]::DecryptString($password, $EncryptionSettings)
}
# 如果使用明码密码的话,<password storeAsClearText="True">xxxx</password> 设置密码
样本文件下载