====== Powershell-Verbindung und Exchange Online ======
===== Verbindung zu Exchange Online mit Basic Auth =====
1.Execution Policy anpassen
Powershell als **Administrator** öffnen:
Set-ExecutionPolicy RemoteSigned
2. Verbindung herstellen
==== In der German Cloud (obsolet) ====
Nachfolgende Powershell kann als **normaler Benutzer** gestartet werden:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office.de/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
==== In der Worldwide Cloud (obsolet) ====
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Nachfolgende Befehle sind wieder für alle Cloudvarianten gültig:
Import-PSSession $Session -DisableNameChecking
==== Verbindung trennen ====
Remove-PSSession $Session
===== Verbindung zu Exchange Online mit Modern Auth =====
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin@meintenant.onmicrosoft.com
Disconnect-ExchangeOnline
===== Exchange-Kontakte Import/Export =====
==== Export ====
Get-MailContact -ResultSize unlimited | export-csv c:\temp\Contacts.csv
==== Import ====
Import-Csv .\ExternalContacts.csv | ForEach-Object {New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
$contacts = Import-CSV .\ExternalContacts.csv
$contacts | ForEach {Set-Contact $_.Name -StreetAddress $_.StreetAddress -City $_.City -StateorProvince $_.StateorProvince -PostalCode $_.PostalCode -Phone $_.Phone -MobilePhone $_.MobilePhone -Pager $_.Pager -HomePhone $_.HomePhone -Company $_.Company -Title $_.Title -OtherTelephone $_.OtherTelephone -Department $_.Department -Fax $_.Fax -Initials $_.Initials -Notes $_.Notes -Office $_.Office -Manager $_.Manager}