【问题标题】:Can't write null string in CSV无法在 CSV 中写入空字符串
【发布时间】:2017-03-05 18:30:21
【问题描述】:

我想问一下有没有什么问题。如果查询在 Active Directory 上没有找到任何用户,我想在 CSV 中输出“null”,但它没有按预期工作。

样本输出:

名称 UserGiven UserLastName
usvalj02adm 尤恩·保罗·瓦伦西亚
ustalu00 Juhn Paul 瓦伦西亚
usnaic00adm 尤恩·保罗·瓦伦西亚
usmenm03adm 马里昂保罗门多萨
usjorv00ADM 文森特·豪尔赫
usgols01ADM 文森特·豪尔赫
usgedr00 文森特·豪尔赫
usdhaa00adm 文森特·豪尔赫
uscrud00adm 唐·爱德华·克鲁兹
uscabg00adm 唐·爱德华·克鲁兹

如果没有找到用户,它会重复之前的查询并输出它。有人可以帮忙吗?

Import-Module ActiveDirectory

Get-Content -Path 'C:\Users.txt' | foreach {
    $User   = Get-ADUser $_
    $Groups = Get-ADPrincipalGroupMembership $User

    if ($User.givenName -eq $null) {
        $Empty = @{
            Name         = $_
            UserGiven    = "null"
            UserLastName = "null"
            #GroupDN      = "null"
        }
        New-Object PSObject -Property $Empty
    } else {
        $Props = @{
            Name         = $_
            UserGiven    = $User.givenName
            UserLastName = $User.surName
            #GroupDN      = "null"
        }
        New-Object PSObject -Property $Props
    }
    # One CSV line for each user/group 
} | Export-Csv -Path 'C:\UserGroups.csv' -NoTypeInfo

【问题讨论】:

  • 抱歉,我不太清楚你的问题是什么。
  • 无法复制。 AFAICS 您发布的代码中没有任何内容可以保留先前迭代的值。

标签: powershell csv active-directory


【解决方案1】:

使用 ""'' 替代 $null 它可以工作,因为 CSV 中的字符串不是 null 它是 ""''

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2020-09-12
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    相关资源
    最近更新 更多