Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сравнение двух групп AD

Ответить
Настройки темы
PowerShell - [решено] Сравнение двух групп AD

Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Помогите кто может =( Есть следующая задача.
Есть две группы в AD необходимо сравнить их по пользователям, и если пользователь есть в обоих то вывести в файл SamAccountName, DisplayName и мена групп в которые включен данный пользователь, но не всех, а только тех групп в названии которых встречается сочетание IT.
То есть :
Если пользователь PetrovPP состоит в группе 1 и группе 2 то в результат должен получиться следующий:
PetrovPP Петров П.П. slg-IT40 dllg-IT

На текущий момент у меня получается только сравнивать 2 группы и выводить в файл =(

Код: Выделить весь код
Get-ADUser -Filter "memberOf -RecursiveMatch Get-AdGroup User1gr -and memberOf -RecursiveMatch Get-AdGroup User2gr " -Properties DisplayName | Select SamAccountName, DisplayName | Out-File "C:\tmp\report.txt" -Encoding UTF8

Отправлено: 08:11, 22-12-2017

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Get-ADUser -Filter "memberOf -RecursiveMatch '$gr1' -and memberOf -RecursiveMatch '$gr2'" -Properties DisplayName | Foreach {
	$gr = (Get-ADPrincipalGroupMembership $_.SamAccountName | Where {$_.Name -match "IT"} | Foreach {$_.Name}) -join " "
	"{0} {1} {2}" -f $_.SamAccountName,$_.DisplayName,$gr 
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:55, 22-12-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Огромное спасибо! А как заставить выводить полученные данные в файл? Out-File "C:\tmp\report.txt" -Encoding UTF8 не хочет выполнять =(

Отправлено: 09:41, 22-12-2017 | #3


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Данный вариант к сожалению не работает выдает одну и туже ошибку и нет результатов. Без
Код: Выделить весь код
Out-File "C:\tmp\report.txt" -Encoding UTF8
результат такой же!

Код: Выделить весь код
PS C:\Users\User1> $f = "C:\Temp\test.txt"
PS C:\Users\User1> $gr1 = Get-AdGroup SL-Olluser
PS C:\Users\User1> $gr2 = Get-AdGroup SGL-UsersVHD
PS C:\Users\User1> Get-ADUser -Filter "memberOf -RecursiveMatch '$gr1' -and memberOf -RecursiveMatch '$gr2'" -Prop
erties DisplayName | Foreach { $gr = (Get-ADPrincipalGroupMembership $_.SamAccountName | Where {$_.Name -match "RTD"} |
 Foreach {$_.Name}) -join " ""{0} {1} {2}" -f $_.SamAccountName,$_.DisplayName,$gr } | Out-File $f -Encoding UTF8

Exception of type 'System.OutOfMemoryException' was thrown.
строка:1 знак:127
+ Get-ADUser -Filter "memberOf -RecursiveMatch '$gr1' -and memberOf -RecursiveMatc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], OutOfMemoryException
    + FullyQualifiedErrorId : System.OutOfMemoryException

Insufficient memory to continue the execution of the program.
строка:1 знак:127
+ Get-ADUser -Filter "memberOf -RecursiveMatch '$gr1' -and memberOf -RecursiveMatc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], OutOfMemoryException
    + FullyQualifiedErrorId : System.OutOfMemoryException

Insufficient memory to continue the execution of the program.
строка:1 знак:127
+ Get-ADUser -Filter "memberOf -RecursiveMatch '$gr1' -and memberOf -RecursiveMatc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], OutOfMemoryException
    + FullyQualifiedErrorId : System.OutOfMemoryException

Отправлено: 11:47, 23-12-2017 | #4


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Увеличение
Код: Выделить весь код
MaxMemoryPerShellMB
почти в 3 раза, до 3 Гб не дало результата =( Ошибка та же осталась

Отправлено: 14:08, 23-12-2017 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Сравнение двух групп AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Сравнение 2 групп AD Johny_spb Скриптовые языки администрирования Windows 2 10-02-2017 14:41
Любой язык - [решено] Скрипт создания групп в AD SHASHLIK Скриптовые языки администрирования Windows 5 02-07-2015 12:47
Любой язык - Поиск групп AD начинающихся на ... SkyNezu Скриптовые языки администрирования Windows 9 25-02-2015 15:49
PowerShell - Сравнение групп powershell x-sept Скриптовые языки администрирования Windows 0 25-07-2012 15:03
Сравнение двух процов Rozmen Хочу все знать 4 03-08-2008 12:35




 
Переход