解码 rdp 或是 rdg 远程配置文件中的密码
# 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> 设置密码

样本文件下载

上一篇
下一篇