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

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

x-sept 25-07-2012 15:03 1958523

Сравнение групп powershell
 
всего доброго времени суток!

в powershell я новичок, пишу скрипты для сравнения групп не могу понять почему он не может выдать мне что участник в группах повторяется! полагаю что ошибка в условии. и как мне сделать чтобы имена выдавались мне типа "Ivan Ivanov", а не "= @{name=Ivan Ivanov}" ?

Код:

Import-Module ActiveDirectory
$Group1 = GET-ADGROUPMEMBER 'CN=somegroup1,OU=Service_Accounts,DC=office,DC=net' | select-object name |  sort -property Name
$Group2 = GET-ADGROUPMEMBER 'CN=somegroup2,OU=Service_Accounts,DC=office,DC=net' | select-object name  | sort -property Name


ForEach ($member1 in $Group1)
    {
        ForEach ($member2 in $Group2)
            {
                If ($member1 -eq $member2)
                  {
                        Write-Host "$member1 and $member2"
                    }
            }

      }

у второго кода немного другие заморочки:

Код:

$DN1 = 'CN=somegroup1,OU=Service_Accounts,DC=office,DC=net'
$DN2 = 'CN=somegroup2,OU=Service_Accounts,DC=office,DC=net'

$Group1 = [adsi]"LDAP://$DN1"
$Group2 = [adsi]"LDAP://$DN2"

ForEach ($User in $Group1.member)
{
if ($Group2.member -contains $User)
{
Write-Host "$User.UserName belongs to $($Group2.cn)"
}
}

выдает результат типа:
Код:

CN=Ivan Ivanov,OU=Users,DC=office,DC=net.UserName belongs to somegroup2
как мне сделать так чтобы было
Код:

Ivan Ivanov belongs to somegroup2
?

Всем спасибо.

спасибо, сам справился.
чтобы выводить просто имя нужно писать так, например: $($groupname1.name)
а не сравнивалось у меня, потому что в кавычки не взял If ("$member1" -eq "$member2") - вечная моя ошибка не ставить кавычки.

вдруг кому поможет еще.


Время: 12:19.

Время: 12:19.
© OSzone.net 2001-