Я потерял пароль к RDP в Azure. Но у меня есть файл cscfg и сертификат, которые шифруют пароль. Как я могу получить пароли из файла cscfg?
Пароль декодирования Azure CloudService для пользователя RDP
Ответы (2)
Благодарю вас! Это было серьезным спасением для меня! Вот версия, которую я подправил для простого вызова командной строки (и добавил загрузку System.Security):
$error.clear()
function DecodePassword([string] $encodedPassword)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null;
$encodedMessage = [Convert]::FromBase64String($encodedPassword);
$cms = New-Object System.Security.Cryptography.Pkcs.EnvelopedCms;
$cms.Decode($encodedMessage);
$store = $null;
try
{
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store('My', 'CurrentUser');
$cms.Decrypt($store.Certificates);
}
finally
{
$store.Close();
}
return [Text.Encoding]::UTF8.GetString($cms.ContentInfo.Content);
}
$password = DecodePassword($args[0]);
Write-Host Decoded password: """$password""";
Который можно просто вызвать как:
>powershell -f DecodeRemotePassword.ps1 "PASTE_ENCODED_PASSWORD_HERE"
(Пожалуйста, НЕ голосуйте за, так как это просто корректировка отличного ответа Алексея)
person
user1901702
schedule
28.03.2014
person
schedule
Используйте это в powershell. Также измените строку 4, добавив System в пространство имен. $cms = новый объект System.Security.Cryptography.Pkcs.EnvelopedCms;
- person MichaelLake; 16.02.2014