Question
Crypter une chaîne dans un script
- Johan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 14 ans 10 mois #4642
par Johan
Crypter une chaîne dans un script a été créé par Johan
Bonjour,
j'ai cherché un peu sur le net et j'ai trouvé pas mal de solutions de cryptage mais pas celle que je cherche (à moins d'avoir mal regarder)
En gros j'ai des scripts utilisés par des utilisateurs lambda dans lesquels se trouvent le mot de passe administrateur.
Comment puis-je faire pour quand un utilisateur lambda édite le script, il ne puisse pas voir les mots de passe en clair ?
Merci
j'ai cherché un peu sur le net et j'ai trouvé pas mal de solutions de cryptage mais pas celle que je cherche (à moins d'avoir mal regarder)
En gros j'ai des scripts utilisés par des utilisateurs lambda dans lesquels se trouvent le mot de passe administrateur.
Comment puis-je faire pour quand un utilisateur lambda édite le script, il ne puisse pas voir les mots de passe en clair ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- PASCAULT
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 14 ans 10 mois #4646
par PASCAULT
Réponse de PASCAULT sur le sujet Re:Crypter une chaîne dans un script
Reboujour,
Avec les cmdlets ConvertTo-SecureString et ConvertFrom-SecureString , tu devrais pouvoir faire quelquechose, non ?
Tu fais dans un premier tps un
[code:1]$pwd = read-host -assecurestring
$pwdcrypt = convertfrom-securestring $pwd
$pwdcrypt[/code:1]
La variable $pwdcrypt est alors de type string, ton mdp n'est pas trop lisible alors je pense !
Tu utilises ensuite la chaine obtenu comme variable dans ton script dédié user (ou dans un fichier, si jamais le mdp change, tu n'as pas besoin de passer sur tout les scripts mais seulement remplacer le fichier.
$pwdcrypt=\"5d1118c7a0.........0c04fc297eb\"
puis
$pwd=ConvertTo-SecureString $pwdcrypt
Avec les cmdlets ConvertTo-SecureString et ConvertFrom-SecureString , tu devrais pouvoir faire quelquechose, non ?
Tu fais dans un premier tps un
[code:1]$pwd = read-host -assecurestring
$pwdcrypt = convertfrom-securestring $pwd
$pwdcrypt[/code:1]
La variable $pwdcrypt est alors de type string, ton mdp n'est pas trop lisible alors je pense !
Tu utilises ensuite la chaine obtenu comme variable dans ton script dédié user (ou dans un fichier, si jamais le mdp change, tu n'as pas besoin de passer sur tout les scripts mais seulement remplacer le fichier.
$pwdcrypt=\"5d1118c7a0.........0c04fc297eb\"
puis
$pwd=ConvertTo-SecureString $pwdcrypt
Connexion ou Créer un compte pour participer à la conversation.
- Johan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 14 ans 10 mois #4648
par Johan
Réponse de Johan sur le sujet Re:Crypter une chaîne dans un script
Oui mais dans ce cas la c'est l'utilisateur qui renseigne le mot de passe c'est ça ?
Moi il est en dur dans le script
Moi il est en dur dans le script
Connexion ou Créer un compte pour participer à la conversation.
- PASCAULT
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 14 ans 10 mois #4650
par PASCAULT
Réponse de PASCAULT sur le sujet Re:Crypter une chaîne dans un script
Non, pas obligatoirement.
C'est pour cela que tu fais cela en 2 étapes.
Tu as un mdp que tu veux crypter, tu fais donc convertfrom-securestring et cela te donne une chaine de caractère de type \"5d1118c7a0.........0c04fc297eb\" correspondant à ton mdp crypté toto par ex.
Mais ce convertfrom-securestring, tu ne le mets pas dans le script utilisateur. tu le fais avant, et tu le rediriges dans un fichier par ex.
[code:1]convertfrom-securestring (read-host -assecurestring)>.\cryptmdp.txt[/code:1]
tu saisies toto par ex et ton fichier cryptmdp.txt contient alors
Ensuite, dans le script utilisateur, tu utilises la chaine cryptée pour la convertir dans l'autre sens, en objet securestring.
[code:1]$pwd=ConvertTo-SecureString (gc cryptmdp.txt)[/code:1]
Attention, bien sûr, ton mdp n'apparait pas en clair, c'est un type objet SecureString; tu ne peux pas utiliser $mdp direct pour une cmd externe par ex.
C'est pour cela que tu fais cela en 2 étapes.
Tu as un mdp que tu veux crypter, tu fais donc convertfrom-securestring et cela te donne une chaine de caractère de type \"5d1118c7a0.........0c04fc297eb\" correspondant à ton mdp crypté toto par ex.
Mais ce convertfrom-securestring, tu ne le mets pas dans le script utilisateur. tu le fais avant, et tu le rediriges dans un fichier par ex.
[code:1]convertfrom-securestring (read-host -assecurestring)>.\cryptmdp.txt[/code:1]
tu saisies toto par ex et ton fichier cryptmdp.txt contient alors
Tu vas pas me dire que tu reconnais toto la dedans.01000000d08c9ddf0115d1118c7a00c04fc297eb01000000c892678951743c4aa1564134d78ff02a0000000002000000000003660000a8000000100
000002fdbcd3ef3e90813ae9bbba6a822fb9b0000000004800000a00000001000000006e6eab6041b9bef113d046473f65b8c100000004acebd606c
9a7276a52889d80f5ea574140000005e0ac4b47a041623f3e237a6f3bd4fd07217cf92
Ensuite, dans le script utilisateur, tu utilises la chaine cryptée pour la convertir dans l'autre sens, en objet securestring.
[code:1]$pwd=ConvertTo-SecureString (gc cryptmdp.txt)[/code:1]
Attention, bien sûr, ton mdp n'apparait pas en clair, c'est un type objet SecureString; tu ne peux pas utiliser $mdp direct pour une cmd externe par ex.
Connexion ou Créer un compte pour participer à la conversation.
- Johan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 14 ans 10 mois #4651
par Johan
Réponse de Johan sur le sujet Re:Crypter une chaîne dans un script
D'accord très bien, c'est ce qui correspond à mes attentes en fait =D
Merci
Merci
Connexion ou Créer un compte pour participer à la conversation.
- erin
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 43
- Remerciements reçus 0
il y a 10 ans 5 mois #16105
par erin
Réponse de erin sur le sujet Re:Crypter une chaîne dans un script
Bonjour a tous je fais remonter ce sujet pour avoir la suite de ce probleme
je n'arrive pas a utiliser mon mot de passe crypter sur differents postes il ne marche que sur le poste qui l'a crypter.
exemple
write-host \"Entrer votre mot de passe a crypter :\"
convertfrom-securestring (read-host -assecurestring)>.\cryptmdp.txt
write-host \"Votre mot de passe de trouve dans le fichier cryptmdp.txt\"
J'obtiens le pass crypter 5465465465125
ensuite je le recupere dans un sript et je remet clair
$pwd=ConvertTo-SecureString (\"5465465465125
\")
$BSTR = [System.Runtime.InteropServices.marshal]::SecureStringToBSTR($pwd1)
$Str = [System.Runtime.InteropServices.marshal]::PtrToStringAuto($BSTR)
ca marche
mais si je le reporte sur un autre poste niet
En vous remerciant
c'est pour cacher le mot de passe d'un net use
je n'arrive pas a utiliser mon mot de passe crypter sur differents postes il ne marche que sur le poste qui l'a crypter.
exemple
write-host \"Entrer votre mot de passe a crypter :\"
convertfrom-securestring (read-host -assecurestring)>.\cryptmdp.txt
write-host \"Votre mot de passe de trouve dans le fichier cryptmdp.txt\"
J'obtiens le pass crypter 5465465465125
ensuite je le recupere dans un sript et je remet clair
$pwd=ConvertTo-SecureString (\"5465465465125
\")
$BSTR = [System.Runtime.InteropServices.marshal]::SecureStringToBSTR($pwd1)
$Str = [System.Runtime.InteropServices.marshal]::PtrToStringAuto($BSTR)
ca marche
mais si je le reporte sur un autre poste niet
En vous remerciant
c'est pour cacher le mot de passe d'un net use
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.076 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Crypter une chaîne dans un script