Local exchange ler ile teams kullanıldığında takvim senkronizasyonu default ta çalışmmaktadır.
Exchange Hybrid Wizard ile yapılan kurulum sonrasında OAuth otomatik configure edildği için outlook takvimi ile teams takvimi sync olarak çalışmaktadır. hybrid wizard olmadan ise yapılacaklar aşağıdaki gibidir.
Exchange üzerinde aşağıdaki komutlar çalıştırılır.
New-AuthServer -Name “WindowsAzureACS” -AuthMetadataUrl https://accounts.accesscontrol.windows.net/atahanozturk.com.tr/metadata/json/1
New-AuthServer -Name “evoSTS” -Type AzureAD -AuthMetadataUrl https://login.windows.net/atahanozturk.com.tr/federationmetadata/2007-06/federationmetadata.xml
Daha sonra aşağıdaki komut ile Partner Application enable edilir.
Get-PartnerApplication | ?{$_.ApplicationIdentifier -eq “00000002-0000-0ff1-ce00-000000000000” -and $_.Realm -eq “”} | Set-PartnerApplication -Enabled $true
Exchange sertifikası exchange üzerinden export edilir.
$ThumbPrint = (Get-AuthConfig).CurrentCertificateThumbprint
If((Test-Path $ENV:SYSTEMDRIVE\OAuthConfig) -eq $false)
{
md $ENV:SYSTEMDRIVE\OAuthConfig
}
CD $ENV:SYSTEMDRIVE\OAuthConfig
$oAuthCert = (dir Cert:\LocalMachine\My) | ?{$_.ThumbPrint -Match $ThumbPrint}
$CertType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
$CertBytes = $oAuthCert.Export($CertType)
$CertFile = “$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer”
[System.IO.File]::WriteAllBytes($CertFile, $CertBytes)Export edilen sertifikayı Azure AD uygulaması sunucusunda c diskine alıp aşağıdaki komutları çalıştırıyorum.
Install-Module MSOnline
Import-Module MSOnline
$Cred = Get-Credential
Connect-MSOLService -Credential $Cred
$CertFile = “$ENV:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer”
$objFSO = New-Object -ComObject Scripting.FileSystemObject
$CertFile = $objFSO.GetAbsolutePathName($CertFile)
$CER = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$CER.Import($CertFile)
$binCert = $cer.GetRawCertData()
$CredValue = [System.Convert]::ToBase64String($binCert)
$ServiceName = “00000002-0000-0ff1-ce00-000000000000”
$P = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName
New-MsolServicePrincipalCredential -AppPrincipalId $P.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue
Daha sonra aşağıdaki gibi service principal name leri kendi domainime göre düzenleyip çalıştıyorum.
$ServiceName = “00000002-0000-0ff1-ce00-000000000000”;
$x = Get-MsolServicePrincipal -AppPrincipalId $ServiceName;
$x.ServicePrincipalnames.Add(https://mail.atahanozturk.com.tr);
$x.ServicePrincipalnames.Add(https://autodiscover.atahanozturk.com.tr);
Set-MSOLServicePrincipal -AppPrincipalId $ServiceName -ServicePrincipalNames $x.ServicePrincipalNames;
Test için aşağıdaki komutu çalıştırıp success ve true olarak komutun çıktısını aldıysanız işlem tamamdır,
Test-OAuthConnectivity -Service EWS -TargetUri https://outlook.office365.com/ews/exchange.asmx -Mailbox emrah.ozturk@atahanozturk.com.tr -Verbose | Format-List
ResultType : Success
Identity : Microsoft.Exchange.Security.OAuth.ValidationResultNodeId
IsValid : True
ObjectState : New
Yorum yazabilmek için oturum açmalısınız.