Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何以正确的格式获取ADPrincipalGroupMembership名称?_Powershell_Active Directory_Windows Server 2012 - Fatal编程技术网

Powershell 如何以正确的格式获取ADPrincipalGroupMembership名称?

Powershell 如何以正确的格式获取ADPrincipalGroupMembership名称?,powershell,active-directory,windows-server-2012,Powershell,Active Directory,Windows Server 2012,我的PowerShell脚本如下所示: Member Of --------- XYZUsers, GLOBAL_XYZ, LOCAL_XYZ XYZUsers, GLOBAL_XYZ, LOCAL_XYZ Get ADUser-Property*-filter*| Select Object@{Label=“Member Of”表达式={ %{Get-ADPrincipalGroupMembership-Identity$\ SamAccountName |选择对象名称} }} 输出: Me

我的PowerShell脚本如下所示:

Member Of --------- XYZUsers, GLOBAL_XYZ, LOCAL_XYZ XYZUsers, GLOBAL_XYZ, LOCAL_XYZ
Get ADUser-Property*-filter*| Select Object@{Label=“Member Of”表达式={
%{Get-ADPrincipalGroupMembership-Identity$\ SamAccountName |选择对象名称}
}}
输出:

Member Of --------- {@{name=XYZUsers}, @{name=GLOBAL_XYZ}, @{name=LOCAL_XYZ}, @{name=ABC_APPROVER} {@{name=XYZUsers}, @{name=GLOBAL_XYZ}, @{name=LOCAL_XYZ}, @{name=ABC_APPROVER} 成员 --------- {{name=XYZUsers}、{name=GLOBAL_XYZ}、{name=LOCAL_XYZ}、{name=ABC_APPROVER} {{name=XYZUsers}、{name=GLOBAL_XYZ}、{name=LOCAL_XYZ}、{name=ABC_APPROVER} 我希望输出如下所示:

Member Of --------- XYZUsers, GLOBAL_XYZ, LOCAL_XYZ XYZUsers, GLOBAL_XYZ, LOCAL_XYZ 成员 --------- xyzuser、全局XYZ、局部XYZ
XYZUsers、GLOBAL、LOCAL我认为
选择对象的
-ExpandProperty
参数可能就是您所需要的

试试这个:

Get-ADUser -property * -filter * | select-object @{Label = "Member Of";Expression = {%{Get-ADPrincipalGroupMembership -Identity $_.SamAccountName | Select-Object -ExpandProperty name}}}
或者,我认为您也可以将代码简化为这样,但我现在没有地方测试它:

Get-ADUser -property * -filter * | % {Get-ADPrincipalGroupMembership -Identity $_.SamAccountName | Select-Object name}

我认为
选择对象
-ExpandProperty
参数可能就是您所需要的

试试这个:

Get-ADUser -property * -filter * | select-object @{Label = "Member Of";Expression = {%{Get-ADPrincipalGroupMembership -Identity $_.SamAccountName | Select-Object -ExpandProperty name}}}
或者,我认为您也可以将代码简化为这样,但我现在没有地方测试它:

Get-ADUser -property * -filter * | % {Get-ADPrincipalGroupMembership -Identity $_.SamAccountName | Select-Object name}

Select Object
语句为您提供具有属性
name
{name=…}
)的自定义对象。您需要提取此属性的值(例如,通过
Select Object
-ExpandProperty
参数),然后将提取的组名连接到字符串:

Get-ADUser -Property * -Filter * | Select-Object @{n='Member Of';e={
  (Get-ADPrincipalGroupMembership -Identity $_.SamAccountName |
    Select-Object -Expand Name) -join ', '
}}

Select Object
语句为您提供具有属性
name
{name=…}
)的自定义对象。您需要提取此属性的值(例如,通过
Select Object
-ExpandProperty
参数),然后将提取的组名连接到字符串:

Get-ADUser -Property * -Filter * | Select-Object @{n='Member Of';e={
  (Get-ADPrincipalGroupMembership -Identity $_.SamAccountName |
    Select-Object -Expand Name) -join ', '
}}

get aduser-property*-filter*| select object@{Label=“Member Of”Expression={%{get ADPrincipalGroupMembership-Identity$.SamAccountName | foreach object{$.name}}}

get aduser-property*-filter*| select object@{Label=“Member Of”Expression={%{get ADPrincipalGroupMembership-Identity$.SamAccountName}}}foreach对象{$.name}}}