我想建立一个脚本,将AD中的组成员从一个用户复制到另一个用户.我试图使用powershell来自动完成这项任务.但是在为用户创建检查时卡住了.换句话说,当我将组成员资格从一个用户复制到另一个用户时,我希望能够在添加之前运行检查以查看用户是否已经是该组的成员,这样做可以避免诸如"这个"之类的错误用户已经是该组的成员,无法再次添加"任何帮助或建议将不胜感激.我现在使用以下脚本.
$copy = Read-host "Enter user to copy from"
$Sam = Read-host " Enter user to copy to"
Function Copymembership {
$members = Get-ADUser -Identity $copyp -Properties memberof
foreach ($groups in $members.memberof){
if ($members -notcontains $groups.sAMAccountname)
{Add-ADGroupMember -Identity $groups -Member $sam -ErrorAction SilentlyContinue
Write-Output $groups}
}
}
copymembership
Run Code Online (Sandbox Code Playgroud)
The*_*ian 10
为两个用户使用Get-ADUser.然后使用-notcontains运算符来过滤组.
$CopyFromUser = Get-ADUser JSmith -prop MemberOf
$CopyToUser = Get-ADUser MAdams -prop MemberOf
$CopyFromUser.MemberOf | Where{$CopyToUser.MemberOf -notcontains $_} | Add-ADGroupMember -Member $CopyToUser
Run Code Online (Sandbox Code Playgroud)
小智 10
一行即可获取用户成员的内容。
Get-ADUser -Identity alan0 -Properties memberof | Select-Object -ExpandProperty memberof
Run Code Online (Sandbox Code Playgroud)
一行将成员资格从一个用户复制到另一个用户。
Get-ADUser -Identity <UserID> -Properties memberof | Select-Object -ExpandProperty memberof | Add-ADGroupMember -Members <New UserID>
Run Code Online (Sandbox Code Playgroud)
小智 0
像这样的内容应该告诉您组是否包含特定成员:
If ((Get-ADGroup "Domain Admins" -Properties Members).Members -Contains (Get-ADUser "AdminBob").DistinguishedName) {write-host "Yes"}
Run Code Online (Sandbox Code Playgroud)
可能有更简单的事情,但这是我首先想到的事情。
| 归档时间: |
|
| 查看次数: |
32982 次 |
| 最近记录: |