Powershell 指定日期范围内没有该用户的用户会话数据
我正在使用以下查询从o365 skype for business service检索指定日期范围内的用户会话信息Powershell 指定日期范围内没有该用户的用户会话数据,powershell,Powershell,我正在使用以下查询从o365 skype for business service检索指定日期范围内的用户会话信息 $mbxes = Get-CsOnlineUser | select UserPrincipalName $startTime = "5/1/2018" foreach ($mbx in $mbxes) { Get-CsUserSession -User $mbx -StartTime $startTime } 运行此查询会对我正在检索的所有邮箱发出以下警告: WARNING
$mbxes = Get-CsOnlineUser | select UserPrincipalName
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx -StartTime $startTime
}
运行此查询会对我正在检索的所有邮箱发出以下警告:
WARNING: There is no user session data for the user @{UserPrincipalName=account1@companyX.onmicrosoft.com} within the specified date range 01/05/2018 00:00:00 -07:00 to
11/06/2018 05:22:31 -07:00.
但是,当我仅运行此命令时:
$mbxes = "account1@companyX.onmicrosoft.com"
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx -StartTime $startTime
}
我正在获取响应此邮箱的所有会话数据。
我想知道为什么当我创建一个包含所有邮箱地址的变量时,即使会话数据存在,也不返回数据。用户:
@{UserPrincipalName=account1@companyX.onmicrosoft.com}
不是有效的userPrincipalName
更改此项:
$mbxes = Get-CsOnlineUser | select UserPrincipalName
致:
请参阅:在第一个命令中包括
|选择UserPrincipalName
。这将把$mboxes
分配为一个只具有UserPrincipalName
属性的对象数组
从第二个命令看,似乎Get CsUserSession
希望-User
参数是字符串,但您仍在传递一个对象。您可能可以使用以下任一方法解决此问题:
将UserPrincipalName
展开为一个字符串,那么就有了一个字符串数组:
$mbxes = Get-CsOnlineUser | select -ExpandProperty UserPrincipalName
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx -StartTime $startTime
}
展开以获取字符串数组的另一种方法:
$mbxes = (Get-CsOnlineUser).UserPrincipalName
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx -StartTime $startTime
}
获取会话时显式选择属性:
$mbxes = Get-CsOnlineUser | select UserPrincipalName
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx.UserPrincipalName -StartTime $startTime
}
或者使用
(Get-CsOnlineUser)。UserPrincipalName
@Avshalom非常感谢您的回答!
$mbxes = Get-CsOnlineUser | select UserPrincipalName
$startTime = "5/1/2018"
foreach ($mbx in $mbxes) {
Get-CsUserSession -User $mbx.UserPrincipalName -StartTime $startTime
}