2016-10-24 4 views
1

Ich möchte fragen, ob etwas falsch ist. Ich möchte "null" in CSV ausgeben, wenn die Abfrage keinen Benutzer im Active Directory gefunden hat, aber nicht wie erwartet funktioniert.Kann keine leere Zeichenfolge in CSV schreiben

Beispielausgabe:

Name  UserGiven UserLastName 
usvalj02adm Juhn Paul Valencia 
ustalu00 Juhn Paul Valencia 
usnaic00adm Juhn Paul Valencia 
usmenm03adm Marion Paul Mendoza 
usjorv00ADM Vincent Jorge 
usgols01ADM Vincent Jorge 
usgedr00 Vincent Jorge 
usdhaa00adm Vincent Jorge 
uscrud00adm Don Eduard Cruz 
uscabg00adm Don Eduard Cruz

Er wiederholt die vorherige Abfrage und Ausgabe, die es, wenn der Benutzer nicht gefunden wird. Könnte jemand helfen?

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 
+0

Sorry, aber ich verstehe nicht klar, was ist dein Problem. – JPBlanc

+0

Kann nicht reproduziert werden. AFAICS In dem von Ihnen geposteten Code ist nichts enthalten, der den Wert einer vorherigen Iteration beibehalten würde. –

Antwort

1

Verwendung "" oder '' Alternative von $ null es Arbeit ist, weil die Zeichenfolge im CSV nicht null ist, ist es "" oder ''

Verwandte Themen