Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Steps to recover or to reset Data Encryption Key in Dynamics CRM/365 organization in on-premise
- Use at your own risk!
- Query MSCRM_Config for Getting data Encryption key from previous org, i.e. Test1
- https://szczepan.net/?p=152
- var sb = new StringBuilder();
- var str = "0x37323A303A3130313A303A3130383A303A3130383A303A3131313A303A33323A303A38343A303A3130343A303A3130353A303A3131353A303A33323A303A37333A303A3131353A303A33323A303A3131323A303A39373A303A3131353A303A3131353A303A36343A303A3131393A303A3131313A303A3131343A303A3130303A303A34393A303A33323A303A3130323A303A3131343A303A3131313A303A3130393A303A33323A303A36373A303A38323A303A37373A30";
- for (int i = 2; i < str.Length; i += 2)
- {
- var b1 = byte.Parse(str.Substring(i, 2), NumberStyles.HexNumber);
- var part = ASCIIEncoding.ASCII.GetString(new byte[] { b1 });
- sb.Append(part);
- }
- Console.WriteLine(sb);
- var parts = sb.ToString().Split(':');
- sb.Clear();
- for (int i = 0; i < parts.Length; i += 2)
- {
- var b1 = byte.Parse(parts[i]);
- var b2 = byte.Parse(parts[i + 1]);
- var part = UnicodeEncoding.Unicode.GetString(new byte[] { b1, b2 });
- sb.Append(part);
- }
- Console.WriteLine(sb);
- */
- USE MSCRM_Config
- GO
- SELECT ColumnName, VarBinaryColumn FROM OrganizationProperties
- WHERE Id IN (SELECT Id FROM Organization WHERE UniqueName = 'Test1')
- AND (ColumnName = 'SymmetricKeySource')
- /*
- SELECT Id,UniqueName FROM Organization
- SELECT * FROM Organization
- Id UniqueName
- 5B4DB3A6-DDDD-E211-9C74-00219BA01ADD Test1
- AAF23E2E-AAAA-4A65-A503-CC3F8893BD42 Test2
- */
- -- Clear out Encrypted Data fields so you can start over with new data Encryption keys
- USE Test2_MSCRM
- GO
- UPDATE EmailServerProfile SET IncomingPassword=NULL
- UPDATE EmailServerProfile SET OutgoingPassword=NULL
- UPDATE Mailbox SET Password=NULL
- UPDATE Queue SET EmailPassword=NULL
- UPDATE UserSettings SET EmailPassword=NULL
Add Comment
Please, Sign In to add comment