sergey vasin

The IT blog

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

2 комментария

Резюме: Узнайте, как получить список членов группы при помощи 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


Реклама

Written by Сергей Васин

Март 26, 2013 в 10:53

Опубликовано в HeyScriptingGuyBlog, PowerShell

Tagged with

комментария 2

Subscribe to comments with RSS.

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

    Вячеслав

    Декабрь 8, 2015 at 13:55

    • Командлет 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"
      

      Сергей Васин

      Март 14, 2016 at 15:22


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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s