【发布时间】:2015-06-11 02:42:14
【问题描述】:
我有一个小脚本可以从 Exchange 2013 服务器获取所有用户移动设备信息。
Get-Mailbox -ResultSize Unlimited |
ForEach {Get-MobileDeviceStatistics -Mailbox:$_.Identity} |
Select-Object @{label="User" ; expression={$_.Identity}},DeviceOS, lastsuccesssync
我只想获得一个准确的用户名,而不是 AD 中的路径。我怎么能在expression={?}中做到这一点
这是另一个脚本,它给了我用户名,但属于用户的所有设备不是分开的,它们都在一行中......
$EASMailboxes = Get-CASMailbox -Filter {HasActiveSyncDevicePartnership -eq $True -and DisplayName -notlike "CAS_{*"} | Get-Mailbox
$EASMailboxes | Select-Object DisplayName, PrimarySMTPAddress, @{Name="Mobile Devices";Expression={(Get-MobileDeviceStatistics -Mailbox $_.Identity).DeviceOS}} |
Out-GridView
【问题讨论】:
-
用户名当前是什么样的?你能用那个更新问题吗?
-
它看起来像这样
domain.com/Users/OU/UserName/ExchangeActiveSyncDevices/iPhone。所以我使用这个expression={$_.Identity -split "/" | select -last -3}来获取名字,但它给了我最后三个单词...我只需要倒数第三个 -
在那种情况下,这不是问题,但所有用户名都在同一个 ou 中吗?你可以从
Get-Mailbox那里得到它,你已经知道了。 -
@Matt,是的,你是对的,这将是另一个问题。我更新了另一个脚本,这个脚本给了我用户名,但属于用户的所有设备都在一行中,我将每个设备放在单独的行中
标签: powershell exchange-server exchange-server-2013