|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Active directory проблема |
|
PowerShell - Active directory проблема
|
Новый участник Сообщения: 22 |
Нужно изменить этот код так,чтобы искал не пользователя и группу,а группу>всех пользователей в ней>вложенные группы>пользователей вложенной группы и так далее.
Наставник вообще не чего объяснять не хочет.( Скрытый текст
import-module ActiveDirectory Function Get-UserMembership { Param($UserAccount) Process { Try { $Groups = (Get-ADUser -Identity $UserAccount -Properties MemberOf | ` Select-Object MemberOf).MemberOf } Catch { Return $Nothing } $GroupItems = @() ForEach ($Group in $Groups) { $var = $group.split(",") $var1 = $var[0] $ADGroup = $var1.Substring(3) $GrpItems = New-Object -TypeName PSObject -Property @{ Memberof = $ADGroup} $GroupItems += $GrpItems } Return $GroupItems | Sort memberOf } } Function Get-UserMembership_ByName { Param($UserName) Process { Try { $ResultNumber = (Get-ADUser -Filter {Name -eq $UserName} | Measure-Object).Count } Catch { Return $Nothing } If ($ResultNumber -eq 0) { Write-Host "There is no such user in the system." Return $Nothing } ElseIf ($ResultNumber -ge 2) { Write-Host "There are several users in the system with the provided name." ` "Please use the user account way." Return $Nothing } Else { $Groups = (Get-ADUser -Filter {Name -eq $UserName} -Properties memberof | ` Select-Object MemberOf).memberof $GroupItems = @() ForEach ($Group in $Groups) { $var = $group.split(",") $var1 = $var[0] $ADGroup = $var1.Substring(3) $GrpItems = New-Object -TypeName PSObject -Property @{ Memberof = $ADGroup} $GroupItems += $GrpItems } Return $GroupItems | Sort memberOf } } } $UserAccount = $Nothing $UserAccount = Read-Host 'What is the user account? (Type nothing to search by a user name)' If ($UserAccount -eq '') { $UserAccount = Read-Host 'What is the user name? (Last name and first name)' $Result = UserMembership_ByName $UserAccount | Sort Memberof } Else { $Result = Get-UserMembership $UserAccount | Sort Memberof } If ($Result -eq $Nothing) { Write-Host "Nothing is found. The result file is not created." } Else { $OutFile = (Get-Childitem env:USERPROFILE).Value + "\Desktop\$UserAccount.csv" $Result | Export-Csv $OutFile -Delimiter "t" -Encoding UTF8 Write-Host "The result is in $OutFile file." } |
|
Отправлено: 08:02, 02-10-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:52, 02-10-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
|
|
Отправлено: 08:55, 02-10-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать В командную строку PowerShell. В код скрипта PowerShell.
|
Отправлено: 19:20, 02-10-2015 | #4 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
Заместо "Administrators", что можно ещё вписать?(просто он выдаёт трёх реальных пользователей и потом какие-то группы) А мне надо получить группа-пользователи-вложенные группы-пользователи вложенных групп. |
||
Отправлено: 11:21, 07-10-2015 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать 1) Заместо "Administrators" - да, любую группу можно указать
2) (просто он выдаёт трёх реальных пользователей и потом какие-то группы) - Вранье, прежде чем писать, иногда лучше проверять, глупо выглядит. С параметром Recursive - группы никогда не возвращаются. https://gallery.technet.microsoft.co...group-15f725f2 - Get nested group membership - function Get-ADNestedGroupMembers Administrators | Out-GridView |
Отправлено: 10:08, 09-10-2015 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Проблема с перемещением ADObject в Active Directory | d60wizard@vk | Скриптовые языки администрирования Windows | 1 | 08-09-2014 16:02 | |
2008 R2 - Active Directory проблема с внедрением. | Proflex | Windows Server 2008/2008 R2 | 3 | 01-03-2012 18:03 | |
2008 R2 - Проблема с Active Directory; Help :D | Nakamura | Windows Server 2008/2008 R2 | 5 | 22-07-2011 21:12 | |
Active directory проблема!!!! | Jay_2233 | Microsoft Windows NT/2000/2003 | 8 | 17-05-2006 22:05 | |
проблема с DNS в Active Directory | vagner_HATE | Microsoft Windows NT/2000/2003 | 1 | 10-02-2006 10:50 |
|