Office 365 için script hazırladınız. Task scheduler da sürekli çalışmakta. Farkettiniz ki script çalışmamaya başlamış. Adım adım sorunları tespit etmeye kalkıştığımızda gördüm ki, sürekli Office 365e connect olmaya çalışıyorum. Eğer session var ise script session var diyerek hata vermekte ve scriptin bir sonraki adımlarına geçmemekte.
Bu sorunu çözmek için session durumlarını sorgulayarak eğer session var ise connect-exchangeonline adımlarını gerçekleştirmeden diğer adımlara geçmesini, eğer session yok ise connect-exchangeonline adımlarının uygulanması için basit bir döngü eklemek gerektiğini farkettim.
Scriptimin başına aşağıdaki 5 satırı ekleyerek öncelikle session durumunu kontrol ediyorum, session mevcut ise diğer satırlara atlyıorum session yok ise Connect-ExchangeOnline diyerek session başlatıyorum.
$getsessions = Get-PSSession | Select-Object -Property State, Name
$isconnected = (@($getsessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0
If ($isconnected -ne "True") {
Connect-ExchangeOnline -Credential $cred
}
Bir yanıt yazın