Active Directory应用程序MainLogo图片上传期间的Powershell错误

时间:2017-01-05 21:56:14

标签: powershell azure azure-active-directory

我可以使用cmdlet New-AzureADApplication 在powershell中成功创建新的Azure Active Directory应用程序,但是我无法使用PowerShell为我的应用程序添加应用程序徽标。 下面是代码和错误:

Set-AzureADApplication -MainLogo (Get-Content "C:\Users\Test\Logo.png" -encoding BYTE)

错误:

  

Set-AzureADApplication:执行SetApplication时发生错误   StatusCode:BadRequest   ErrorCode:Request_BadRequest   消息:流媒体资产' mainLogo'在有效负载中有一个值。在OData中,stream属性不能有值,它只能使用属性注释。   在行:1个字符:1   + Set-AzureADApplication -MainLogo(Get-Content   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:NotSpecified:(:) [Set-AzureADApplication],ApiException       + FullyQualifiedErrorId:Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.SetApplication

提供的文档here仅提及用法 Set-AzureADApplication [-MainLogo] 但是我找不到任何关于在Set或New-AzureADApplication cmdlet中使用此参数的示例。

非常感谢任何帮助!

谢谢,

2 个答案:

答案 0 :(得分:1)

我尝试了如下命令,并获得相同的错误消息。根据结果​​,我建议提交支持请求here

[Byte[]]$logo=Get-Content "C:\Users\someuser\Desktop\test.png" -encoding BYTE
Set-AzureADApplication -ObjectId "46dcfdd9-e0c4-4623-8139-73936a716034" -MainLogo $logo

但是,作为替代方案,您仍然可以在Azure门户上载徽标。只需登录Azure门户,您可以从左侧面板中选择 Azure Active Directory 扩展,并从企业应用程序中查找特定应用程序。在属性中,您可以上传徽标。

enter image description here

答案 1 :(得分:0)

-MainLogo仅接受字节类型。它不会接受任何类似的文件。

  

[ - MainLogo]

您可以将其用于转换:

Param([String]$path)
[convert]::ToBase64String((get-content $path -encoding byte))

希望它有所帮助。