Я пытаюсь использовать приведенный ниже код, чтобы получить список групп AD, в которых находится целевая машина, но у меня есть некоторые трудности.Powershell - Получение и организация групп каталогов Active Directory
Get-AdComputer -Identity $hostname -property "MemberOf"
Когда я выполняю код, я возвращаюсь с этим.
DistinguishedName : CN=$hostname,OU=test,OU=test,OU=test All Workstations,DC=te
st,DC=test,DC=com
DNSHostName : $hostname Enabled : True
MemberOf : {CN=Flash_Player_Adobe_11.1.102_LCL,OU=test All Softw
are Groups,DC=test,DC=test,DC=test, CN=Adobe Acrobat X P
rofessional 10,OU=test All Software Groups,DC=test,DC=test,D
C=co.uk, CN=Silverlight_Microsoft_4.0.60.0_LCL,OU=test
All Software Groups,DC=test,DC=test,DC=test}
Name : %hostname ObjectClass : computer
ObjectGUID : 5cf00026-c91a-422e-8a3e-7ee546456717f
SamAccountName : Test
SID : f-1-5-21-18934363546-5655752-5353453-564535
UserPrincipalName :
Есть ли способ, что я могу просто memberOf вернулся (список agroups AD прикрепленного к машине и упорядочен в списке с только именем группы listsed Например просто:.
Silverlight_Microsoft_4.0.60.0_LCL
Adobe Acrobat XP Professional
и т.д.
Спасибо, это сработало. Не могли бы вы помочь мне с этим, пожалуйста? Я пытаюсь получить выведенные имена групп и помещать их в форму DataGridView, но все, что я получаю, это числа, которые выводятся в DatagridView. функция Get-AD {$ active_d = (Get-ADComputer -Identity $ current_hostname.text -Property MemberOf) .MemberOf -replace '^ CN = ([^,] +), OU =. + $', '$ 1' $ array = New-Object System.Collections.ArrayList $ array.AddRange ($ active_d) $ current_output.DataSource = $ array $ current_output.refresh()} Я использую вышеописанное на данный момент, но он не работает – obious
Кроме того, не могли бы вы кратко объясните-замените '^ CN = ([^,] +), OU =. + $', '$ 1' , пожалуйста? – obious
Регулярное выражение фиксирует что-либо между CN = и следующей запятой, ([^,] +) означает любой символ, который не является запятой. Захват заменяет всю строку. –