繁体   English   中英

使用Powershell解锁AD用户

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM