Question [RESOLU] script exchange online erreur variable

Plus d'informations
il y a 7 ans 2 mois #28020 par laussel
Bonjour et meilleurs vœux à tous,

Je me remet doucement à Powershell.

Je cherche à faire un script qui me permette de vérifier pour l'ensemble d'une organisation si la boite est bien en langue française ainsi que l’appellation des dossiers.

Voici mon code :
[code:1]
#recup toute les boites
$mail = Get-Mailbox

#pour chaque boite verif reglage langue
foreach($mail2 in $mail)
{$upn = $mail2.UserPrincipalName
$a=Get-MailboxRegionalConfiguration -Identity $upn -VerifyDefaultFolderNameLanguage


#si pas français, le faire
if ($a.DefaultFolderNameMatchingUserLanguage -eq \"false\"«»)
{Set-MailboxRegionalConfiguration -Identity $upn -Language fr-fr -LocalizeDefaultFolderName -whatif}

}[/code:1]

Le problème que je rencontre c'est que la condition if n'est pas prise en compte.

Si je fait ceci :
[code:1]
$a=Get-MailboxRegionalConfiguration -Identity $upn -VerifyDefaultFolderNameLanguage
$a.DefaultFolderNameMatchingUserLanguage
[/code:1]

La variable renvoie la bonne info mais dans ma boucle que la condition soit vrai ou fausse, la commande s'exécute tout le temps.
Je n'arrive pas à trouver mon erreur.

Merci de votre aide.

Message édité par: franck31195, à: 17/01/19 17:18<br><br>Message édité par: franck31195, à: 30/01/19 11:03

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

Plus d'informations
il y a 7 ans 2 mois #28024 par Laurent Dardenne
Salut,
n'ayant pas d'infra pour tester ton cas, vérifie déjà le type de la propriété :
[code:1]
$a.DefaultFolderNameMatchingUserLanguage.GetType().FullName
[/code:1]
A priori le type de cette propriété est boolean, donc sous Powershell :
[code:1]$false -eq \&quot;false\&quot;[/code:1]
renvoie $false et
[code:1]$true -eq \&quot;false\&quot;[/code:1]
renvoie $true...

Tutoriels PowerShell

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

Plus d'informations
il y a 7 ans 1 mois #28056 par laussel
Merci de votre aide,
L'information est bien de type System.Boolean.

Voici mon script fonctionnel :
[code:1]$mail = Get-Mailbox

#pour chaque boite verif reglage langue
foreach($mail2 in $mail)
{$upn = $mail2.UserPrincipalName
$a=Get-MailboxRegionalConfiguration -Identity $upn -VerifyDefaultFolderNameLanguage


#si pas français, le faire
if ($a.DefaultFolderNameMatchingUserLanguage -eq $false)
{Set-MailboxRegionalConfiguration -Identity $upn -Language fr-fr -LocalizeDefaultFolderName -whatif}

}[/code:1]

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

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