Powershell自定义对象的构build/显示

第一次张贴在这里,但很长一段时间寻求。 让我来介绍一下,从2010年开始我就是一个在这个行业工作的系统pipe理员(我猜还有点儿还不够)

自从几个月前玩了PowerShell,我真的很喜欢它。

今天我遇到了一个问题,我的自定义对象。

让我试着解释我想要什么,到目前为止我已经得到了什么。 我需要让所有的成员在两个不同的AD组(读/写文件共享组),共享名称(实际上是一个参数在我的function,很容易显示它…)和共享所有者。 所有的这些信息都来自AD。

现在,我的自定义对象,我想实际显示结果在4列。 一个叫“分享”(有一个值)一个与“所有者”(也是一个值),但另外两个,读写会明显有一对值。

问题:我如何显示所有的结果,在我的列没有三个点?

请看下面的脚本,以获得一个想法。

到目前为止,我所做的所有尝试/错误都是用这个输出结果进行的:

C:\Windows\system32> $resultat Partage Proprietaire Ecriture ------- ------------ -------- Suivis_financiers_periodiques Claude Bernier {@{Ecriture=Sophie Gautreau}, @{Ecriture=Karine Bellemare}, @{Ecriture=Julie Fortier}, @{Ecriture=Carole Chapados}, @{Ecriture=Éric Leclerc}, @{Ecriture=Chantal T... 

有足够的人帮助我/教我吗? 🙂

  function gestion-repertoirepartage { Param( [Parameter(Mandatory=$true,Position=1)] [string]$partage ) $proprietaire_query = Get-ADGroup -Identity "GESTION - INSPQ - P - $partage - E" -Properties * | select managedBy $proprietaire = Get-ADUser $proprietaire_query.managedby | select name $ecriture = Get-ADGroupMember -Identity "GESTION - INSPQ - P - $partage - E" | select Name $lecture = Get-ADGroupMember -Identity "GESTION - INSPQ - P - $partage - E" | select Name $resultat = New-Object -TypeName PSObject add-member -InputObject $resultat -MemberType NoteProperty -Name Partage -Value $partage add-member -InputObject $resultat -MemberType NoteProperty -Name Proprietaire -Value $proprietaire.name add-member -InputObject $resultat -MemberType NoteProperty -Name Ecriture -Value $ecriture.name add-member -InputObject $resultat -MemberType NoteProperty -Name Lecture -Value $lecture.name $resultat | ft -wrap -AutoSize } 

尝试数字2

 #proprietaire $proprietaire_query = Get-ADGroup -Identity "GESTION - INSPQ - P - Suivis_financiers_periodiques - E" -Properties * | select managedBy $proprietaire = Get-ADUser $proprietaire_query.managedby | select name #membres écriture $ecriture_obj_final = @() $ecriture = Get-ADGroupMember -Identity "GESTION - INSPQ - P - Suivis_financiers_periodiques - E" | select Name foreach ($nom_e in $ecriture) { $ecriture_obj = New-Object -TypeName PSObject $ecriture_obj|Add-Member -Type NoteProperty -Name Ecriture -Value $nom_e.name $ecriture_obj_final += $ecriture_obj } #membres Lecture $lecture_obj_final = @() $lecture = Get-ADGroupMember -Identity "GESTION - INSPQ - P - Suivis_financiers_periodiques - E" | select Name foreach ($nom_l in $lecture) { $lecture_obj = New-Object -TypeName PSObject $lecture_obj|Add-Member -Type NoteProperty -Name Ecriture -Value $nom_l.name $lecture_obj_final += $lecture_obj } #nouvel objet $resultat = New-Object -TypeName PSObject add-member -InputObject $resultat -MemberType NoteProperty -Name Partage -Value Suivis_financiers_periodiques add-member -InputObject $resultat -MemberType NoteProperty -Name Proprietaire -Value $proprietaire.name add-member -InputObject $resultat -MemberType NoteProperty -Name Ecriture -Value $ecriture_obj_final.Ecriture #add-member -InputObject $resultat -MemberType NoteProperty -Name Lecture -Value $lecture.name 

编辑:谢谢你,但这不是我想要的。 事实上,我可能会严重地解释自己(原谅我的法语)我想要的应该是这样的:

 $resultat Proprietaire Partage Ecriture user1 share1 user2 user3 user4 user5 etc... 

我怎样才能做到这一点? 非常感谢。