Auflisten von AD-Attributen mit Powershell unter Verwendung von DirectoryServices auf Windows Server 2008

Auflisten von AD-Attributen mit Powershell unter Verwendung von DirectoryServices auf Windows Server 2008

Ich versuche, eine Liste von Benutzernamen und deren pwdlastset-Attribut auf einem Windows Server 2008 DC abzurufen. Ich verwende Verzeichnisdienste, da keine Adutils installiert sind. Das Skript funktioniert, aber ich habe keine Erfahrung mit Powershell und würde gerne wissen, wie ich die Ausgabeformatierung verbessern kann. Derzeit werden Benutzernamen und Daten jeweils in einer neuen Zeile gedruckt. Ich erhalte so etwas:

Benutzer1

pwdlastsetdate

Benutzer2

pwdlastsetdate

Wie bekomme ich so etwas wie

Benutzer1;pwdlastsetdate

Benutzer2;pwdlastsetdate

Danke schön!

Dies ist das Skript, das ich verwende:

$SR=New-Object DirectoryServices.DirectoryEntry("GC://OU=OrganisationName,OU=Users,DC=site,DC=orgname,DC=de")
$searcher=New-Object DirectoryServices.DirectorySearcher($SR)
$searcher.Filter="(&(objectCategory=User))"
$results=$searcher.findall()
foreach ($usr in $results)
{
    $usrdata = $usr.Properties
    $usrdata.name
    [DateTime]::FromFileTime($usrdata.pwdlastset[0]).ToString("d")
}

Antwort1

Sie können ein benutzerdefiniertes Array erstellen, indem Sie etwa Folgendes tun:

$SR=New-Object DirectoryServices.DirectoryEntry("GC://OU=OrganisationName,OU=Users,DC=site,DC=orgname,DC=de")
$searcher=New-Object DirectoryServices.DirectorySearcher($SR)
$searcher.Filter="(&(objectCategory=User))"
$results=$searcher.findall()

$allinfo = @()

foreach ($usr in $results)
{
    $info = "" | Select Name,Date
    $usrdata = $usr.Properties

    #Without [0] you get curly brackets in username output

    $info.Name = $usrdata.name[0]
    $info.Date = [DateTime]::FromFileTime($usrdata.pwdlastset[0]).ToString("d")
    $allinfo += $info
}

Jetzt haben Sie ein Array mit den Informationen, das Sie einfach ausdrucken oder mit „format-table“ formatieren können.

$allinfo

$allinfo | format-table

$allinfo | export-csv -NoTypeInformation c:\allinfo.csv

verwandte Informationen