Question Copie le contenu d'un groupe

Plus d'informations
il y a 16 ans 1 mois #1779 par big_cham
Bonjour à tous et à toutes !

Je suis confronté à un nouveau problème. J'ai un groupe d'utilisateurs que j'aimerai copier dans un autre.

Mon script travaille en plusieurs temps :
1- Indiquer le nom du groupe source
2- Indiquer le nom du groupe de destination

3- Lister le contenu du groupe source
4- Déplacer le contenu vers le groupe de destinations.

J'ai utilisé le script fourni la bibliothèque qui me fait les étapes 1,2,3. Je bloque au déplacement des utilisateurs.
Savez vous quelle commande utiliser pour faire cette opération ?

Etapes 1 et 2 :

[code:1]$a = new-object -comobject MSScriptControl.ScriptControl
$a.language = \"vbscript\"
$a.addcode(\"function getInput() getInput = inputbox(`\"Entrer le nom du groupe :`\",`\"Groupe Recherché...`\"«») end function\" )
$group = $a.eval(\"getInput\"«»)

$b = new-object -comobject MSScriptControl.ScriptControl
$b.language = \"vbscript\"
$b.addcode(\"function getInput() getInput = inputbox(`\"Entrer le nom du groupe de destination :`\",`\"Groupe de destination...`\"«») end function\" )
$group_dest = $b.eval(\"getInput\"«»)[/code:1]

Etape 3 :

[code:1]$ADSIGroup = [ADSI]\"WinNT://$server/$group\"

foreach ($member in $ADSIGroup.Members()) {
$member.GetType().InvokeMember(\"AdsPath\",\"GetProperty\",$null,$member,$null)

# Dans certains cas, on peut avoir un SID à la place du nom d'utilisateur.
# Dans ces cas-là, on affiche le SID sans chercher à reconstruire la
# chaîne domaine\utilisateur:

if ($ADSIName -match \"[^/]/[^/]\"«») {
[String]::Join(\"\\", $ADSIName.Split(\"/\"«»)[-2..-1])
}
else {
$ADSIName.Split(\"/\"«»)[-1]
}
}[/code:1]

Si vous pouviez me dire quelle commande utiliser pour faire le déplacement...

GROS MERCI !:cheer:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1781 par big_cham
Réponse de big_cham sur le sujet Re:Copie le contenu d'un groupe
Apparemment il est plus facile de travailler avec les cmdlets proposées par Quest...

Avec ces quelques lignes, j'extrais le contenu du groupe source dans un fichier.

[code:1]get-content d:\taf\scripts\powershell\groupe\grp.txt | foreach {
$grp = $_
Get-QADGroupMember $_ | select name,type,dn,@{n=\"Group\";e={$grp}}

} | export-csv -noType d:\taf\scripts\powershell\groupe\groupMembers.csv [/code:1]

Mais ma question tiens toujours : comment affecter à ces personnes le groupe de destination ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 1 mois #1789 par big_cham
Réponse de big_cham sur le sujet Re:Copie le contenu d'un groupe
Encore plus simple :

[code:1]Get-QADGroupMember $g_src | % { Add-QADGroupMember $g_dest -Member $_}
Get-QADGroupMember $g_src | % {Remove-QadGroupMember $g_src -Member $_}[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.060 secondes
Propulsé par Kunena