Office 365 Powershell - 获取安全组成员的 LastPasswordChangeStamp

Office 365 Powershell - Get LastPasswordChangeStamp for members of a security group

我希望有人能够提供一些指导。我正在尝试构建一个 Powershell 脚本,使我能够为特定安全组的成员获取 LastPasswordChangeStamp。我正在测试的组有 10 个成员,但是当我 运行 脚本时,它的行为如下:

代码如下:

#Define the Security Group
$securityGroup = Get-MsolGroup -GroupType “Security” | Where-Object {$_.DisplayName -eq “GroupName”}

# Get Members
$securityGroupMembers = Get-MsolGroupMember -GroupObjectId $securityGroup.ObjectId

# Iterate each user
ForEach($Member in $securityGroupMembers){

    #Get underlying msol user
    #$user = Get-MsolUser -ObjectId -$mUser.ObjectId

    #Determine password age
    Get-MsolUser | select DisplayName, LastPasswordChangeTimeStamp

}

我不明白为什么它会循环多次,希望有人能就我哪里出错提供一些指导。

感谢您的帮助

此处的问题出在您的 foreach 循环中。你是说对于组中的每个成员,获取整个租户中的所有用户,并显示他们的显示名称和上次密码更改时间戳。

您可以用

替换整个 foreach 循环
$securityGroupMembers | get-msoluser  | select DisplayName, LastPasswordChangeTimeStamp

只需删除整个 foreach 循环。