Ce script fonctionne sans erreur maintenant, mais le problème est que lorsque plusieurs groupes dans la base de recherche sont trouvés, le script ajoutera tous les utilisateurs de tous les groupes aux groupes cibles de la forêt croisée.Powershell Ajout d'utilisateurs dans les groupes pour traverser les groupes forestiers
Ainsi, par exemple:
ForestAGroup1 = contient 2 utilisateurs
ForestAGroup2 = contient 2 utilisateurs
:: exécute le script ::
maintenant ...
ForestBGroup1 = Il contient 4 utilisateurs
ForestBG roup2 = contient 4 utilisateurs
Le ForestBGroup1/2 doit contenir les mêmes utilisateurs identiques que ForestAGroup1/2.
Voici le script de référence:
$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}
}
Vous devez toujours nettoyer votre exemple pour les informations sensibles. Rappelez-vous que Contoso.com est une excellente entreprise. Les données se trouvent maintenant dans l'historique .. –
Votre question n'est pas claire. Vous dites que vous voulez avoir les mêmes membres dans ForestBGroup1 que dans ForestAGroup1 ("Le ForestBGroup1/2 doit contenir les mêmes utilisateurs que ForestAGroup1/2."), Mais votre exemple montre deux membres dans A1 et 4 en B1. Avoir tous les membres dans tous les groupes ne semble pas correct, donc ma réponse ne correspondrait qu'à A1 avec B1 etc. Si vous voulez vraiment tous les utilisateurs dans chaque groupe B, alors vous devriez les ajouter à un groupe B et l'ajouter au autres groupes B Vous ne voulez pas conserver 10s de groupes avec des membres identiques. –
Mon exemple est propre des informations sensibles, d'après ce que je peux voir? Oui, ForestAGroups1/2 doit correspondre à ForestBGroups1/2, mais il ajoute tous les utilisateurs aux groupes ForestB de destination. – Kyle