Question Cryptage et changement de mdp d'un compte local
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
Peux tu poster ici la routine en question ?
Un café la prochaine fois qu'on se voit que c'est
[code:1]ConvertTo-SecureString[/code:1]
Ok
[code:1]# ici j'ai saisi : test
PS C:\> $password = Read-Host \"mot de passe\" -AsSecureString
mot de passe: ****
PS C:\> $NetworkCredential = New-Object -typename System.Management.Automation.PSCredential -ArgumentList \"toto\", $Password
PS C:\> ($NetworkCredential.GetNetworkCredential()).password
test
# Ici, j'ai bien décrypté mon 'system.security.securestring'
PS C:\> $password | Get-Member
TypeName : System.Security.SecureString
Name MemberType Definition
----
AppendChar Method void AppendChar(char c)
Clear Method void Clear()
Copy Method securestring Copy()
Dispose Method void Dispose(), void IDisposable.Dispose()
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
InsertAt Method void InsertAt(int index, char c)
IsReadOnly Method bool IsReadOnly()
MakeReadOnly Method void MakeReadOnly()
RemoveAt Method void RemoveAt(int index)
SetAt Method void SetAt(int index, char c)
ToString Method string ToString()
Length Property int Length {get;}
[/code:1]
Quelques informations au sujet des Credentials ici
J'ai le droit à une mousse ?
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 27/02/13 21:32
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
- Messages : 492
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- olivier
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 13
- Remerciements reçus 0
$pwd = Read-Host 'Enter Password' -AsSecureString
$key = 1..32 | ForEach-Object { Get-Random -Maximum 256 }
$pwdencrypted = $pwd | ConvertFrom-SecureString -Key $key
$private:ofs = ' '
('$password = \"{0}\"' -f $pwdencrypted) | Out-File $path
('$key = \"{0}\"' -f \"$key\") | Out-File $path -Append
et pour le changement de mon compte local j'ai trouvé dans mon petit livre l'assembli Marshal :
# Cryptage du mot de passe
$password = \"...le password généré par la routine\"
$passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split(\" \"))
$pass=[system.runtime.interopservices.marshal]::securestringToBSTR($passwordsecure)
$ucpass=[system.runtime.interopservices.marshal]::ptrtostringuni($pass)
# changement du mot de passe sur server1
$objAdminUserTS1 = [ADSI]\"WinNT://$server1/$user,user\"
$objAdminUserTS1.SetPassword($ucpass)
ça à la mérite de fonctionner et d'être un peu plus sécurisé qu'un mot de passe en clair dans le script mais ce n'est pas la panacée.
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
J'applique cette routine pour générer un fichier avec la clé et le mdp choisi (trouvée sur google, je n'aime pas réinventer la poudre)
$pwd = Read-Host 'Enter Password' -AsSecureString
$key = 1..32 | ForEach-Object { Get-Random -Maximum 256 }
$pwdencrypted = $pwd | ConvertFrom-SecureString -Key $key
$private:ofs = ' '
('$password = \"{0}\"' -f $pwdencrypted) | Out-File $path
('$key = \"{0}\"' -f \"$key\") | Out-File $path -Append
et pour le changement de mon compte local j'ai trouvé dans mon petit livre l'assembli Marshal :# Cryptage du mot de passe
$password = \"...le password généré par la routine\"
$passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split(\" \"))
$pass=[system.runtime.interopservices.marshal]::securestringToBSTR($passwordsecure)
$ucpass=[system.runtime.interopservices.marshal]::ptrtostringuni($pass)
# changement du mot de passe sur server1
$objAdminUserTS1 = [ADSI]\"WinNT://$server1/$user,user\"
$objAdminUserTS1.SetPassword($ucpass)
ça à la mérite de fonctionner et d'être un peu plus sécurisé qu'un mot de passe en clair dans le script mais ce n'est pas la panacée.
Merci pour ce retour.
$ucpass contient effectivement le mot de passe décrypté
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- Cryptage et changement de mdp d'un compte local