Office 365 Powershell - получение LastPasswordChangeStamp для членов группы безопасности - PullRequest
1 голос
/ 20 июня 2020

Я надеюсь, что кто-нибудь сможет дать совет. Я пытаюсь создать сценарий Powershell, который позволяет мне получить LastPasswordChangeStamp для членов определенной группы безопасности c. Группа, с которой я тестирую, состоит из 10 членов, но когда я запускаю сценарий, он ведет себя следующим образом:

  • Успешно работает без ошибок
  • Возвращает 80 результатов (8 x 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

}

Я не понимаю, почему он зацикливается несколько раз, и надеялся, что кто-то может дать какие-то рекомендации, где я ошибаюсь.

Спасибо за помощь

1 Ответ

1 голос
/ 21 июня 2020

Проблема здесь в вашем foreach L oop. вы говорите, что для каждого члена группы получите всех пользователей всего вашего клиента и отобразите их отображаемое имя и метку времени изменения пароля.

вы можете заменить весь этот foreach l oop на

$securityGroupMembers | get-msoluser  | select DisplayName, LastPasswordChangeTimeStamp

просто удалите весь foreach l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...