Question:
I’m a global admin for our 365 environment and I’m having an issue with the Set-UserPhoto command in powershell. If I run it for my own username, it works just fine but if I run it using anyone else’s username, it errors. Is there some kind of access I need to give myself to make this work? I’m a domain admin and global administrator in 365 so I should be able to do anything.
Connected through PowerShell 3.0 using the following:
1 2 3 4 |
$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/?proxyMethod=RPS -Credential $UserCredential -Authentication Basic -AllowRedirection Import-PSSession $Session |
Command I’m running:
1 2 |
Set-UserPhoto –Identity username -PictureData ([System.IO.File]::ReadAllBytes("C:\userpics\username.jpg")) |
Works fine for my username, for any other username I get this:
Error on proxy command ‘Set-UserPhoto -Identity:’username’ -PictureData: Tons of numbers here that scrolls for quite a while -Confirm:$False’ to server BN3PR0201MB1027.namprd02.prod.outlook.com: Server version 15.01.0534.0000, Proxy method
RPS:
The WinRM client cannot process the request. The connection string should be of the form
[://][:][/] where transport is one of “http” or “https”. Transport, port and suffix are
optional. The host may be a hostname or an IP address. For IPv6 addresses, enclose the address in brackets – e.g.
“http://[1::2]:80/wsman“. Change the connection string and try the request again. .
+ CategoryInfo : NotSpecified: (:) [Set-UserPhoto], CmdletProxyException
+ FullyQualifiedErrorId : Microsoft.Exchange.Configuration.CmdletProxyException,Microsoft.Exchange.Management.Reci
pientTasks.SetUserPhoto
+ PSComputerName : outlook.office365.com
Answer:
just ran into the exact same problem.
the solution was to run Microsoft Azure Active Directory Module for Windows PowerShell ‘as administrator’ (Elevated)
as seen here https://www.blackforce.co.uk/2016/09/23/set-userphoto-error-proxy-command