Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » PowerShell AD MemberOf получить группу пользователя

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

daMIR



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
 
Нашел в гугле код (выводит список пользователей, которые давно не логинились):

Код:
 
# Блок переменных
# $LDAPPath – ADSI путь к контейнеру с учетными записями пользователей и компьютеров (в формате LDAP://distinguishedName)
# $Mode - Режим поиска учетных записей (1 - Пользователи, 2 - Компьютеры)
# $CountDisabled – Признак необходимости обработки отключенных учетных записей (1 или 0)
# $LastLogonAgeDaysLimit - Количество дней прошедших с момента последнего входа в систему
#
$LDAPPath = 'LDAP://OU=Accounts,DC=holding,DC=com'
$Mode = 1
$CountDisabled = 0
$LastLogonAgeDaysLimit = 90
#
# Блок поиска
#
$RootDomainOU = [ADSI]$LDAPPath
$Searcher = New-Object System.DirectoryServices.DirectorySearcher($RootDomainOU)
If ($Mode -eq 1) {$Filter = '(objectCategory=person)(objectClass=user)'}
ElseIf ($Mode -eq 2) {$Filter = '(objectCategory=computer)'}
If ($CountDisabled -eq 0) {$Filter = $Filter + '(!(userAccountControl:1.2.840.113556.1.4.803:=2))'}
$Filter = '(&' + $Filter + ')'
$Searcher.Filter = $Filter
$Searcher.PageSize = 5000
[Void]$Searcher.PropertiesToLoad.Add('cn')
[Void]$Searcher.PropertiesToLoad.Add('sAMAccountName')
[Void]$Searcher.PropertiesToLoad.Add('description')
[Void]$Searcher.PropertiesToLoad.Add('lastLogonTimestamp')
$Objects = $Searcher.findall()
#
# Блок основного вывода  
#
$LLDays = (Get-Date).AddDays(-$LastLogonAgeDaysLimit).ToFileTime()
$OldObjects = $Objects | Where-Object {$_.properties.lastlogontimestamp -le $LLDays}
$OldObjects | Select `
@{label='Object Name';expression={$_.properties.cn}},`
@{label='sAMAccountName';expression={$_.properties.samaccountname}},`
@{label='Last Logon Timestamp';expression={[datetime]::FromFileTime(($_.properties.lastlogontimestamp)[0])}},`
@{label='Description';expression={$_.properties.description}}`
| Sort -Property 'Last Logon Timestamp'`
| Format-Table –AutoSize
Write-Host '---------------------------------------------------'
write-host 'Domain accounts in OU:' $Objects.Count
write-host 'Domain accounts with old lastLogonTimestamp:' $OldObjects.Count
Write-Host '---------------------------------------------------'
 

 
Изменил путь до своего АД, все в порядке, все работает. Хочу доработать код так, чтобы он выводил название группы у найденного пользователя. В AD есть конкретная OU, в которой хранится список групп. Вот мне нужно название не всех групп пользователя, а только группы из конкретной OU.  
Т.е. получить у одного из параметров MemberOf значение CN по заданной OU
 
Не могу сообразить, как скорректировать код. Гуглю, но пока не нашел решения. Прошу помощи.

Всего записей: 1757 | Зарегистр. 14-03-2004 | Отправлено: 14:48 09-10-2015
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
daMIR
Цитата:
Прошу помощи
Подумать для начала головой, найти правильную тему. там спросить.
Windows PowerShell 1.x/2.x/CTP

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 14:58 09-10-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » PowerShell AD MemberOf получить группу пользователя


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru