PowerTip: Используем PowerShell для получения списка членов группы – Hey, Scripting Guy! Blog

Резюме: Узнайте, как получить список членов группы при помощи Windows PowerShell.

Q: Я хочу получить список членов определенной группы в Active Directory. Мне нужно, чтобы в списке присутствовали даже те, кто входит в нее через другие группы (неявно). Что я могу сделать?

A: Используйте командлет Get-ADGroupMember из модуля ActiveDirectory и укажите параметр –Recursive.

Get-ADGroupMember -Identity ‘Domain Admins’ –Recursive

Автор:

Ed Wilson, Microsoft Scripting Guy

Оригинал:

http://blogs.technet.com/b/heyscriptingguy/archive/2013/02/06/powertip-use-a-powershell-cmdlet-to-find-group-membership.aspx


Страницы в социальных сетях:

Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell


Реклама

2 ответ. на "PowerTip: Используем PowerShell для получения списка членов группы – Hey, Scripting Guy! Blog"

  1. Вячеслав Декабрь 8, 2015 / 13:55

    А если в группе есть контакты а не полноценные пользователи? Тогда команда не отрабатывается по ним.

    • Сергей Васин Март 14, 2016 / 15:22

      Командлет Get-ADGroupMember возвращает только объекты пользователей, групп и компьютеров. Для того, чтобы получить в том числе и контакты, можно использовать скрипт. Например, такой:

      function getAdGroupMembers
      {
      
          param(
          [string[]]$GroupName = $(throw("Specify GroupName"))
          )
      
          [Microsoft.ActiveDirectory.Management.ADObject[]]$Global:out=$null
          $Classes = "user","contact"
      
          while($GroupName)
          {
              $GroupName =  expandGroup -GroupName $GroupName
          }
      
          return $Global:out
      }
      
      function expandGroup
      {
          param(
              [Parameter(Mandatory=$True)]
              [string[]]$GroupName
          )
      
          $GroupMembers = $null
      
          foreach($entry in $GroupName)
          {
              $ADGroup = Get-ADGroup -Identity $entry -Properties members
              $GroupMembers += $ADGroup.Members
          }
          
          $Global:out += $GroupMembers | Get-ADObject | ? {($_.ObjectClass -In $Classes) -and ($_.DistinguishedName -notin $out.DistinguishedName)}
          return $GroupMembers | Get-ADObject | ? ObjectClass -eq 'group'
      }
      
      getAdGroupMembers -GroupName "SomeGroupName"
      

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s