Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Добавление пользователя в группу AD (http://forum.oszone.net/showthread.php?t=270650)

rastadmb 25-10-2013 11:59 2240824

Добавление пользователя в группу AD
 
Привет всем.
Пишу скрипт привязки пользователей к группам в active directory.
основные куски кода:

Код:

$server_group =core.tst.ru
$server1 =depart1.tst.ru
 
$group = get-adgroup test1 -server $server_group
$user = get-aduser -filter ('name -eq "Иван ИВАНОВ"') -server $server1
 
add-adgroupmember $group $user

Когда сервера совпадают, то пользователи прекрасно добавляются в группу.
Но когда пытаюсь добавить пользователя с другого сервера валит ошибку. В чем может быть беда???
заранее скажу пользователя находит в любом вмонтированном(new-psdrive) серверe.

Собственно ошибка:
Код:

PS> add-adgroupmember $group $user -verbose
ПОДРОБНО: Выполнение операции "Set" над целевым объектом "CN=corp.group.1,OU=corp,OU=Security
Groups,DC=core,DC=tst,DC=ru".
Add-ADGroupMember : Указан недопустимый тип группы
строка:1 знак:18
+ add-adgroupmember <<<<  $group $user -verb
    + CategoryInfo          : NotSpecified: (CN=corp.group.1...DC=tst,DC=ru:ADGroup) [Add-ADGroupMember], ADExcepti
  on
    + FullyQualifiedErrorId : Указан недопустимый тип группы,Microsoft.ActiveDirectory.Management.Commands.AddADGroupM
  ember


Kazun 25-10-2013 12:08 2240830

Adding/removing members from another forest or domain to groups in Active Directory

$forestBBBUser = Get-ADUser swami -Server $forestBBB
Add-ADGroupMember Administrators -Members $forestBBBUser

rastadmb 25-10-2013 12:59 2240858

Цитата:

Adding/removing members from another forest or domain to groups in Active Directory
$forestBBBUser = Get-ADUser swami -Server $forestBBB
Add-ADGroupMember Administrators -Members $forestBBBUser
прошу прощения а можно более доходчивый ответ в чем разница ?
PS не понимает что вторым параметром идет объект members и предлагает его указать явно (-Members) или его смущает чот группа передается тоже объектом а не через имя ?

Kazun 25-10-2013 13:06 2240863

Область действия у группы какая стоит?

rastadmb 25-10-2013 13:24 2240879

Цитата:

Область действия у группы какая стоит?
группа универсальная.

Прямые тесты из ADAC(active directory administrative center ) показывают что запись возможна.

Может при работе с разными доменами используются другие команды?? О_о

Kazun 25-10-2013 13:37 2240887

Тогда вывод:
Get-ADUser "corp.group.1"

rastadmb 25-10-2013 13:50 2240898

Цитата:

Тогда вывод:
Get-ADUser "corp.group.1"
и так
Get-ADUser "corp.group.1" - server core.tst.ru

в любом случае ГРУППУ он находит точно также как и находит пользователя из любого доменного сервера преждевременно смонтированного.

но беда наступает именно когда я пытаюсь привязать пользователя из другого домена к группе(пробовал и так и так adgroupmember и ADPrincipalGroupMembership )
те если пользователь с этого же домена то все привязывается на ура.
похожая проблема описана тут(http://powershell.org/wp/forums/topi...-domainbgroup/) но без ответа также.

При всем этом пользователя можно привязать через ADAC(active directory administrative center).

Может настройки какие не так проставлены?

Может для привязки пользователей с разных доменов необходимы какие то специфические права?

rastadmb 25-10-2013 14:56 2240931

Цитата:

Цитата Kazun
Тогда вывод:
Get-ADUser "corp.group.1" »

только сейчас заметил
наверное имели ввиду get-adgroup "corp.group.1"

Цитата:

Цитата Kazun
Тогда вывод:
Get-ADUser "corp.group.1" »


Код:

CanonicalName                  : core.tst.ru/Security Groups/corp/corp.group.1
CN                              : corp.group.1
Created                        : 07.10.2013 10:46:31
createTimeStamp                : 07.10.2013 10:46:31
Deleted                        :
Description                    :
DisplayName                    :
DistinguishedName              : CN=corp.group.1,OU=corp,OU=Security Groups,DC=core,DC=tst,DC=ru
GroupCategory                  : Security
GroupScope                      : Universal
groupType                      : -2147483640
HomePage                        :
instanceType                    : 4
isDeleted                      :
LastKnownParent                :
ManagedBy                      : CN=Горе программист,CN=Users,DC=core,DC=tst,DC=ru
MemberOf                        : {}
Members                        : {}
Modified                        : 07.10.2013 10:51:54
modifyTimeStamp                : 07.10.2013 10:51:54
Name                            : corp.group.1
nTSecurityDescriptor            : System.DirectoryServices.ActiveDirectorySecurity
ObjectCategory                  : CN=Group,CN=Schema,CN=Configuration,DC=core,DC=tst,DC=ru
ObjectClass                    : group
ObjectGUID                      : ff853fbb-bf3f-475c-a273-a4869fb9e038
objectSid                      : S-1-5-21-632472379-3616353813-27649973-15318
ProtectedFromAccidentalDeletion : False
SamAccountName                  : corp.group.1
sAMAccountType                  : 268435456
sDRightsEffective              : 0
SID                            : S-1-5-21-632472379-3616353813-27649973-15318
SIDHistory                      : {}
uSNChanged                      : 79560587
uSNCreated                      : 79560286
whenChanged                    : 07.10.2013 10:51:54
whenCreated                    : 07.10.2013 10:46:31


Kazun 25-10-2013 15:09 2240941

Если есть Windows Server 2003,то попробуйте fix - You cannot add a member to a universal group on a Windows Server 2003-based computer

rastadmb 25-10-2013 15:32 2240952

Цитата:

Если есть Windows Server 2003,то попробуйте fix - You cannot add a member to a universal group on a Windows Server 2003-based computer
спасибо у нас уже стоит второй сервис пак
:(

Kazun 25-10-2013 15:43 2240954

А если -Server добавить к add-adgroupmember?

add-adgroupmember $group $user -Server depart1.tst.ru
add-adgroupmember $group $user -Server depart1.tst.ru:3268

И вместе с Credential?
add-adgroupmember $group $user -Server depart1.tst.ru -Credential ""
add-adgroupmember $group $user -Server depart1.tst.ru:3268 -Credential ""

rastadmb 28-10-2013 06:23 2242284

Цитата:

Цитата Kazun
А если -Server добавить к add-adgroupmember?
add-adgroupmember $group $user -Server depart1.tst.ru
add-adgroupmember $group $user -Server depart1.tst.ru:3268
И вместе с Credential?
add-adgroupmember $group $user -Server depart1.tst.ru -Credential ""
add-adgroupmember $group $user -Server depart1.tst.ru:3268 -Credential "" »

Попробовал :( не вышло.
а для работы с АД кроме того как монтировать новый psdrive может необходимо выполнять еще какие либо действия?

Kazun 28-10-2013 09:45 2242331

Попробуйте воспользоваться ADSI:

Код:

$Group = [ADSI]"LDAP://CN=corp.group.1,OU=corp,OU=SecurityGroups,DC=core,DC=tst,DC=ru"
$User = [ADSI]"LDAP://CN=user1,CN=Users,DC=depart1,DC=tst,DC=ru"

$Group.Add($User.ADsPath)


rastadmb 29-10-2013 07:28 2242979

Цитата:

Цитата Kazun
Попробуйте воспользоваться ADSI:
Код:
$Group = [ADSI]"LDAP://CN=corp.group.1,OU=corp,OU=SecurityGroups,DC=core,DC=tst,DC=ru"
$User = [ADSI]"LDAP://CN=user1,CN=Users,DC=depart1,DC=tst,DC=ru"
$Group.Add($User.ADsPath) »


Работает.
Спасибо.
но вопрос в моей голове всеравно остался буду время от времени мониторить.


Время: 05:26.

Время: 05:26.
© OSzone.net 2001-