ssms获取密码失败

記的打卡· 2022-04-29 17:02:58

忘记ssms密码,想着提取一下,应为很多程序调用,一个一个改太麻烦。就使用了网上的脚本解密:
然而没什么用:
看结果:
PS C:\Users\Administrator\Desktop> .\n.ps1 -file .\vi.regsrvr

Encrypted Connection String:
data source=XXX.XXX.XXX.XXX;user id=sa;password="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAobq4ip1xQEu/DJfk5mm5MQQAAAACAAAAAAAQZgAAAAEAACAAAAC//+oQwW6uIhLVmtoGpZ4Pz3oCE89ABya1A50GejUvTgAAAAAOgAAAAAIAACAAAADoKYAGIcXpLnO0Ng3t5Oh1Jhr5QBD8ZULbphnnTUFdDRAAAABACwVc+8wGG/jT+vgvBtq8QAAAAIU2MG26jcUTSZMbHsWt0uw2SPJBycco1oQFx5N4cbLiNRQGS0ize7Kyv9kiI0/+PfT5Tr8c2NNz6MBpeQ1ONto=";pooling=False;multipleactiveresultsets=False;connect timeout=30;encrypt=False;trustservercertificate=False;packet size=4096;application name="Microsoft SQL Server Management Studio"

Decrypted Connection String:
data source=XXX.XXX.XXX.XXX;user id=sa;password="";pooling=False;multipleactiveresultsets=False;connect timeout=30;encrypt=False;trustservercertificate=False;packet size=4096;application name="Microsoft SQL Server Management Studio"
为什么password是空值。。。。。。。。。

 脚本(网上查到的):

  1. param(
  2. [Parameter(Mandatory=$true)]
  3. [string] $FileName
  4. )
  5. Add-Type -AssemblyName System.Security
  6. $ErrorActionPreference = 'Stop'
  7. function Unprotect-String([string] $base64String)
  8. {
  9. return
  10. [System.Text.Encoding]::Unicode.GetString([System.Security.Cryptography.ProtectedData]::Unprotect([System.Convert]::FromBase64String($base64String
  11. ), $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser))
  12. }
  13. $document = [xml] (Get-Content $FileName)
  14. $nsm = New-Object 'System.Xml.XmlNamespaceManager' ($document.NameTable)
  15. $nsm.AddNamespace('rs', 'http://schemas.microsoft.com/sqlserver/RegisteredServers/2007/08')
  16. $attr = $document.DocumentElement.GetAttribute('plainText')
  17. if ($attr -ne '' -and $Operation -ieq 'Decrypt')
  18. {
  19. throw "The file does not contain encrypted passwords."
  20. }
  21. $servers = $document.SelectNodes("//rs:RegisteredServer", $nsm)
  22. foreach ($server in $servers)
  23. {
  24. $connString = $server.ConnectionStringWithEncryptedPassword.InnerText
  25. echo ""
  26. echo "Encrypted Connection String:"
  27. echo $connString
  28. echo ""
  29. if ($connString -inotmatch 'password="?([^";]+)"?') {continue}
  30. $password = $Matches[1]
  31. $password = Unprotect-String $password
  32. echo ""
  33. echo "Decrypted Connection String:"
  34. $connString = $connString -ireplace 'password="?([^";]+)"?', "password=`"$password`""
  35. echo $connString
  36. echo ""
  37. }
...全文
204 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-微软技术 发布问题, 以便更快地解决您的疑问

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