Question
[RESOLU] script exchange online erreur variable
- laussel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 2 mois #28020
par laussel
[RESOLU] script exchange online erreur variable a été créé 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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 7 ans 2 mois #28024
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:script exchange online erreur variable
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 \"false\"[/code:1]
renvoie $false et
[code:1]$true -eq \"false\"[/code:1]
renvoie $true...
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 \"false\"[/code:1]
renvoie $false et
[code:1]$true -eq \"false\"[/code:1]
renvoie $true...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- laussel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 1 mois #28056
par laussel
Réponse de laussel sur le sujet Re:script exchange online erreur variable
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]
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [RESOLU] script exchange online erreur variable