Question New-ADUser contrsuire le mail avec une partie des champs

Plus d'informations
il y a 1 an 8 mois #32428 par stephane
Bonjour,

J'ai besoin d'un peu d'aide pour comprendre le fonctionnement de certains parametres de new-aduser

ex: pierre dupont
mail: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
sam: toto.org\PierreDU
J'ai un script mais non adapté tout a fait a mon besoin, mais surtout je ne "comprends pas" certains mécanismes.

$ou="CLT"
$GivenName="Pierre"
$Surname="DUPONT"
$pwd="password123!"
$dom="toto.org"
$sam=($GivenName[0]+"."+$Surname).ToUpper()
$upn=$sam+"@"+$dom

New-ADUser `
    -UserPrincipalName $upn `
    -Path "OU=$OU,DC=toto,DC=org" `
    -SamAccountName $sam  `
    -DisplayName "IT : $GivenName $Surname"  `
    -Name  "$GivenName $Surname"  -GivenName $GivenName -Surname $Surname `
    -Enabled $true -AccountPassword (ConvertTo-SecureString -AsPlainText $pwd -force)



$sam=($GivenName[0]+"."+$Surname).ToUpper()
la partie [0] : je crois qu'elle coupe les lettres et a priori le zéro sur la premiere mais je ne suis pas sur..
ToUpper() ok c'est majuscule mais entre les parentheses en mettant un chiffre ca change qqch ?

Merci

 

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

Plus d'informations
il y a 1 an 8 mois #32447 par Laurent Dardenne
Salut,
la partie [0] : renvoie le premier élément d'un tableau. Une string est aussi un tableau de caractères. Par défaut un tableau débute à l'indice zéro. Si l'indice est négatif on renvoie à partir de la fin de la chaîne

les parenthèses: regroupe des instructions et renvoie un résultat.

A priori, cette partie du code applique une convention de nommage.

>>mais entre les parenthèses en mettant un chiffre ça change qqch ?
Je n'ai pas compris.

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 8 mois #32450 par stephane
Hello,
Merci des précisions.
La question est, est ce que ça marche pareil avec la parenthèse (0) ou (1),etc?
Si tu ne veux appliquer les maj que sur une partie de la string ?
PierreDU
PierrEDu
Etc
L idée était de trouver le moyen de passer la maj sur des caractères ciblés, du coup jpensais aux parenthèses car ke comprends pas leur usage après toUpper puisqu elles sont vides.
ToUpper()
ToUpper(1/2/3..)?

Et j'ai une question à 100000$
:
Est ce que je peux à la suite, rajouter un add group ?
Dans la foulée de créer le user, l ajouter à un groupe.
Merci

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

Plus d'informations
il y a 1 an 8 mois - il y a 1 an 8 mois #32452 par Laurent Dardenne
Cela dépend si la méthode gère ce type de paramètre :
'str'.ToUpper

#OverloadDefinitions
#-------------------
#string ToUpper()
#qtring ToUpper(cultureinfo culture)

Ici ce n'est pas le cas.

>Si tu ne veux appliquer les maj que sur une partie de la string ?
C'est possible, mais il faut le coder.
Deux contraintes:
1 une string ne peut être réaffecté c'est un type immutable,
2 si on utilise des index négatifs, pour ne pas avoir à les calculer selon la taille de chaque chaine, on ne peut utiliser des méthodes Dotnet, uniquement du Powershell.

Une solution rapido à confirmer :
#position des caractères
$position=@(0,-2,-1)

#contrainte 1, on transforme la chaine en un objet indexable
[System.Text.StringBuilder]$Strb=$GivenName

#contrainte 2
foreach ($i in $position) { $Strb[$i]=[char]::toUpper($GivenName[$i]) }

#On transforme en une string
$GivenName2=$Strb.ToString()


>Est ce que je peux à la suite, rajouter un add-group ?
Oui, voir cet exemple stackoverflow.com/questions/36060176/add...r-running-new-aduser

Tutoriels PowerShell
Dernière édition: il y a 1 an 8 mois par Laurent Dardenne. Raison: coquille

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

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