Question [Résolu] Script de modification de masse GS AD

Plus d'informations
il y a 10 ans 9 mois #19770 par Mo
Bonjour,

Je souhaiterai mette en place un script de modification de masse de groupe Active Directory, cela à partir d'un fichier csv.
je suis débutant en PS.

Pourriez vous svp m'aider?

Merci d'avance.

Base de script:
param (
[string] $ADGroupFile = \"ADGroupFile.csv\"
)

###########################################################################################
#Set the DC, OU domain information - Set depending on your environment
$objOU = [ADSI]\"LDAP://localhost:389/ou=Universal Groups, ou=UsersAndGroups, dc=MS, dc=com\"
###########################################################################################

#Check that we have an AD grouplist
if ($ADGroupFile -ne \"\")
{
#loop over the groups in the .CSV file
ipcsv $ADGroupFile | foreach {
(
#get the ADGroupname from the .CSV
$ADGroupName = \"ADGroupName\";
$Description = \"Description\";
#ensure the site name isnt empty or blank
if ($ADGroupName -ne \"\")
{
Write-Host -ForegroundColor green \"###########################################################################################\";
Write-Host -ForegroundColor green \"Modify ADGroupName - $ADGroupName\";

$objGroup.$objOUget(\"ADGroupName\",$ADGroupName)
$objGroup.Put(\"Description\",$Description)
$objGroup.SetInfo()

Write-Host -ForegroundColor green \"###########################################################################################\";
Write-Host;
}
}

Write-Host;
Write-Host -ForegroundColor Yellow \"**AD Group Processing complete**\";
}
else
{
Write-Host -ForegroundColor red \"You must specify the AD group file.\";
}

Message édité par: Mcdolyod, à: 2/06/15 13:24<br><br>Message édité par: Mcdolyod, à: 2/06/15 13:28

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

Plus d'informations
il y a 10 ans 9 mois #19773 par Philippe
Bonjour Mcdolyod,

Mcdolyod écrit:

Bonjour,

Je souhaiterai mette en place un script de modification de masse de groupe Active Directory, cela à partir d'un fichier csv.
je suis débutant en PS.

Pourriez vous svp m'aider?

Bien sûr, tu est sur un forum d'entraide B)

Peut tu nous préciser ce que tu veut comme modification stp !

peut tu aussi nous aider en mettant les balises code sur les partie script, stp. Ca nous facilite le travail de décryptage de ton code !
pour ça tu surligne ton code et tu clique sur le bouton code au dessus de la zone de saisi du texte
-&gt;tu as la possibilité d’éditer (modifier) ton premier post
merci

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

Plus d'informations
il y a 10 ans 9 mois #19774 par Mo
Réponse de Mo sur le sujet Re:Script de modification de masse GS AD
Bonjour 6ratgus,
Merci de ton retour.
Le but et de modifier 100GS, j'ai un fichier CSV avec le nom du GS et la description, le script ci-dessus et un script de création de masse qui fonctionne, je l'ai un peu bricolé comme j'ai pu, mais la je suis un peu perdu!!

J'ai effectué un test sur deux groupes, mais l'exécution de script se met en erreur suivante:

+ $ADGroupName = \&quot;ADGroupName\&quot;;
+ ~
Parenthèse fermante « ) » manquante dans l’expression.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndParenthesisInExpression

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

Plus d'informations
il y a 10 ans 9 mois #19775 par Philippe
tu a ici deux solutions pour effectuer ta tache

si tu a des questions n'hésite pas !

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

Plus d'informations
il y a 10 ans 9 mois #19776 par Mo
Réponse de Mo sur le sujet Re:Script de modification de masse GS AD
Salut 6ratgus,
Dans les deux cas indiqué c'est des changements ponctuels (unique) dans mon cas c'est 100groupes à modifier, le fichier csv semble être plus adapté.

Je souhaiterai utiliser un csv qui contient les DN et la description des groupes, et utiliser en suite des variables.

If groupe \&quot;TOTO\&quot;
Set description \&quot;groupe toto\&quot;

Excuse moi si je ne comprends pas tout:blush:

Merci encore.

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

Plus d'informations
il y a 10 ans 9 mois #19777 par Philippe
tu doit adapter ton script avec les info du lien que je t'ai donner.

pour ton cas tu remplace la ligne suivante :

[code:1]$objGroup.$objOU.get(\&quot;Group\&quot;,$ADGroupName)[/code:1]
par
[code:1]
# Connexion à l'objet en spécifiant son DN - Distinguished Name
$objGroup= [ADSI]'LDAP://CN=Petitjean Arnaud,CN=Users,DC=powershell-scripting,DC=com'[/code:1]
et tu adapte cette ligne a ton cas :
[code:1]$objGroup= [ADSI]'LDAP://$ADGroupName'[/code:1]
ton fichier doit évidement contenir les noms des groupes au format \&quot;Distinguished Name\&quot; comme dans l'exemple

enfin pour ton message d'erreur tu a une parenthèse sous la ligne qui contient import-csv que tu doit enlevé !

tu a deux modification de plus a faire :
sur la ligne
[code:1]ipcsv $ADGroupFile | foreach {[/code:1]
a remplacé par
[code:1]Import-Csv $ADGroupFile -Delimiter \&quot;;\&quot; | foreach {[/code:1]
et aussi
les lignes
[code:1] $ADGroupName = \&quot;ADGroupName\&quot;
$Description = \&quot;Description\&quot;
[/code:1]
a remplacé par
[code:1] $ADGroupName = $_.ADGroupName
$Description = $_.Description
[/code:1]

quand tu aura corrigé ces erreurs, il reste un dernier détail
ton fichier csv doit contenir deux colonnes : ADGroupName et Description séparé par autre chose que des virgules pour ne pas posé de problème avec le \&quot;Distinguished Name (DN)\&quot; qui en contient. Dans l'exemple suivant j'ai mis un point-virgule
au final ton fichier contient :
\&quot;ADGroupName\&quot;;\&quot;Description\&quot;
\&quot;CN=groupetest,CN=Users,DC=powershell-scripting,DC=com'\&quot;;\&quot;ceci est la description d'un groupe de test\&quot;

voila fait toute ces modifications puis dit nous si c'est OK !

Message édité par: 6ratgus, à: 27/05/15 12:16

Message édité par: 6ratgus, à: 27/05/15 12:17<br><br>Message édité par: 6ratgus, à: 28/05/15 15:17

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

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