de-DEen-GB
 
MVP - Most Valuable Professional
rss

Just can't get enough of IT

This blog is about mostly anything in IT. But the primary focuses are Microsoft Technologies like Exchange, Office 365, Azure and Cloud Security.
Last updated 2018-08-14

 

Exchange Server 2013Exchange Server 2016Description

 

This script has been developed for a custom project with the following requirements:

  • User photos are provided in rectangular format by the HR department and stored in a dedicated folder
  • User photos should be resized automatically to a square format to be suitable for
    • Active Directory thumbnailPhoto attribute (96x96 pixel)
    • Exchange user photo (648x648 pixel)
    • Intrant address book (150x150 pixel)
  • Processed photos should be moved to a processed folder
  • User logon names are used as user photo file names

The script utilizes a self developed C# command line tool, which has been published as open source at Github. The ResizeImage Wiki explains the usage of the command line tool. The application's configuration controls the target size and an optional pixel based offset.

Maybe the script will be useful in your project as well.

Requirements

  • ResizeImage.exe command line tool
  • GlobalFunctions PowerShell module as desribed here
  • Exchange Server 2013+ Management Shell (EMS) for storing user photos in on-premises mailboxes
  • Exchange Online Management Shell for storing user photos in cloud mailboxes
  • Write access to thumbnailPhoto attribute in Active Directory

Examples

The code samples utilize the following folder structure:

  • D:\UserPhotos
    • SOURCE
      Contains all .JPG user photos with file names matching the user logon names
    • AD
      Target folder for tumbnailPicture photos (96 x 96 px)
      • ResizeImage.exe
      • ResizeImage.exe.config (local configuration for Active Directory photos)
    • EXCHANGE
      Target folder for Exchange mailbox user photos (646 x 648 px)
      • ResizeImage.exe
      • ResizeImage.exe.config (local configuration for Exchange mailbox photos)
    • INTRANET
      Target folder for Intranet address book user photos (150 x 150 px)
      • ResizeImage.exe
      • ResizeImage.exe.config (local configuration for Intranet photos)

 

Code Samples

# EXAMPLE
# Resize photos stored in the default PictureSource folder for Exchange On-Premises (648x648) and write images to user mailboxes
.\Set-UserPictures.ps1 -ExchangeOnPrem   

# EXAMPLE
# Resize photos stored on a SRV01 share for Exchange Online and save resized photos on a SRV02 share
.\Set-UserPictures.ps1 -ExchangeOnline -PictureSource '\\SRV01\HRShare\Photos' -TargetPathExchange '\\SRV02\ExScripts\Photos'

 # EXAMPLE
 # Resize photos stored in the default PictureSource folder for Active Directory (96x96) and write images to user thumbnailPhoto attribute
 .\Set-UserPictures.ps1 -ActiveDirectory

# EXAMPLE
# Resize photos stored in the default PictureSource folder for Intranet (150x150)
.\Set-UserPictures.ps1 -Intranet

Version History

  • 1.0, Initial community release
  • 1.1, Exchange Online support added
  • 1.2, Log strings updated when updating Exchange photos

Links

Follow

 

 

Read More »
On February 17, 2017
0 Comment
1640 Views

Office 365Microsoft AzureDescription

Using this script you can test the domain availability in Office 365 and Azure AD. As there are different closed Office 365 and Azure AD regions you need to test per dedicated closed Office 365 region.

Regions currently implemented:

  • Global
    This is the default public Office 365 cloud
  • Germany
    This is the dedicated Germany Cloud offering aka Office 365 Germany
  • China
    This is the Office 365 region hosted by VIANET21

The script queries the login uri for the selected Office 365 region.

The response contains metadata about the domain queried. If the domain already exists in the specified region the metadata contains information if the domain is verified and/or federated.

 Load function into your current PowerShell session:

. .\Test-DomainAvailability.ps1

 

Examples

# EXAMPLE
# Test domain availability in the default region - Office 365 Global

Test-DomainAvailability -DomainName example.com 

# EXAMPLE
# Test domain availability in Office 365 China    

Test-DomainAvailability -DomainName example.com -LookupRegion China

Version History

  • 1.0, Initial community release

Links

Additional Credits

Original source: https://blogs.technet.microsoft.com/tip_of_the_day/2017/02/16/cloud-tip-of-the-day-use-powershell-to-check-domain-availability-for-office-365-and-azure/

Follow

 

Read More »

Problem

It might happen that a mobile device running an Android operating system is not being redirected properly by the on-premises AutoDiscover service, when the mailbox has been migrated to Office 365.

If your device is not redirected, the device prefix is not recognized by Exchange Server and therefore not being redirected properly. The new device redirect feature for Android devices was introduced in Exchange Server 2010 SP3 RU9, Exchange Server 2013 CU8, and Exchange Server 2016.

The following device prefixes are known to Exchange by default:

  • Acer, ADR9, Ally, Amazon, Android, ASUS, EasClient, FUJITSU, HTC, HUAWEI, LG, LS, Moto, Mozilla, NEC, Nokia, Palm, PANASONIC, PANTECH, Remoba, Samsung, SEMC, SHARP, SONY-, TOSHIBA, Vortex, VS, ZTE

