gpt4 book ai didi

powershell - 将用户/计算机的OU添加到安全组

转载 作者:行者123 更新时间:2023-12-03 00:59:38 26 4
gpt4 key购买 nike

我正在尝试做两件事。

  • 将OU中的所有用户添加到安全组
  • 将OU中的所有计算机添加到安全组


  • 我可以成功获取需要使用的用户或计算机的列表:
    get-aduser -filter * -SearchBase "ou=Users,ou=xx,ou=xx,dc=xx,dc=local" | FT SamAccountName


    Get-ADComputer -LDAPFilter "(name=compu*)" -searchbase "ou=xx,ou=xx,dc=xx,dc=local" | FT Name

    这些产生我需要的确切详细信息,分别是用户名和主机名。

    我可以使用以下方式将群组添加到我的用户名中:
    Add-ADGroupMember -Identity "%GROUPNAME%" -Members MyUsername

    由于出现错误,我无法将组添加到计算机:

    Add-ADGroupMember : Cannot find an object with identity: 'COMPUTERNAME' under: 'DC=XX,DC=LOCAL'. At line:1 char:1



    我什至尝试使用以下方法变得聪明:
    $Comps=Get-ADComputer -LDAPFilter "(name=compu*)" -searchbase "ou=XX,ou=XX,dc=XX,dc=local" | FT Name

    Add-ADGroupMember -identity $Comps -MemberOf '%GROUPNAME%'

    但这只是失败。

    与用户尝试过类似:
    $Userlist=get-aduser -filter * -SearchBase "ou=XX,ou=XX,ou=XX,ou=XX,dc=XX,dc=local" | FT SamAccountName

    $Results = $Userlist | ForEach-Object {
    Add-ADGroupMember -identity %GROUPNAME% -members $_
    }

    错误:

    Add-ADGroupMember : Cannot bind parameter 'Members'. Cannot convert the "Microsoft.PowerShell.Commands.Internal.Format.FormatStartData" value of type "Microsoft.PowerShell.Commands.Internal.Format.FormatStartData" to type "Microsoft.ActiveDirectory.Management.ADPrincipal".
    At line:4 char:105

    • ... %GROUPNAME% -members $_
    • ~~
    • CategoryInfo : InvalidArgument: (:) [Add-ADGroupMember], ParameterBindingException
    • FullyQualifiedErrorId :
      CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember


    当我复制并粘贴了许多示例并尝试进行清理时,OU语句的位置是正确的。

    目前,我不知道应该使用 add-adgroupmember还是 add-adprinciplegroupmembership,并且我发现自己在某处犯了一个基本错误。

    我很高兴可以将主机名或用户名输出到txt并从中导入,但这似乎是不必要的步骤。

    请帮忙!

    最佳答案

    我会使用 Add-ADPrincipalGroupMember ,因为它接受要添加到组中的对象

    Get-ADUser -Filter -SearchBase "ou=Users,ou=xx,ou=xx,dc=xx,dc=local" | 
    Add-ADPrincipalGroupMembership -MemberOf Group_Name

    或添加计算机:
    Get-ADComputer -LDAPFilter "(name=compu*)" -searchbase "ou=xx,ou=xx,dc=xx,dc=local" | 
    Add-ADPrincipalGroupMembership -MemberOf Group_Name

    另外,在处理结果之前不要格式化结果。充其量讲,它会产生更多的工作,而最坏的情况下,它会破坏工作。让我们知道您的状况:) 注意:我还没有测试过

    关于powershell - 将用户/计算机的OU添加到安全组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58323368/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com