Powershell csv格式化

时间:2012-09-14 05:57:53

标签: powershell

我从AD导出A用户。它工作正常,我只在导出文件中有问题。

当前输出

  

A000354 CN = ATX_PUTTY,OU = Personal,OU = abc,OU = xyz,DC = dd,DC = pp,DC = net

期望输出

A000354  ATX_PUTTY
$FilePath = "c:/LocalData/A_Users.csv"
$OuDomain = "OU=Personal,OU=Personal,OU=abc,OU=xyz,DC=dd,DC=pp,DC=net"
$users = Get-QADUser -SamAccountName [A]* -searchRoot $OuDomain -SizeLimit 0 -DontUseDefaultIncludedProperties
$result = $users | % {
    $SamAccountName = $_.SamAccountName
    if ($lastDomain -eq $_.dn) {
        $lastDomain = ""
    } else {
        $lastDomain = $_.dn
    }

    $_.MemberOf | % {
        $user = New-Object -TypeName PsObject -Property @{
                "Domain" = $lastDomain
                "SamAccountName" = $SamAccountName
                "Group" = $_
            }
        $user
    }
}

$result | sort-object SamAccountName | Select-Object SamAccountName, Group |  Export-CSV $FilePath -NoTypeInformation

现在我得到.....输出像

A000354 CN=ATX_PUTTY,OU=Personal,OU=abc,OU=xyz,DC=dd,DC=pp,DC=net

我想输出如下,我不想要CN =和,OU =个人,OU = abc,OU = xyz,DC = dd,DC = pp,DC = net

A000354  ATX_PUTTY

感谢。

2 个答案:

答案 0 :(得分:2)

使用Get-Help Export-CSV -detailed查看是否有-NoTypeInformation开关可以满足您的需求:

  

-NoTypeInformation []忽略CSV文件中的类型信息。默认情况下,CSV文件的第一行包含   “#TYPE”后跟.NET类型的完全限定名称   框架对象。

答案 1 :(得分:0)

您可以使用Select-Object选择所需的媒体资源:

$result | sort-object SamAccountName | Select-Object SamAccountName, Group |  Export-CSV $FilePath