### ----------------------------------------------------------------- ### Written by Matt Brown - 11/16/2010 ### ### Powershell script requires a csv text file in the following Format: ### > email ### > address1@domain.com ### > user2@domain.com ### ----------------------------------------------------------------- ## Setup Vars $ImportFile = "C:\live-email-list.csv" $Language = "en-US" $Timezone = "Pacific Standard Time" $DateFormat = "M/d/yyyy" $TimeFormat = "h:mm tt" ## get the email accounts to change $EmailAccounts = import-csv $ImportFile Write-Host " Accounts Found in CSV File" $EmailsToCheck.Length if($EmailsToCheck.Length -gt 0) { ## Setup Outlook Session Session and modify accounts $LiveCred = Get-Credential $loop = 5 while($loop -gt 0) { # this loops handles reconnect if connection to Live fails on first try. $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection if($Session) { $loop = 0 Import-PSSession $Session $EmailAccounts | foreach { $Check = Get-MailboxRegionalConfiguration $_.email if($Check -ne $Timezone) { Write-Host $_.email Set-MailboxRegionalConfiguration $_.email -TimeZone $Timezone -Language $Language -DateFormat $DateFormat -TimeFormat $TimeFormat } } } else { Write-Host "Session not created... trying again" $loop -= 1 } } } Remove-PSSession $Session.Id
Ramblings from University IT... VMWare, NetApp, Powershell,Active Directory, Exchange and Scripting.
Tuesday, November 16, 2010
Powershell: Update Timezone Region for Outlook.com Live@Edu Accounts
Here's a quick script to update the Timezone and Language of all your Outlook Live Accounts using remote powershell.
Subscribe to:
Post Comments (Atom)
Hi Matt
ReplyDeleteThanks for producing the script but i'm having issues when i run it. I'm a complete PS Novice so please be patient! i either get this error:
Accounts Found in CSV File
Import-PSSession : Cannot validate argument on parameter 'Session'. The argument is null. Supply a non-null argument and try the comman
d again.
At line:44 char:26
+ Import-PSSession <<<< $Session
+ CategoryInfo : InvalidData: (:) [Import-PSSession], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.ImportPSSessionCommand
or if move the $Session.Id to a diffrent line i get a popup box : cmdlet import-pssession at command line postion 1 supply value
and if i remove the session.id totally i just Accounts Found in CSV File
Please can you advise
The connection redirects a couple of times, so your Network needs to allow redirections. Also, you need to connect with a valid office 365 admin account.
DeleteThis comment has been removed by a blog administrator.
ReplyDelete