使用 PowerShell 脚本通过用户凭据重置 AD 过期密码

使用 PowerShell 脚本通过用户凭据重置 AD 过期密码

那里!

我是 Powershell 新手,需要一些有关此脚本的帮助。

我刚刚开始帮助我们的系统管理员在 Windows Server 2008 R2 AD 域环境中完成一些任务。我正在尝试编写一个简单的 PowerShell 脚本,允许用户重置自己的过期密码,但它不起作用。这是脚本:

$usuario = Read-Host "Introduzca el nombre de usuario";
$antigua = Read-Host "Introduzca la contraseña antigua" -AsSecureString;
$nueva = Read-Host "Introduzca la nueva contraseña" -AsSecureString;
Set-ADAccountPassword $usuario -Credential $usuario -OldPassword $antigua -NewPassword $nueva -Reset -Server <<ADServerName>>;

执行后得到以下结果:

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo:PermissionDenied:({user}:ADAccount)[Set-ADAccountPassword],UnauthorizedAccessException
    • FullyQualifiedErrorId:ActiveDirectoryCmdlet:System.UnauthorizedAccessException,Microsoft.ActiveDirectory.Management.Commands.SetADAccountPassword

尝试重置自己的密码的用户没有任何管理员权限。

我不知道这有什么问题,但我确信我绕过了一些 PowerShell 和/或 AD 基础知识。

先谢谢您的帮助。

恩里克

答案1

脚本现在可以运行,只需进行两处小修改:

  • 在第一个变量 $usuario 前添加“-Identity”
  • 在用户属性的“安全”部分中设置“SELF”对象的权限“重置密码”。

相关内容