Question Vérifier saisie password d'un compte AD
- Régis LOUIS
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 13 ans 9 mois #7112
par Régis LOUIS
Vérifier saisie password d'un compte AD a été créé par Régis LOUIS
Bonjour,
Lors de l'utilisation de la cmdlet Get-credential, comment est-il possible de vérifier que le mot de passe saisi correspond bien à celui du compte ?
Si je saisis un mot de passe différent, le script continue.
Voici le bout de code :
$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME -ErrorAction SilentlyContinue
Autre souci
Si je clique sur le bouton annuler de la boite de dialogue, le paramètre -ErrorAction SilentlyContinue ne fonctionne pas. Get-credential n'accepte pas une valeur nulle.
Si vous avez une solution pour ces 2 problèmes je suis preneur.
Merci
Régis
Lors de l'utilisation de la cmdlet Get-credential, comment est-il possible de vérifier que le mot de passe saisi correspond bien à celui du compte ?
Si je saisis un mot de passe différent, le script continue.
Voici le bout de code :
$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME -ErrorAction SilentlyContinue
Autre souci
Si je clique sur le bouton annuler de la boite de dialogue, le paramètre -ErrorAction SilentlyContinue ne fonctionne pas. Get-credential n'accepte pas une valeur nulle.
Si vous avez une solution pour ces 2 problèmes je suis preneur.
Merci
Régis
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 13 ans 9 mois #7113
par Arthur
Réponse de Arthur sur le sujet Re:Vérifier saisie password d'un compte AD
La commande Get-credential ne vérifie pas la validité du mot de passe, enfin il me semble.
Le seul moyen à la limite serait de lancer une session WinRM par exemple et de vérifier si cela marche.
[code:1]
$cred = Get-Credential domaine\login
Enter-PSSession -ComputerName NomOrdi -Credential $cred 2>$null ; if(!$?) {write-host \"Mot de passe invalide\" }
else { write-host \"Mot de passe Valide\" ; exit-PSSession } }
[/code:1]
Message édité par: bilbao, à: 10/06/10 11:50<br><br>Message édité par: bilbao, à: 10/06/10 11:50
Le seul moyen à la limite serait de lancer une session WinRM par exemple et de vérifier si cela marche.
[code:1]
$cred = Get-Credential domaine\login
Enter-PSSession -ComputerName NomOrdi -Credential $cred 2>$null ; if(!$?) {write-host \"Mot de passe invalide\" }
else { write-host \"Mot de passe Valide\" ; exit-PSSession } }
[/code:1]
Message édité par: bilbao, à: 10/06/10 11:50<br><br>Message édité par: bilbao, à: 10/06/10 11:50
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 13 ans 9 mois #7116
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Vérifier saisie password d'un compte AD
bilbao écrit:
rnglouis écrit:
C'est plutot cette approche que tu recherches, il me semble.
rnglouis écrit:
Oui, il manque peut être un cmdlet Test-Credential ?La commande Get-credential ne vérifie pas la validité du mot de passe, enfin il me semble.
rnglouis écrit:
Il n'y existe pas nativement d'association entre un script et un compte. Les cmdlets utilisent des credentials car en interne il appelent soit des API qui en nécessitent soit ils s'authentifient via une API dédié avant d'effectuer le traitement.Si je saisis un mot de passe différent, le script continue.
C'est plutot cette approche que tu recherches, il me semble.
rnglouis écrit:
Il faut trapper l'exception, ou en v2 utiliser un bloc try/catchSi je clique sur le bouton annuler de la boite de dialogue, le paramètre -ErrorAction SilentlyContinue ne fonctionne pas.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Régis LOUIS
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 13 ans 9 mois #7127
par Régis LOUIS
Réponse de Régis LOUIS sur le sujet Re:Vérifier saisie password d'un compte AD
Je ne m'attendais pas à une réponse si rapide.
Merci pour votre aide.
Le try catch marche à merveille.
Par contre le bout de code pour tester le mot de passe ne fonctionne pas. Si je saisie le bon mot de passe, il me répond toujours que le mot de passe est invalide.
Je précise que je travaille sur des OS Server Windows 2003 SP2, certaines fonctionnalités crédentials de Powershell 2.0 ne sont malheureusement pas utilisables.<br><br>Message édité par: rnglouis, à: 11/06/10 09:20
Merci pour votre aide.
Le try catch marche à merveille.
Par contre le bout de code pour tester le mot de passe ne fonctionne pas. Si je saisie le bon mot de passe, il me répond toujours que le mot de passe est invalide.
Je précise que je travaille sur des OS Server Windows 2003 SP2, certaines fonctionnalités crédentials de Powershell 2.0 ne sont malheureusement pas utilisables.<br><br>Message édité par: rnglouis, à: 11/06/10 09:20
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 226
- Remerciements reçus 0
il y a 13 ans 9 mois #7128
par Arthur
Réponse de Arthur sur le sujet Re:Vérifier saisie password d'un compte AD
Bizarre, sur mon Windows XP en domaine ca marche nickel.
Mais il faut aussi savoir que mon code est incomplet car la création d'une session peut échouer pour plusieurs raisons par exemple si l'ordinateur distant n'a pas WinRM d'activé.
De plus le code n'est pas très \"optimisé\", il vaudrait mieux faire mon test avec une commande n'utilisant pas WinRM.<br><br>Message édité par: bilbao, à: 11/06/10 09:55
Mais il faut aussi savoir que mon code est incomplet car la création d'une session peut échouer pour plusieurs raisons par exemple si l'ordinateur distant n'a pas WinRM d'activé.
De plus le code n'est pas très \"optimisé\", il vaudrait mieux faire mon test avec une commande n'utilisant pas WinRM.<br><br>Message édité par: bilbao, à: 11/06/10 09:55
Connexion ou Créer un compte pour participer à la conversation.
- Régis LOUIS
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 13 ans 9 mois #7129
par Régis LOUIS
Réponse de Régis LOUIS sur le sujet Re:Vérifier saisie password d'un compte AD
Pour le test du mot de passe, je fais un net use sur le canal ipc$ du serveur sur lequel je l'exécute
Voici le code testant le mot passe et avec le try catch quand l'utilisateur appuie sur le bouton annuler de la boite de dialogue.
[code:1]try
{
while (!$testpwd)
{
$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME
$user = $cred.GetNetworkCredential().UserName
$pwd = $cred.GetNetworkCredential().Password
net use \\$env:COMPUTERNAME\ipc$ /u:$user $PWD 2>$null
if(!$?)
{
write-host \"Mot de passe invalide\"
$testpwd = $false
}
else
{
write-host \"Mot de passe Valide\"
net use \\$env:COMPUTERNAME\ipc$ /d | Out-Null
$testpwd = $true
}
}
}
catch
{
Write-Host \"Action annulée par l'utilisateur. Sortie de script\"
}[/code:1]
Voici le code testant le mot passe et avec le try catch quand l'utilisateur appuie sur le bouton annuler de la boite de dialogue.
[code:1]try
{
while (!$testpwd)
{
$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME
$user = $cred.GetNetworkCredential().UserName
$pwd = $cred.GetNetworkCredential().Password
net use \\$env:COMPUTERNAME\ipc$ /u:$user $PWD 2>$null
if(!$?)
{
write-host \"Mot de passe invalide\"
$testpwd = $false
}
else
{
write-host \"Mot de passe Valide\"
net use \\$env:COMPUTERNAME\ipc$ /d | Out-Null
$testpwd = $true
}
}
}
catch
{
Write-Host \"Action annulée par l'utilisateur. Sortie de script\"
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.075 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Vérifier saisie password d'un compte AD