Попытка объединить два командлета и вывести их в электронную таблицу Excel - PullRequest
0 голосов
/ 25 октября 2018

Я новичок в этом форуме и прошу прощения, если что-то пропустил.

Я пытаюсь объединить два командлета (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;}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...