J'utilise PowerShell 2.0 (nécessaire en raison de SP2010) Sur Windows Server 2008 R2. J'ai besoin de récupérer les informations d'identification d'un processus à partir du gestionnaire d'informations d'identification Windows. Je n'arrive pas à le faire fonctionner.
On m'a donné ce morceau de code:
[Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
(new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $_.RetrievePassword(); $_ }
les deux lignes de code jettent des erreurs
Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime : Unable to find type [Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]: make sure that the Assembly containing this type is loaded.
et
(new-object Windows.Security.Credentials.PasswordVault).RetrieveAll() | % {$_.RetrievePassword(); $_ }
respectivement. J'ai essayé en quelque sorte d'importer la classe PasswordVault. Jusqu'à présent, Google m'a échoué, je n'ai même pas pu savoir dans quel assemblage il réside. Qu'est-ce qui me manque?
En type powershell5:
Install-Module CredentialManager -force
Alors
New-StoredCredential -Target $url -Username $ENV:Username -Pass ....
et ensuite
Get-StoredCredential -Target ....
Vous devrez accéder à l'API Win32 pour interagir avec le gestionnaire d'informations d'identification.
CredMan.ps1 de la galerie de scripts Technet le montre bien.
Pour des schémas d'utilisation plus simples, comme simplement lister les principaux ou ajouter de nouvelles informations d'identification, vous pouvez également utiliser cmdkey
, un utilitaire de ligne de commande Windows intégré pour la gestion des informations d'identification
Pour réutiliser les informations d'identification stockées dans PowerShell, ce type semble avoir trouvé un moyen de construire un PSCredential
à partir d'un identifiant générique à partir du magasin d'informations d'identification, en utilisant une technique similaire à celle de CredMan.ps1: Get -StoredCredential
Selon les documents, la classe PasswordVault n'est pas prise en charge sur Windows Server 2008 R2.
Serveur minimum pris en charge Windows Server 2012
https://msdn.Microsoft.com/library/windows/apps/windows.security.credentials.passwordvault.aspx