2016-04-28 9 views
1

私は比較的PowerShellを使い始めていて、Active Directoryに関連する仕事でプロジェクトを習得しようとしています。私が持っている仕事は、ADの2つの異なるセキュリティグループのメンバーを比較することです(両方のグループは同じOUにあります)。グループ1のメンバーではないグループ2のメンバーをグループ1にコピーします。PowerShell v4を使用して、あるセキュリティグループのメンバーをADの別のセキュリティグループにコピーする方法は?

this link横切って群を比較する方法を示したが、その:

  1. このウェブサイトに記載されているコード・セグメントは、グループ2に含まれていないグループ1のメンバーおよびグループ1に含まれていないグループ2のメンバーの両方を返しますこれは私が必要とする以上の情報です
  2. リストを取得したら、コマンドやスクリプトを入力してそれらのメンバーを適切なグループにコピーする方法を知りません。

答えて

1

ここに移動します。あなたの要件について書いた以下のスクリプトを試してみてください。

#Input Parameters. Change these as per your requirement 
$group1 = "Group1Name" 
$group2 = "Group2Name" 

$membersInGroup1 = Get-ADGroupMember $group1 
$membersInGroup2 = Get-ADGroupMember $group2 

if($membersInGroup1 -eq $null) 
{ 
    Add-ADGroupMember -Identity $group1 -Members $membersInGroup2 
} 
elseif($membersInGroup2 -ne $null) 
{ 
    $separateMembers = diff $membersInGroup1 $membersInGroup2 

    if($separateMembers -ne $null) 
    { 
    foreach($member in $separateMembers) 
    { 
     $currentUserToAdd = Get-ADUser -Identity $member.InputObject 
     Add-ADGroupMember -Identity $group1 -Members $currentUserToAdd 
     } 
    } 
} 

問題が発生した場合はお知らせください。

+0

あなたが新しいものとして、これはあなたの問題を解決するかどうか、私の答えの横に、矢印の下の目盛りをクリックすることで、その答えとしてこれを受諾してください。 –

+0

助けてくれてありがとう。スクリプトは完全に機能しました。スクリプトの一部の仕組みを完全に理解しているかどうかはわかりませんが、PowerShellを使って作業することは間に合うと確信しています。 – Peach

0

私はあなたのすべてと共有する抵抗できなかったということは非常に容易である別の解決策を見つけた:

Get-ADGroupMember -Identity GROUP-A | Add-ADPrincipalGroupMembership -MemberOf GROUP-B

Get-ADGroupMemberは、着信を追加Add-ADPrincipalGroupMembershipコマンドレットにGROUP-Aとパイプのすべてのメンバーを取得しますグループBへのメンバー。

Source