Get-UserPhoto Hatası: Burada saklanan fotoğraf yok
23 Ağustos 2023'te Exchange Online PowerShell, kullanıcı fotoğraflarını alırken hata vermeye başladı.
Sorun özellikle aşağıdaki EXO PowerShell komutunu çalıştırırken görülüyor:
PS C:\> Get-UserPhoto -Identity lene.hauAşağıdaki "çöp" hata mesajı üretilmeden önce komut yaklaşık bir dakika süreyle askıda kalacaktır:
Write-ErrorMessage : |Microsoft.Exchange.Configuration.CmdletProxyException|Error on proxy command
'Get-UserPhoto -Identity:'CN=Lene Hau,OU=e365m.onmicrosoft.com,OU=Microsoft Exchange Hosted
Organizations,DC=EURPR09A010,DC=PROD,DC=OUTLOOK,DC=COM'' to server PR2PR09MB3001.eurprd09.prod.
outlook.com: Server version 15.20.6699.0000, Proxy method PSWS:
InternalServerError: Error executing cmdlet : {
"code": "InternalServerError",
"message": "Error executing cmdlet",
"details": [
{
"code": "Client",
"target": "EURPR09A010.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/e365m.
onmicrosoft.com/Lene Hau",
"message": "|Microsoft.Exchange.Data.Storage.UserPhotoNotFoundException|There is no photo
stored here."
}
],
"innererror": {
"message": "Error executing cmdlet",
"type": "Microsoft.Exchange.Admin.OData.Core.ODataServiceException",
"stacktrace": " at Microsoft.Exchange.AdminApi.CommandInvocation.CommandInvocation.
InvokeCommand(QueryContext queryContext, CmdletInvokeInputType cmdletInvokeInputType)\r\n at
Microsoft.Exchange.Admin.OData.Core.PathSegmentToExpressionTranslator.Translate(
OperationImportSegment segment)\r\n at Microsoft.Exchange.Admin.OData.Core.QueryContext.
ResolveQuery(ODataContext context, Int32 level)\r\n at Microsoft.Exchange.Admin.OData.Core.
Handlers.OperationHandler.Process(IODataRequestMessage requestMessage, IODataResponseMessage
responseMessage)\r\n at Microsoft.Exchange.Admin.OData.Core.Handlers.RequestHandler.Process
(Stream requestStream)",
"internalexception": {
"message": "Exception of type 'Microsoft.Exchange.Management.PSDirectInvoke.
DirectInvokeCmdletExecutionException' was thrown.",
"type": "Microsoft.Exchange.Management.PSDirectInvoke.DirectInvokeCmdletExecutionException",
"stacktrace": " at Microsoft.Exchange.Management.PSDirectInvoke.PSDirectInvokeCmdletFactory.
InvokeCmdletInternal[TCmdlet,TResult](Func`1 createCmdlet, Action`1 setParameterDelegate,
List`1 captureAdditionalIO, List`1 directInvokeExceptions, Boolean
shouldAllowProactiveProxyToReturnRoutingHint)"
}
},
"adminapi.warnings@odata.type": "#Collection(String)",
"@adminapi.warnings": []
}.
At C:\Users\Skrubbeltrang\AppData\Local\Temp\tmpEXO_z2hcndsv.xxg\tmpEXO_z2hcndsv.xxg.psm1:1178
char:13 Write-ErrorMessage $ErrorObject
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-UserPhoto], CmdletProxyException
+ FullyQualifiedErrorId : [Server=AM7PR09MB3877,RequestId=ffda7356-3e07-f3f9-dae6-6529b7069d2f,
TimeStamp=Wed, 23 Aug 2023 13:49:51 GMT],Write-ErrorMessageSorunu ilk kez kaydettiğimizde Exchange Online sağlık durumunda hiçbir hata listelenmiyordu.
Ayrıca bu, Exchange Online kullanıcı fotoğraflarıyla ilgili olarak tuhaf davranışlar gözlemlediğimiz ilk sefer değil.
2022'nin başlarında, Get-UserPhoto komutunu kullanarak boş (boş) bir kullanıcı fotoğrafının alınması, anında bir hata mesajı vermekten, bir dakikalık beklemeye ve ardından bir hata mesajına dönüştü.
Microsoft, bu davranış değişikliğine ilişkin hiçbir zaman kamuya açık bir açıklama sunmadı ve komut dosyamızda, kullanıcı fotoğrafını almadan önce posta kutusunun "HasPicture" özelliğini kontrol etmek için bir geçici çözüm oluşturduk.
Yanlışlıkla "müşteriler için hiçbir şeyin değişmeyeceğini" ve "kimsenin fark etmeyeceğini" varsayarak Exchange Online altyapısında habersiz değişiklikler yapılması oldukça endişe vericidir.
Bu sorunun çözülüp çözülmeyeceğini veya Exchange Online'da kötü planlanmış başka bir değişiklik olarak kaydedilip kaydedilmeyeceğini yakından takip ediyoruz.
*** GÜNCELLEME I 2023-08-25***
İki gün içinde Microsoft'tan bu konuda (İş Ortağı Desteği aracılığıyla oluşturulan bilet) herhangi bir geri bildirim almadık.
Desteğin kalitesine pek inancımız olmadığından biraz araştırma yaptık ve aynı işlevselliğin MS Graph PowerShell API'sinde de mevcut olduğunu gördük:
Get-MgUserPhotoContent -UserId lene.hau@azure.skrubbeltrang.com -OutFile c:\tmp\LeneHau.jpgSon sözler: İnanılmaz derecede hayal kırıklığı yaratıyor ve EXO PowerShell API'nin bir kısmının Microsoft'tan herhangi bir iletişim olmadan (öncesi veya sonrası) bir dakikadan diğerine çalışmayı durdurması endişe verici.
Komut dosyası yazmaya güvenen ve çoğu zaman sınırları zorlayan uygulama geliştiricileri ve meşgul sistem yöneticileri için hayatı çok zorlaştırır.
*** Güncelleme II 2023-09-01 ***
Ve şimdi bir müşterimizden Get-UserPhoto'nun yeniden çalıştığına dair geri bildirim aldık ve bunu kendi kiracımızda doğrulayabiliriz.
Get-UserPhoto'da yaklaşık bir hafta boyunca küresel bir kesinti yaşandı.
Microsoft'tan ne olduğuna dair sıfır bilgi geldi ve sorun Exchange Online sağlık monitöründe hiç gündeme gelmedi... Hımmm...
