Войти

Показать полную графическую версию : Добавление пользователя в группу AD


rastadmb
25-10-2013, 11:59
Привет всем.
Пишу скрипт привязки пользователей к группам в 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
Adding/removing members from another forest or domain to groups in Active Directory (http://blogs.msdn.com/b/adpowershell/archive/2010/01/20/adding-removing-members-from-another-forest-or-domain-to-groups-in-active-directory.aspx)

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

rastadmb
25-10-2013, 12:59
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
Область действия у группы какая стоит?

rastadmb
25-10-2013, 13:24
Область действия у группы какая стоит?
группа универсальная.

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

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

Kazun
25-10-2013, 13:37
Тогда вывод:
Get-ADUser "corp.group.1"

rastadmb
25-10-2013, 13:50
Тогда вывод:
Get-ADUser "corp.group.1"
и так
Get-ADUser "corp.group.1" - server core.tst.ru

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

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

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

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

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

rastadmb
25-10-2013, 14:56
Тогда вывод:
Get-ADUser "corp.group.1" »
только сейчас заметил
наверное имели ввиду get-adgroup "corp.group.1"

Тогда вывод:
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
Если есть Windows Server 2003,то попробуйте fix - You cannot add a member to a universal group on a Windows Server 2003-based computer (http://support.microsoft.com/kb/923354)

rastadmb
25-10-2013, 15:32
Если есть 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
А если -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
А если -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
Попробуйте воспользоваться 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
Попробуйте воспользоваться 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) »


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




© OSzone.net 2001-2012