我可以使用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中使用此参数的示例。
非常感谢任何帮助!
谢谢,
答案 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 扩展,并从企业应用程序中查找特定应用程序。在属性中,您可以上传徽标。
答案 1 :(得分:0)
-MainLogo仅接受字节类型。它不会接受任何类似的文件。
[ - MainLogo]
您可以将其用于转换:
Param([String]$path)
[convert]::ToBase64String((get-content $path -encoding byte))
希望它有所帮助。