Solution

If the device prefix of your device is not part of the default list, you can add the prefix to the AutoDiscover web.config file. 

Add the device prefix to the MobileSyncRedirectBypassClientPrefixes key in the appSettings node.

  <appSettings>
    <add key="LiveIdBasicAuthModule.AllowLiveIDOnlyAuth" value="true" />
    <add key="LiveIdBasicAuthModule.ApplicationName" value="Microsoft.Exchange.Autodiscover" />
    <add key="LiveIdBasicAuthModule.RecoverableErrorStatus" value="456" />
    <add key="LiveIdBasicAuthModule.PasswordExpiredErrorStatus" value="457" />
    <add key="ActiveManagerCacheExpirationIntervalSecs" value="5" />
    <add key="ProxyRequestTimeOutInMilliSeconds" value="30000" />
    <add key="LiveIdNegotiateAuxiliaryModule.AllowLiveIDOnlyAuth" value="true" />
    <add key="TrustedClientsForInstanceBasedPerfCounters" value="bes" />
    <add key="InstanceBasedPerfCounterTimeWindowInterval" value="900000" />
    <add key="MobileSyncRedirectBypassEnabled" value="true" />
    <add key="MobileSyncRedirectBypassClientPrefixes" value="Acer,ADR9,Ally,Amazon,Android,ASUS,EasClient,FUJITSU,HTC,HUAWEI,LG,LS,Moto,Mozilla,NEC,Nokia,Palm,PANASONIC,PANTECH,Remoba,Samsung,SEMC,SHARP,SONY-,TOSHIBA,Vortex,VS,ZTE" />
  </appSettings>

File location

%ExchangeInstallPath%\ClientAccess\Autodiscover\web.config

Notes

  • Modify the web.config on each Exchange 2010/2013 Client Access Server and each Exchange 2016 server.
  • After installing an Exchange 2013/2016 CU, the web.config must be modified again.

As always: Be careful when modifying application settings. Test such changes in a test environment first, if possible.

Links

 


You need assistance with your Exchange Server setup? You have questions about your Exchange Server infrastructure and going hybrid? You are interested in what Exchange Server 2016 has to offer for your environment?

Contact me at thomas@mcsmemail.de
Follow at https://twitter.com/stensitzki

Read More »

Troubleshooting Outlook connectivity issues with Office 365 is tricky. Administrators can use two valuable tools provided by Microsoft to identify and even fix client related connectivity issues.

1. Outlook Account Test Page

Start with the Outlook account problems test page in the Office 365 portal. You need to log on as the Office 365 user having issues.

SARA Server

The site tests for the following:

  • You cannot create an Outlook profile or you are asked for your password repeatedly when creating one.
  • You cannot connect to your mailbox or receive an error that a mailbox cannot be found.
  • You are getting invalid license errors or messages that Office cannot verify the license.

If no issues are identified after you've logged on to Office 365, move to the next step.

2. Support and Recovery Assistant

The Microsoft Support and Recovery Assistant (SARA) for Office 365 is click to run tool that is installed and executed locally.

Support and Recovery Assistant (SARA)

These two tools fix most of the Outlook connectivity issues you are facing as an Office 365 administrator.

Links

 

Enjoy Office 365

Read More »
On February 24, 2016
0 Comment
4896 Views

When you use the Exchange Online Portal to move a cloud mailbox to on-premise (aka Office 365 Offboarding) you can either move

  • Primary Mailbox and the existing Archive
  • Primary Mailbox without moving the Archive

When you select the second option, the move request fails because of the missing archive target delivery domain. The required attribute is not exposed to the Exchange Online Administrative Center.

Office 365 off-boarding

The required option -ArchiveDomain can only be applied when using Remote PowerShell to Exchange Online.

The following lines describe how to move the primary mailbox to your opn-premise Exchange while keeping the archive mailbox in Office 365:

# UPN of user to migrate to Exchange Online
$User = "UserToMigrate@mcsmemail.de"

# FQDN of configured migration endpoint
$RemoteHost = "MigrationEndpoint.mcsmemail.de"

# on-premise target domain 
$TargetDelivery = "mcsmemail.de"

# EOL archive domain
$ArchiveDomain = "TENANT.onmicrosoft.com"

# on-premise target mailbox database name
$TargetDatabase = "MBX-DB01"

# Onpremise credentials to access the target mailbox/on-premise Exchange
$OnPremCred = Get-Credential

# New offboarding move request with automatic completion of the request 
New-MoveRequest -Identity $User -RemoteHostName $RemoteHost -RemoteCredential $OnPremCred -TargetDeliveryDomain $TargetDelivery -ArchiveDomain $ArchiveDomain -PrimaryOnly -SuspendWhenReadyToComplete:$false -Outbound -RemoteTargetDatabase $TargetDatabase

Your scripts can go from here.

Enjoy.

 


You need assistance with your Exchange Server setup? You have questions about your Exchange Server infrastructure and going hybrid? You are interested in what Exchange Server 2016 has to offer for your environment?

Contact me at thomas@mcsmemail.de
Follow at https://twitter.com/stensitzki

Read More »