[英]Unlocking Locked Out accounts using PowerShell (not with Quest AD cmdlets)
[英]Unlocking an AD user with Powershell
我是Powershell的新手,正在努力使脚本工作。 我在这里阅读了许多有关“溢出”和其他地方的文章,但看不到我做错了什么。 任何帮助,将不胜感激。
我正在尝试创建一个脚本,该脚本以本地管理员身份登录到计算机时可以远程解锁AD用户。 这是我的脚本:
Import-module Activedirectory
New-PSSession -ComputerName <Remote ComputerName> -Credential
<domain admin credential>
Import-Module Activedirectory
Unlock-ADAccount
Read-host “Press any key”
我尝试从以本地管理员身份登录的计算机上执行此操作,但要传递域管理员凭据。 该脚本在Powershell中以管理员身份运行。 输入域密码并指示要解锁的用户后,收到的消息是:“访问权限不足,无法执行操作”。
如果我在Powershell中逐行交互式地运行此代码,它将解锁该帐户。 如果我运行一个脚本仅询问用户是否被锁定,它将给我一个答案。 如果我从以域管理员身份登录的计算机上运行上述脚本,它将运行并解锁用户。
考虑到我要传递域管理员凭据,我不明白为什么当我以本地管理员身份登录时它不会运行。 任何帮助,将不胜感激。
您正在创建PSSession,但没有使用它。 尝试以下操作(未经测试):
$computer = "test1"
$cred = Get-Credential
$user = Read-Host User to unlock
$sess = New-PSSession -ComputerName $computer -Credential $cred
Invoke-Command -Scriptblock { param($ADuser) Import-Module Activedirectory; Unlock-ADAccount -Identity $ADuser } -ArgumentList $user -Session $sess
Read-host “Press any key”
尽管可以创建PSSession,但是如果您安装了RSAT并可以访问ActiveDirectory模块,则无需这样做。 相反,只需在每个AD cmdlet上使用凭据参数。 例如,要使用备用凭据解锁用户帐户,请使用以下命令:
Unlock-ADAccount -Identity username -Credential (get-credential)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.