我有一个简单的脚本,它从Exchange获取所有用户,在文件夹(name.jpg)中扫描他们的照片,然后更新照片。
问题是 - 当它试图改变除我以外的任何人的照片 - 它产生了一个非常大的错误"来自proxxy服务器的错误Set-UserPhoto -Identity $ someone -PictureData:LOTS OF NUMBERS -Change; $假"错误 - 请求条目太大。 以下是使用此脚本的代码的一部分。
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $Session
Connect-MsolService -Credential $cred
[Array]$AllUsers = Get-MsolUser -All | Select-Object DisplayName
$i = 0
$p = 0
$e = 0
Add-Content $logPATH ("`Read Successful`n")
Add-Content $logPATH ("`rPhoto folder path: `n" + $PATH + "\PHOTOS\")
$photoPATH = $PATH + "\PHOTOS\"
foreach ($CurUser in $AllUsers)
{
$i++;
$search = $CurUser.DisplayName + ".jpg"
$curname = $CurUser.DisplayName
$pathp = $photoPATH + $search
if (Test-Path ($pathp))
{
#'photo will be added'
$p++
$photo = ([Byte[]] $(Get-Content -Path $pathp -Encoding Byte -ReadCount 0))
$curname
Try
{
Set-UserPhoto $curname -PictureData $photo #-Confirm:$False
}
Catch
{
Add-Content $ERRORPATH ($_ + "`n")
}
Add-Content $logPATH ("`rDone: Photo updated for user " + $CurUser.DisplayName + "`n")
}
else
{
$e++
Add-Content $logPATH ("`rERROR: Cant find photo for user: " + $CurUser.DisplayName + "`n")
}
}
抱歉英语不好。
编辑:这是填充错误文本: 错误的proxxy服务器" Set-UserPhoto -PictureData:[很多NUMBERS,可能是pic。数据] - 身份:[姓名], - 确认:$ False"对于服务器[我们的服务器] .outlook.com:ServerVersion 15.00.0995,方法PSWS
远程服务器返回错误:(413)请求实体太大... + CategoryInfo:NotSpecified:(:) [Set-UserPhoto],CmdletProxyException + FullyQualifiedErrorId:Microsoft.Exchange.Configuration.CmdletProxyException,Microsoft.Exchange.Management.Reci pientTasks.SetUserPhoto
我的想法 - 条目太大,因为它包含照片的完整代码。但不知何故,它适用于我。
答案 0 :(得分:4)
这是一个已知的错误。我最近在MS开了个案。他们正在努力。您可以为自己的帐户上传最多10K的照片,但对于其他用户,无论您的权利如何,都限制在1K左右。我是一名全球管理员。目前,此过程中您仍然遇到AD同步
答案 1 :(得分:4)
将其添加到会话行的网址中。 ?proxymethod = RPS 所以它看起来像这样。
$ Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ ?proxymethod = rps -Credential $ cred -Authentication Basic -AllowRedirection Import-PSSession $ Session
我从微软支持Patrick Reynolds(Allyis Inc)那里得到了这个