none
Powershell confirmar senha criptografada RRS feed

  • Pergunta

  • Prezados,

    estou criando um script onde uma pessoa não técnica irá preencher os dados que se pedem no script, que vai criar um usuário e sua senha no AD. Esta senha é padrão, mas no primeiro logon o usuário é forçado a trocá-la.

    Não gostaria de deixar a senha no script, mesmo sendo uma senha padrão que ao acessar na primeira vez deverá ser trocá-la.

    Parte do script está abaixo:

    $secpass = Read-Host "Password" -AsSecureString
    $sepass2 = Read-Host "Confirme a senha" -AsSecureString
    
    if ($secpass -eq $secpass2)  #Já usei "-ceq" e "-ccontains", mas não funcionaram tb.
    {
      New-ADUser -Name $name -SamAccountName $SamAccountName -UserPrincipalName $SamAccountName+$DNSRoot -ChangePasswordAtLogon $true -PasswordNeverExpires $false -AccountPassword $secpass -Path $Path -Enabled:$true
      Write-host 'Usuário e senha criados com sucesso.' -F green
      }
    else
    {
      Write-host 'Erro'

    Está indo sempre para 'Erro', pois acho que por ser Secure, não dá para comparar.

    Alguém poderia me ajudar? Se não houver jeito de confirmar a senha seguro, qual a melhor maneira de fazer?

    Obrigado!

    quarta-feira, 18 de novembro de 2020 16:26

Respostas

  • Prezados,

    encontrei a solução!

    do {
    Write-Host "Digite a senha com atenção, pois se errar terá que digitá-la novamente."
    $secpass = Read-Host "Digite a senha" -AsSecureString
    $secpass2 = Read-Host "Confirme a senha" -AsSecureString
    $secpass_text = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($secpass))
    $secpass2_text = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($secpass2))
    }
    while ($secpass_text -cne $secpass2_text)
    Write-Host "Senhas coincidem." -F green

    Já testei em meu código e funcionou.

    Artigo o oficial:

    https://stackoverflow.com/questions/38901752/verify-passwords-match-in-windows-powershell

    Obrigado!

    Podem fechar o assunto.

    • Marcado como Resposta Mrtnspaul sexta-feira, 20 de novembro de 2020 16:28
    quarta-feira, 18 de novembro de 2020 20:47