Achei este post útil, mas ele não resolveu o meu problema, pois estava tentando executá-lo a partir de um script com a conta de administrador local conectada. Parece não funcionar como administrador local (somente quando conectado como um usuário de domínio).
No entanto, finalmente consegui obter uma solução funcional e, como havia muitos problemas, pensei em compartilhá-la aqui para que qualquer outra pessoa com esse problema tenha a resposta aqui. Ambas as respostas em uma página, dependendo de suas necessidades.
Observe que no nível superior (não incluído aqui, pois esta é apenas a seção obter credenciais), o powergui está instalado e é um requisito para este código abaixo (assim como a linha "Add-PSSnapin Quest.ActiveRoles.ADManagement"). Não sei o que o powergui faz, é diferente, mas ninguém mais poderia me dizer e funciona.
Substitua seu próprio nome de domínio nas seções "domain_name".
#Get credentials
$credential_ok = 0
while ($credential_ok -ne 1)
{
$credential = get-credential
$result = connect-qadservice -service *domain_name* -credential $credential
[string]$result_string = $result.domain
if ($result_string -eq "*domain_name*")
{
$credential_ok = 1
#authenticated
}
else
{
#failed
}
}
$username = $credential.username
$password = $credential.GetNetworkCredential().password
$date = get-date
Add-Content "c:\lbin\Install_log.txt" "Successfully authenticated XP script as $username $date"
AccountManagement.PrincipalContext.ValidateCredentials()
não (se você fornecer uma proteção para a senha)?