Question Caracteres Nationaux et Commandes PowerShell

Plus d'informations
il y a 13 ans 11 mois #11504 par AGNES
Bonjour,

J'ai soucis avec les caractères espagnols.
J'ai créé un script pour provisionner un AD.
Rien d'extraordinaire, ça fonctionne.

Mon soucis est ensuite pour l'exploiter.
Je souhaite faire un \"move\" d'un User vers une autre OU.
move-adobject fonctionne,
Mais quand mon OU de destination contient des caractères espagnols, ça plante.
Exemple de nom d'OU :
\"OU=B,OU=4t,OU=Educació primària,OU=Alumnes\"
Si je renomme l'OU sans utiliser le ó ou le à, ça fonctionne.
Ma commande :
Get-ADUser $TabloAlumnes[$k].sAMAccountName -Properties * | Move-ADObject -TargetPath $Cible

Quelqu'un aurait-il une idée ?

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

Plus d'informations
il y a 13 ans 11 mois #11506 par Richard Lazaro
Droit d'auteur sur la fonction suivante ;)

[code:1]
function Remove-Diacritic {
Param (
[string] $Text
)

$normalizedString = $Text.Normalize([System.Text.NormalizationForm]::FormD)
$stringBuilder = New-Object System.Text.StringBuilder

for($i=0;$i-lt$normalizedString.Length;$i++) {
[char]$char = $normalizedString[$i]
if([System.Globalization.CharUnicodeInfo]::GetUnicodeCategory($char) -ne [System.Globalization.UnicodeCategory]::NonSpacingMark) {
$stringBuilder.Append($char) | Out-Null
}
}

return $stringBuilder.ToString()
}

Remove-Diacritic -Text 'Ceci é un phàse dès Têstü @ ['
[/code:1]

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 11 mois #11511 par AGNES
Merci pour cette rapide et élégante proposition !

Toutefois, cela supprime les caractères exotiques du nom des OUs ... Cela va m'obliger à recréer mon arborescence.

Vu que l'AD accepte ces caractères, n'y aurait-il pas toutefois un moyen de les conserver et de pouvoir les utiliser dans les commandes PowerShell ?

Je ne suis pas super expert en Catalan, mais est-ce que \"Educació primària\" a le même sens que \"Educacio Primaria\" ...

Et plus fondamentalement, puisque c'est possible en création (mon script créé sans problème les OU avec ces caractères) ça me chiffonne que ce ne soit pas utilisable avec certaines commandes du PowerShell ...

Et j'aime pas être chiffonné !

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

Plus d'informations
il y a 13 ans 11 mois #11513 par AGNES
Quel boulet !
:whistle:
En fait, ça fonctionne parfaitement ...

Mon soucis était que je faisais mes tests à partir d'un fichier CSV et c'est lui qui n'était pas à jour !!!!

Donc l'utilisation des caractères Nationaux fonctionne parfaitement avec toutes les commandes PowerShell (à tout le moins pour celles que j'ai essayé !)

Merci pour le code en tous cas !
Je mets ça de côté pour mes besoins futurs et je n'oublierais pas les droits d'auteur ! ;)

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

Plus d'informations
il y a 13 ans 11 mois #11516 par Richard Lazaro
ha d'accord, vu qu'il n'y a pas de soucis avec les caractères j'en avais déduis que vous vouliez les supprimer ... autant pour moi :/

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 11 mois #11518 par Laurent Dardenne
Richard Lazaro écrit:

Droit d'auteur sur la fonction suivante ;)

Tu prends des risques il me semble...

Tutoriels PowerShell

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

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