private775

SP2013: get managed accounts passwords

Jan 8th, 2016
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Bindings(){
  2.     return [System.Reflection.BindingFlags]::CreateInstance -bor
  3.     [System.Reflection.BindingFlags]::GetField -bor
  4.     [System.Reflection.BindingFlags]::Instance -bor
  5.     [System.Reflection.BindingFlags]::NonPublic;
  6. }
  7.  
  8. function GetFieldValue([object]$o, [string]$fieldName){
  9.     $bindings = Bindings;
  10.     return $o.GetType().GetField($fieldName, $bindings).GetValue($o);
  11. }
  12. function ConvertTo-UnsecureString([System.Security.SecureString]$string){  
  13.     $intptr = [System.IntPtr]::Zero;
  14.     $unmanagedString = [System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($string);
  15.     $unsecureString = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($unmanagedString);
  16.     [System.Runtime.InteropServices.Marshal]::ZeroFreeGlobalAllocUnicode($unmanagedString);
  17.     return $unsecureString;
  18. }
  19. Get-SPManagedAccount | % { "$($_.UserName): $(ConvertTo-UnsecureString (GetFieldValue $_ 'm_Password').SecureStringValue)" }
Add Comment
Please, Sign In to add comment