Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1799 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Logiciels d'entreprise

  Script Powershell Office365

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Powershell Office365

n°169677
razer69
Posté le 14-05-2020 à 13:43:41  profilanswer
 

Bonjour,
 
En powershell sur mon espace office365, je voudrais mettre à jour les paramètre de mes utilisateurs (mettre Outlook365 en FR)
 

Code :
  1. Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | Set-MailboxRegionalConfiguration -Language fr-FR -DateFormat "dd/MM/yyyy" -TimeFormat HH:mm -LocalizeDefaultFolderName -TimeZone "Romance Standard Time"


 
Mais avec les 450 utilisateurs je pense que cela bloque coté microsoft avec le délai execution car j'ai cette avertissement:

Code :
  1. AVERTISSEMENT : Micro-délai appliqué. Retard actuel : 27691 ms, Appliqué : True, Délai délimité : 27691 ms, Requis


 
Je cherche comment je peux faire pour exécuter cette requête sur les 50 premiere adresse email ( et de 51 à 100 etc), ou bien faire une boucle avec une tempo
 
Merci d'avance pour vos conseil
 
razer69

mood
Publicité
Posté le 14-05-2020 à 13:43:41  profilanswer
 

n°169679
razer69
Posté le 14-05-2020 à 14:22:21  profilanswer
 

Bonjour,
 
en fait la commande est passé à moitié. comment je peux dire executer la commande uniquement pour ceux ou la language n'ai pas défini?

n°169682
aurel25000
Posté le 14-05-2020 à 16:06:02  profilanswer
 

Ça te donne le même résultat si tu fais un foreach ?

n°169684
razer69
Posté le 14-05-2020 à 16:13:59  profilanswer
 

Bonjour Aurel,
 
Un foreach? tu peux m'expliquer?

n°169686
aurel25000
Posté le 14-05-2020 à 16:26:12  profilanswer
 

Une boucle powershell, genre  
 
$users = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited
 
foreach ($user in $users)
    {
  Set-MailboxRegionalConfiguration -Identity $user -Language fr-FR -DateFormat "dd/MM/yyyy" -TimeFormat HH:mm -LocalizeDefaultFolderName -TimeZone "Romance Standard Time"
 
}
 
En gros tu liste tes boites mails, puis applique tes paramètres sur chaque boite que tu as listé.
 
Je te conseil de d'abord tester en ciblant une boite avec ton get-mailbox

n°169690
Je@nb
Modérateur
Kindly give dime
Posté le 14-05-2020 à 17:58:58  profilanswer
 

Le mieux : envoyer des gros tas dans le pipe car c'est traité en batch vs du foreach où tu envoies une requête à chaque fois et c'est pas efficient
Si tu peux pas piper car trop gros (et encore là c'est que du warning) le mieux est de découper par lots de X.
genre :

Code :
  1. $mbx = get-mailbox ...
  2. $mbxcount = $mbx.Count
  3. $batchsize = 50
  4. for ($x=0;$x -lt ($mbxcount/$batchsize);$x++) {
  5. $mbxlist = $mbx[($x*$batchsize)..(($x+1)*$batchsize)]
  6. $mbxlist | set-....
  7. }

(en gros biensur ça marchera pas comme ça à la fin :D
 
Sinon ce que j'utilise pas mal c'est le robustcloudcommand :
https://github.com/Canthv0/RobustCloudCommand
 
Ca permet d'envoyer les commandes sur chaque mailbox (bon du coup ça fait pas par batch mais une à une) mais ça permet de renouveler les token et reprendre où ça en est.
 
Après aujourd'hui c'est long mais en passant par Graph ça devrait aller plus vite


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Logiciels d'entreprise

  Script Powershell Office365

 

Sujets relatifs
[Résolu] Commande Powershell pour création d'un disque virtuelGsuite transfert Office365 (Plan1)
GPO script powershell au démarragescript powershell
script pour teamviewerUbuntu: Smtp Office365
Outil/Script Fusion GPOLogiciel/script suivi de release
Plus de sujets relatifs à : Script Powershell Office365


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR