如何使用 PowerShell 2.0 解锁不同域上的 Active Directory 帐户?
How do you unlock an Active Directory account on a different domain using PowerShell 2.0?
我发现 LazyWinAdmin 提供了一个很棒的 PowerShell 脚本,它可以满足我的需求 - 但它仅限于当前域。我们的网络设置方式对某些类型的帐户有不同的域。
我正在尝试编写一个脚本来简单地解锁特定域上的指定用户帐户。我们的系统使用 PowerShell 2.0,这使得这变得非常困难,因为我知道更高版本具有 Active Directory 管理 cmdlet。相信我,我已经要求我们在系统上安装更新版本的 PowerShell,但公司坚决拒绝让步。
我觉得有点愚蠢,因为我过去几乎只使用较新的版本,所以我习惯了各种 cmdlet,而不必手动起草我想做的每一件事。
您需要指定搜索根以从其他域进行搜索。
原始代码在$buttonUnlock_Click:
# Search for this account in the current domain
$Searcher = [ADSISearcher]"(sAMAccountName=$Name)"
$Results = $Searcher.FindOne()
还有$buttonCheck_Click(没有搜索代码,只有评论):
# Search for this account in the current domain
两者都改为:
$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.Filter = "(sAMAccountName=$name)"
$searcher.SearchRoot = New-Object DirectoryServices.DirectoryEntry('LDAP://other.domain', 'user', 'pwd')
$results = $searcher.FindOne()
如果当前用户已经有访问其他域的权限,您可以简单地将[adsi]'LDAP://other.domain'
作为搜索根。
我发现 LazyWinAdmin 提供了一个很棒的 PowerShell 脚本,它可以满足我的需求 - 但它仅限于当前域。我们的网络设置方式对某些类型的帐户有不同的域。
我正在尝试编写一个脚本来简单地解锁特定域上的指定用户帐户。我们的系统使用 PowerShell 2.0,这使得这变得非常困难,因为我知道更高版本具有 Active Directory 管理 cmdlet。相信我,我已经要求我们在系统上安装更新版本的 PowerShell,但公司坚决拒绝让步。
我觉得有点愚蠢,因为我过去几乎只使用较新的版本,所以我习惯了各种 cmdlet,而不必手动起草我想做的每一件事。
您需要指定搜索根以从其他域进行搜索。
原始代码在$buttonUnlock_Click:
# Search for this account in the current domain
$Searcher = [ADSISearcher]"(sAMAccountName=$Name)"
$Results = $Searcher.FindOne()
还有$buttonCheck_Click(没有搜索代码,只有评论):
# Search for this account in the current domain
两者都改为:
$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.Filter = "(sAMAccountName=$name)"
$searcher.SearchRoot = New-Object DirectoryServices.DirectoryEntry('LDAP://other.domain', 'user', 'pwd')
$results = $searcher.FindOne()
如果当前用户已经有访问其他域的权限,您可以简单地将[adsi]'LDAP://other.domain'
作为搜索根。