0

呼呼,

是否可以禁用对 AD 中其他用户的搜索?在这张图片中,我以“普通”用户身份登录。

Get-ADuser 搜索

这是我们的广告结构的图片。

广告结构

所以我不希望用户可以通过 powershell (get-aduser) 在用户 OU 中找到另一个用户

那可能吗?

我希望你有足够的信息来理解我的问题。

问候

4

2 回答 2

1

这在 Windows 中并不是真正的事情。AD 中的默认设置是所有用户都已阅读。其次,AD 中的任何人都可能有一个电子邮件别名,因此通过电子邮件别名/SMTP 地址搜索他们是否使用 PowerShell,并且应该用于电子邮件查找,因此,恕我直言,这是一个徒劳的用例。

在 AD 中查找用户不需要 Get-ADUser。自从 AD 出现以来,就已经能够做到这一点,而且远早于 PowerShell 使用旧脚本方法和 .bat/.cmd/.vbs/WMI/ADSI 或 .Net 直接使用旧脚本方法,这就是在 PowerShell 之前完成的方式曾经是一件事。

如果您没有什么用户使用特定的 cmdlet/cmdlet,那么您需要通过“PowerShell just enough management (JEA)”来实施限制

同样,对于在其环境中禁用(或尝试)PowerShell 的人来说,不需要使用 PowerShell 来扫描并从 AD 获取信息,这是一个有据可查和使用过的东西。

示例: 如何获取 OU 及其子 OU 中所有用户的列表?

VB脚本:

On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject(“ADODB.Connection”)
Set objCommand =   CreateObject(“ADODB.Command”)

objConnection.Provider = “ADsDSOObject”
objConnection.Open “Active Directory Provider”

Set objCommand.ActiveConnection = objConnection

objCommand.Properties(“Page Size”) = 1000
objCommand.Properties(“Searchscope”) = ADS_SCOPE_SUBTREE

objCommand.CommandText = _
    “SELECT Name FROM ‘LDAP://ou=finance,dc=fabrikam,dc=com’ WHERE objectCategory=’user'”
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields(“Name”).Value
    objRecordSet.MoveNext
Loop

或者

添加 PowerShell(CMDLET、ADSI 和 .Net)以加快您的任务

ADSI:

<#
PowerShell ADSI(Active Directory Services Interface) commands
1. How to find the users property.
#>

$users1 = [ADSI]"LDAP://cn=copy,cn=users,dc=contoso,dc=com"
$users1 | select *

# 2. How to find the Group members for a Group.
$test = [ADSI]"LDAP://CN=test,CN=Users,DC=contoso,DC=com"
$test.Member | 
ForEach-Object {[ADSI]"LDAP://$_"} | 
select samccountname, samaccounttype

# 3. Listing an OU Contents
$ou=[ADSI]"LDAP://ou=tech,dc=contoso,dc=com"
$ou.PSBase.Children
$ou.PSBase.Children | Format-Table sAMAccountName
于 2020-04-17T06:37:09.483 回答
0

所以这对我有用:我只是通过取消选中“用户”OU的“经过身份验证的用户”中的“列表内容”来让它工作,到目前为止我没有发现任何副作用。

认证用户的权利

并且“普通”用户不能再通过查询看到其他用户。使用 powershell 测试:AD-GetUser 和 CMD "net user"

查询结果

所以如果以后没有任何副作用,我的问题就解决了。

我会让你知道。

干杯

于 2020-04-17T11:27:29.743 回答