Я новичок в этом форуме и прошу прощения, если что-то пропустил.
Я пытаюсь объединить два командлета (Get-cdmGroupProfile и get-adgroupmember) и получить результаты (Get-cdmGroupProfile (возвращает группы из приложения с именем Centrify) и Get-adgroupmember (который получает членов группы из командлетов, экспортированных в электронную таблицу Excel.
Из того, что я прочитал, не все командлеты могут быть приняты по конвейерувход, и именно здесь возникает потребность в вычисляемых свойствах.
Я делал это пару раз ранее (включал скрипт в самом низу публикации), где я создал вычисляемое свойство и смог получитьэкспортированные результаты в электронную таблицу Excel.
Однако, когда я попробовал код, который использовал ранее, он не дал мне результатов, которые я искал.
После проведения дополнительных исследований я попыталсяиспользуйте вычисленные свойства как таковые ниже, а затем передайте их объекту выбора.
Сценарий просто продолжает выполнятьД не кажется, чтобы остановиться.Я удалил результирующую переменную, которой я назначил цикл foreach, и удалил результат, который был передан в электронную таблицу Excel, и заметил, что результаты были не совсем такими, как я хотел.
Я надеялся найти более эффективный способ сделать это.
Мне удалось экспортировать его в электронную таблицу Excel, но он просто показывает результаты из массива, который повторяетзначений, но не перечисляет их, как хотелось бы.
I would like the following script to output the following information below
Zonename AD Linux Group Centrify group
PROD ZONE Group1 Group A
PROD ZONE Group2 Group B
TEST ZONE GROUP5 GROUP D
$list = Import-Csv C:\Users\User1\Desktop\Centrify\Inputpega.csv
$result = foreach($item in $list) {
$adgroupmember = Get-ADGroupMember -Identity $item.Group
$centrifygprofile = Get-CdmGroupProfile -Zone $item.DistinguishedName
Get-CdmGroupProfile -Zone $item.DistinguishedName |%{
Get-ADGroupmember -identity $item.Group
$Properties = @(
@{Name='ZoneName';Expression={$centrifygprofile.Zone}},
@{Name=' Centrify Group';Expression={$centrifygprofile.name}},
@{Name='AD Linux GROUP' ;Expression={$adgroupmember.name}},
)
$result | Export-Csv C:\Users\User1\Desktop\Results\results4.csv -
NoTypeInformation
Результаты, которые я получаю -
ZoneName : {OU=TEST ZONE ,OU=TEST Zone
One,OU=Zones,OU=TEST,DC=TEST,DC=com,OU=PROD ZONE,OU=PROD Zone
One,OU=Zones,OU=PROD,DC=PROD,DC=com,
OU=PROD ZONE,OU=PROD Zone
One,OU=Zones,OU=PROD,DC=PROD,DC=com,OU=Unix,DC=PRODk,DC=com, OU=PROD
ZONE,OU=PROD Zone One,OU=Zones,OU=PROD,DC=PROD,DC=com...}
Centrify Group : {group1@prod.com, group2@prod.com, group3@prod.com,
group4@prod.com...}
PROD_GROUPS,OU=Zones,OU=PROD,OU=PROD,OU=PROD,DC=PROD,DC=com
AD Linux Group : {group6, group7, group8, group9...
ZoneName : {OU=TEST ZONE ,OU=TEST Zone
One,OU=Zones,OU=TEST,DC=TEST,DC=com,OU=PROD ZONE,OU=PROD Zone
One,OU=Zones,OU=PROD,DC=PROD,DC=com,
OU=PROD ZONE,OU=PROD Zone
One,OU=Zones,OU=PROD,DC=PROD,DC=com,OU=Unix,DC=PRODk,DC=com, OU=PROD
ZONE,OU=PROD Zone One,OU=Zones,OU=PROD,DC=PROD,DC=com...}
Centrify Group : {group1@prod.com, group2@prod.com, group3@prod.com,
group4@prod.com...}
PROD_GROUPS,OU=Zones,OU=PROD,OU=PROD,OU=PROD,DC=PROD,DC=com
AD Linux Group : {group6, group7, group8, group9...
ЭтоСценарий, который я использовал несколько раз прежде, когда я смог объединить несколько команд и экспортировать данные, которые я хотел, в электронную таблицу Excel, используя вычисляемые свойства.
$list = Import-Csv C:\Users\user\Desktop\dn2.csv
$finalzpa = Foreach($item in $list){
$zonezpa = Get-CdmZpaSetting -Zone $item.DistinguishedName
$zoneset = Get-CdmZone -dn $item.DistinguishedName
Get-CdmZone -Dn $item.DistinguishedName | %{
Get-CdmZpaSetting -Zone $item.DistinguishedName |
Select-Object @{Name='Userenabled';Expression={$zonezpa.UserEnabled}},
@{Name='Provisioning Groups enabled';Expression=
{$zonezpa.GroupEnabled}},
@{Name='ZoneName' ;Expression={$zoneset.Name}},
@{Name='User Source';Expression={$zonezpa.UserSource}},
@{Name='Group Source';Expression={$zonezpa.GroupSource}},
@{Name='Distinguished Name';Expression=
{$item.DistinguishedName}}
}}
$finalzpa | Export-Csv -Append -NoTypeInformation
C:\Users\Desktop\zonesautoinfo.csv
$adgroupmember | gm
TypeName: Microsoft.ActiveDirectory.Management.ADPrincipal
Name MemberType Definition
---- ---------- ----------
Contains Method bool Contains(string propertyName)
Equals Method bool Equals(System.Object obj)
GetEnumerator Method System.Collections.IDictionaryEnumerator
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Item ParameterizedProperty
Microsoft.ActiveDirectory.Management.ADPropertyValueCollection Item(string
propertyName) {get;}
distinguishedName Property System.String distinguishedName
{get;set;}
name Property System.String name {get;}
objectClass Property System.String objectClass {get;set;}
objectGUID Property System.Nullable`1[[System.Guid,
mscorlib, Version=4.0.0.0, Culture=neutral,
objectGUID {get;set;}
SamAccountName Property System.String SamAccountName
{get;set;}
SID Property
System.Security.Principal.SecurityIdentifier SID {get;set;}
$centrifygprofile | gm
TypeName: Centrify.DirectControl.PowerShell.Types.CdmGroupProfile
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
CanonicalName Property string CanonicalName {get;}
Computer Property
Centrify.DirectControl.PowerShell.Types.CdmManagedComputer Computer {get;}
Domain Property string Domain {get;}
Gid Property System.Nullable[long] Gid {get;}
Group Property
Centrify.DirectControl.PowerShell.Types.CdmGroup Group {get;}
IsHierarchical Property bool IsHierarchical {get;}
IsMembershipRequired Property System.Nullable[bool] IsMembershipRequired
{get;}
IsOrphan Property bool IsOrphan {get;}
IsSfu Property bool IsSfu {get;}
Name Property string Name {get;}
PreferredServer Property string PreferredServer {get;}
Zone Property
Centrify.DirectControl.PowerShell.Types.CdmZone Zone {get;}