Expand Powershell output from a Microsoft Online Services Module
I read through quite a bit of troubleshooting information trying to get Powershell to fully expand the output of commands from a MS Online Service Module—in this case, Exchange Online.
I kept getting outputs with ellipses:
Get-DistributionGroup -Identity examplegroup@example.com | Format-table -Wrap -Autosize -Property Name,Acceptmessagesonlyfrom
AcceptMessagesOnlyFrom
----------------------
{Office of the President, Bob Smith, Bob Jones, Bob Doe...}
The way Powershell is handling this output is frustrating to me. I am not used to a scripting language cleaning up its output to look pretty, unless I specify some filtering options.
I played around with multiple versions of -wrap
or -autosize
and a ton of other arguments thinking it was an issue with format-table
. The problem in this case is actually a quirk in the MS module, not the Powershell format-table
or format-list
command.
Luckily, this Stack Overflow post[A] has the solution to set the following:
$FormatEnumerationLimit=-1
... and then run your commands.
I was trying to run the following command to see which users had permissions to email a distribution group with a send-from restriction:
Connect-ExchangeOnline
$FormatEnumerationLimit=-1
Get-DistributionGroup -Identity XXX | Format-table -Wrap -AutoSize -property acceptmessagesonlyfrom