Mot de passe en clair depuis PSCredential

Ecrit par @mickyballadelli

Des fois, on doit demander un username et un password pour s’authentifier auprès d’un service. Or certains services ne comprennent pas PSCredential (ni les SecureString), et veulent leur MDP cash. Normal. Un exemple est EMC Isilon. Voici comment leur donner.

Dans l’exemple qui suit la variable $password a le mot de passe en clair.

On commence de façon classique à demander des credentials avec Read-Host en mode SecureString

Mais on ne peut pas extraire un mot de passe de SecureString. C’est caché. Donc on crée un objet PSCredential à partir de la SecureString, et on utilise une méthode appelée GetNetWorkCredential qui retourne le sésame en clair.

Partager ce contenu

  • atao

    Il y a une erreur à l’exécution du script chez moi…
    Il faut initialiser la variable $username, sinon l’objet ne se créé pas et renvoie une erreur.
    Quand on fait un $password à la fin, on récupère bien le mot de passe saisie 🙂