授予帐户对Active Directory用户对象上的特定属性的写入权限

我试图让一个帐户更新所有用户对象的非常具体的属性。 我在“用户”对象上设置此安全性。 当我在安全选项卡上添加帐户时,进入高级,编辑帐户权限,并开始通过属性列表,我只能find一些,如名字,但我想让他们的大多数属性写入丢失。 我如何授予帐户对这些属性的写权限?

我需要授予以下权限的属性:

  • 名字(givenName)
  • 姓氏(Sn)
  • 缩写(首字母缩写)
  • 部门(部门)
  • 公司(公司)
  • 标题(标题)
  • 经理(经理)
  • 位置信息(physicalDeliveryOfficeName,streetAddress,postOfficeBox)
  • 工作电话(telephoneNumber)
  • 寻呼机(寻呼机)
  • IP电话(ipPhone)
  • IP电话其他(otherIpPhone)
  • ThumbnailLogo(thumbnailLogo)
  • jpegPhoto(jpegPhoto)
  • 说明(displayName)

谢谢

虽然@ sysdmin1138答案是正确的,但值得一提的是,改变范围并不是视图中缺less东西的唯一原因。 有些东西默认是不可见的。

某些对象(如physicalDeliveryOfficeName)从视图中隐藏,因此无法轻松进行委派。 其他许多属性也是隐藏的,但physicalDeliveryOfficeName非常具体,可以作为委派如何工作的很好的例子。

通过Active Directory用户和计算机查看的用户对象的“每个属性权限”选项卡可能不会显示用户对象的每个属性。 这是因为访问控制的用户界面过滤掉了对象和属性types,使列表更容易pipe理。 虽然在架构中定义了对象的属性,但是显示的已过滤属性的列表存储在位于所有域控制器上的%systemroot%\ System32文件夹中的Dssec.dat文件中。 您可以编辑文件中某个对象的条目,以通过用户界面显示过滤的属性。

Dssec.dat文件中,过滤的属性如下所示:

[User] propertyname=7 

要显示对象属性的读取和写入权限,可以编辑filter值以显示一个或两个权限。 要显示属性的读取和写入权限,请将该值更改为零(0):

 [User] propertyname=0 

要仅显示属性的写入权限,请将该值更改为1:

 [User] propertyname=1 

要仅显示属性的读取权限,请将该值更改为2:

 [User] propertyname=2 

编辑Dssec.dat文件后,必须退出并重新启动Active Directory用户和计算机以查看不再过滤的属性。 该文件也是机器特定的,所以在一台机器上更改它不会更新所有其他机器。 无论您是否希望它在任何地方都可见,取决于您。

在这里输入图像说明

有关physicalDeliveryOfficeName的完整故事以及如何使用屏幕截图进行更改,可以在我的博客上阅读。

PS1。 由于physicalDeliveryOfficeName是特殊情况,因此在修改此设置后,请查找“ 读/写办公位置” 。 不幸的是,名称physicalDeliveryOfficeName从来没有出现。

PS2。 除非通过修改dssec.dat来发现这些设置,否则您将无法看到它们。 由于这个文件是每台计算机,所以完全有可能在某些计算机上可见,而在其他计算机上则不可见,具体取决于是否有人提前做出更改。 这可以解释为什么你可以在之前和之后看到它。

PS3。 对不起复活,但花了几个小时试图find原因,所以想我会分享它的未来参考。

我相信得到完整的列表,你必须改变“应用到”“用户”而不是“这个对象和所有的子对象”。 这改变了属性select对话框以包括所有这些。

转到“高级”ACL编辑器。 添加应该授予权限的主体。 在“主体名称”对话框的权限中,转到“属性”标签,在“应用于:”列表中select“用户对象”,然后从列表中select属性和所需的权限。

我仔细检查了大部分你的名单,我发现了我在那里寻找的一切。