Powershell 为所有用户提供在Active Directory中编辑自己特定属性的能力

Powershell 为所有用户提供在Active Directory中编辑自己特定属性的能力,powershell,active-directory,Powershell,Active Directory,我一直在从事一个项目,该项目允许我们域中的用户在他们自己的对象上编辑3个Active Directory属性,这是用Python编写的,我现在唯一的问题是用户对这些属性的权限 其中两个是自定义的,第三个是位置(physicalOfficeDeliveryAddress)。 我到处都找过了,只找到了关于如何为组中的用户授予这些属性的权限的文档,但不包括所有用户或受限于组的用户 我希望在标识引用下应用权限:NT AUTHORITY\SELF,以便用户只能编辑自己的属性 简而言之,我希望编写一个脚本,

我一直在从事一个项目,该项目允许我们域中的用户在他们自己的对象上编辑3个Active Directory属性,这是用Python编写的,我现在唯一的问题是用户对这些属性的权限

其中两个是自定义的,第三个是位置(physicalOfficeDeliveryAddress)。 我到处都找过了,只找到了关于如何为组中的用户授予这些属性的权限的文档,但不包括所有用户或受限于组的用户

我希望在标识引用下应用权限:NT AUTHORITY\SELF,以便用户只能编辑自己的属性

简而言之,我希望编写一个脚本,将三个特定属性的权限委托给域中的所有用户,但仅限于他们自己(NT AUTH\SELF)

我有一个将为每个用户执行的循环,我只是在循环中包含的内容中遇到了障碍


任何帮助都将不胜感激。

是Windows之一,SID为
S-1-5-10

因此,您可以使用与任何其他帐户相同的方法来执行此操作,但将权限授予
S-1-5-10


如果您向我们展示您正在使用的代码,如果您需要,我们可能可以帮助您在何处插入该值。

我认为您应该使用对所有用户都具有写访问权限的服务帐户运行脚本。然而,应用程序逻辑应检查用户是否有权请求相应的更改和处理。@robdy这是我对该工具的最初计划,但我们的安全顾问不希望我们使用服务帐户,因为这些都违反了最佳安全实践。我可能不理解SELF如何正常工作。。如果我只是向具有SID s-1-5-10的用户提供写/读访问权限,那么它会向域中的所有用户提供对其自己对象的写/读权限吗?我的印象是,您必须将访问权限委托给SELF user下的每个用户,类似于您将如何为某个用户提供文件夹访问权限(用户是文件夹除外)?文档中说“在访问检查期间,系统将用对象的SID替换SID。”因此
SELF
(即,SID为
S-1-5-10
)被解释为对象本身的SID。您不需要专门将此权限应用于每个对象。您可以在域级别或OU级别添加此
SELF
权限,并使其可继承到所有用户对象。这可能比编写您正在考虑的脚本更容易。好的,似乎可以这样做ter-这与使用ADUC Gui的委托控制不同吗?这是一样的。“委托控制”功能只是一个用于更改对象安全设置的奇特UI。