Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
PowerShell - [решено] Ускорить скрипт AD

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


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

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


Нужно получить свойство INFO всех груп пользователя AD, содержащих в названии "1с". Все усложняется тем, что пользователь находится не в локальном домене, а добавлен в группы через трасты. Тоесть
Get-ADPrincipalGroupMembership $user выдает ошибку, что не может найти пользователя в домене.
Отсюда выресовался вот такой скрипт

Код: Выделить весь код
$g = (Get-ADGroup -Filter * | where name -like "*1c*" ).NAME
$user = $env:username
foreach($r in $g)
{$l = (Get-ADGroupMember $r).SamAccountName
if ($l -eq $user){Write-Host $r}
(Get-ADGroup $r -Properties *).info | Out-File "$ENV:APPDATA\1c\1cestart\ibases.v8i" -Append utf8
}
Работает очень медленно, сейчас парсит около 30 групп, но их будет больше.
Что можно придумать для ускорения?

Отправлено: 12:18, 27-01-2015

 

Ветеран


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

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


Код: Выделить весь код
Get-ADObject -Filter * -SearchBase "CN=ForeignSecurityPrincipals,DC=contoso.com -Properties msds-principalname,memberof | 
	Where {$_."msds-principalname" -eq "name"} | Foreach { $_.memberof -match "1c" | Get-ADGroup -Properties info | Foreach {$_.info}}
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:49, 27-01-2015 | #2



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

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


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


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

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


foreignSecurityPrincipal - прям то, что нужно)
Вот только так не пошло CN=ForeignSecurityPrincipals
переделал так Where {$_."msds-principalname" -like "*$user*" -and $_.ObjectClass -eq "foreignSecurityPrincipal" }

Отправлено: 14:23, 27-01-2015 | #3


Ветеран


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

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


Можно немного ускорить:
Код: Выделить весь код
Get-ADObject -Filter {ObjectClass -eq "foreignSecurityPrincipal"} -Properties msds-principalname,memberof | Where {$_."msds-principalname" -like "*$user*" }
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:31, 27-01-2015 | #4


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


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

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


очень красиво) СПС

Отправлено: 14:44, 27-01-2015 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Скрипт для добавления пользователей в AD Nord18 Скриптовые языки администрирования Windows 4 10-03-2016 15:52
PowerShell - Простой скрипт переименования полей юзера в AD butylin Скриптовые языки администрирования Windows 3 02-07-2013 19:42
CMD/BAT - [решено] Возможно ли ускорить данный скрипт ? dark-------13 Скриптовые языки администрирования Windows 3 20-03-2013 10:56
2008 R2 - Скрипт для перемещения пачки пользователей в AD diga Скриптовые языки администрирования Windows 19 24-01-2012 10:40
VBS/WSH/JS - HELP!. Не работает скрипт заведения пользователей в AD userovich2 Скриптовые языки администрирования Windows 3 24-10-2010 23:17




 
Переход