简体   繁体   English

用于将特定AD OU的用户添加到另一个AD组的脚本

[英]Script to add users of particular AD OU to another AD group

Running Powershell as an admin 以管理员身份运行Powershell

I would like to have a script that I can run daily to add users from "cn=users,dc=costco,dc=com" to an AD group "groupname" "CN=groupname,OU=Groups,DC=costco,DC=com" 我希望有一个脚本,我可以每天运行,将用户从“cn = users,dc = costco,dc = com”添加到AD组“groupname”“CN = groupname,OU = Groups,DC = costco,DC = COM”

$When = (Get-Date).AddDays(-1).Date
Get-ADUser -SearchBase 'cn=users,dc=costco,dc=com' -Filter { whenCreated -ge $When } | add-adgroupmember -MemberOf 'groupname'

it errors out with 它出错了

Add-ADGroupMember : A parameter cannot be found that matches parameter name 'MemberOf'. Add-ADGroupMember:找不到与参数名称'MemberOf'匹配的参数。 At line:2 char:111 + ... ilter { whenCreated -ge $When } | 在行:2 char:111 + ... ilter {whenCreated -ge $ When} | add-adgroupmember -MemberOf 'groupname ... + ~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Add-ADGroupMember], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember add-adgroupmember -MemberOf'groupname ... + ~~~~~~~~~ + CategoryInfo:InvalidArgument :( :) [Add-ADGroupMember],ParameterBindingException + FullyQualifiedErrorId:NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember

I have also tried with the help of a redditor 我也在redditor的帮助下尝试过

When = (Get-Date).AddDays(-1).Date
Get-ADUser -SearchBase 'CN=users,dc=costo,dc=com' -Filter { whenCreated -ge $When } | ForEach-Object { Add-ADGroupMember -Identity 'Groupname' -Members $_ }

Error: 错误:

Add-ADGroupMember : Insufficient access rights to perform the operation At line:2 char:109 + ... ach-Object {Add-ADGroupMember -Identity 'groupname' -Members $_ } ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (groupname:ADGroup) [Add-ADGroupMember], ADException + FullyQualifiedErrorId : ActiveDirectoryServer:8344,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember Add-ADGroupMember:访问权限不足以执行操作在行:2 char:109 + ... ach-Object {Add-ADGroupMember -Identity'groupname'-Member $ _} ... + ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo :NotSpecified :( groupname:ADGroup)[Add-ADGroupMember],ADException + FullyQualifiedErrorId:ActiveDirectoryServer:8344,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember

To make your first example work, you need to supply the pipeline value to the command, instead of trying to pass it in on the actual pipeline. 要使第一个示例正常工作,您需要为命令提供管道值,而不是尝试将其传递给实际管道。

Try: 尝试:

$group = "NewUsers"    
Get-ADUser -SearchBase 'cn=users,dc=costco,dc=com' -Filter { whenCreated -ge $When } | %{ Add-ADGroupMember -Identity $Group -Members $_.samaccountname }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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