Thursday, September 11, 2014

Powershell to view Secure Store Credentials

If you've forgotten your secure store credentials, just use this powershell script to retrieve them. Thanks to Ajeet's blog

$serviceCntx = Get-SPServiceContext -Site http://<SharePoint host>

$sssProvider = New-Object Microsoft.Office.SecureStoreService.Server.SecureStoreProvider

$sssProvider.Context = $serviceCntx

$marshal = [System.Runtime.InteropServices.Marshal]


try

 {
      $applicationlications = $sssProvider.GetTargetApplications()
      foreach ($application in $applicationlications)
      {
           Write-Output "`n$($application.Name)"
           Write-Output "$('-'*100)"
           try
           {
                $sssCreds = $sssProvider.GetCredentials($application.Name)
                foreach ($sssCred in $sssCreds)
                {
                     $ptr = $marshal::SecureStringToBSTR($sssCred.Credential)
                     $str = $marshal::PtrToStringBSTR($ptr)
                    Write-Output "$($sssCred.CredentialType): $($str)"
                }
           }
           catch
           {
                Write-Output "(Something went wrong) - Error getting credentials!"
           }
           Write-Output "$('-'*100)"
      }
 }
 catch
 {
      Write-Output "(Something went wrong) - Error getting Target Applications."
 }

$marshal::ZeroFreeBSTR($ptr)

No comments:

Post a Comment