このスクリプトはエラーなく動作しますが、検索ベース内の複数のグループが見つかった場合、スクリプトはすべてのグループのすべてのユーザーをクロスフォレストの対象グループに追加します。Powershellグループ内のユーザーをフォレスト間グループに追加
ですから、例えば:
ForestAGroup1 =が含まれている2人のユーザー
ForestAGroup2 = 2人のユーザー
が含まれています::スクリプトを実行します::
今...
ForestBGroup1 = 4人のユーザーが含まれています
ForestBG roup2 = 4人のユーザーを含む
ForestBGroup1/2には、ForestAGroup1/2と同じユーザーが含まれている必要があります。ここで
は参照用のスクリプトです:あなたは
$creds = Get-Credential
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=TEST,OU=Shop Print Groups,OU=User,OU=domain Groups,DC=domainA,DC=com" | export-csv c:\temp\test.csv
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=TEST,OU=Shop Print Groups,OU=User,OU=domain Groups,DC=domainA,DC=com"
Foreach($G In $Groups)
{
#Display group members and group name
Write-Host $G.Name
Write-Host "-------------"
$G.Members
#Add members to domainB group
$domainGMembers = import-csv C:\temp\test.csv | ForEach-Object -Process {Get-ADGroupMember -Identity $_.CN} | Select-Object samaccountname | export-csv c:\temp\gmembers.csv
$domainDNUser = import-csv C:\temp\gmembers.csv | ForEach-Object -Process {Get-ADUser $_.samaccountname -Server "domainA.com" -properties:Distinguishedname}
import-csv C:\temp\gmembers.csv | ForEach-Object -Process {Add-ADGroupMember -Server "domainB.com" -Identity $G.Name -Members $domainDNUser -Credential $creds -Verbose}
}
重要な情報については、例を常に掃除する必要があります。 Contoso.comは素晴らしい会社です。データは現在歴史の中で生きています。 –
あなたの質問は不明です。あなたは、あなたがForestAGGroup1'(ForestBGroup1/2はForestAGroup1/2と同じ同一のユーザを含む必要があります)と同じメンバーをForestBGroup1に持っていたいとしますが、あなたの例ではA1とB1の4。すべてのグループのすべてのメンバーが正しいとは言えないので、私の答えはA1とB1しか一致しません。本当にすべてのBグループにすべてのユーザーが必要な場合は、それらを1つのBグループに追加し、他のBグループ。同じメンバーで10のグループを維持することは望ましくありません。 –
私の例は、私が見ることのできる機密情報をきれいにしていますか?はい、ForestAGroups1/2はForestBGroups1/2と同じに一致するはずですが、代わりにすべてのユーザーを宛先のForestBグループに追加しています。 – Kyle