2017-06-08 1 views
0

Ich habe eine CSV-Datei, die eine Liste von Benutzernamen ohne Header enthält. Ich möchte mit einer zweiten CSV-Datei enden, die nur die Benutzernamen enthält, die Active Directory-Benutzern entsprechen, die deaktiviert sind.PowerShell - Filter Get-ADUser, um nur deaktivierte Konten zu erhalten

Ich spielte mit einer Get-Content und dann ForEach-Object (%) Schleife, um die AD abzufragen und jedes SAM und den Status seiner aktivierten Eigenschaft zurückzugeben.

Get-Content users.csv | % {Get-ADUser $_ | Select-Object samaccountname,enabled} 

Obwohl das, was ich wirklich brauchen, um an jedem Namen suchen zu tun und nur diejenigen deaktivierte Konten auf eine neue CSV-Datei gebunden bewegen. Nur kann ich nicht herausfinden, wie das zu erreichen ist.

Antwort

1

sind Sie fast da:

$users = @(gc users.csv | % {Get-ADUser $_ | select samaccountname,enabled}) 
$users | ? { -not($_.enabled) } | export-csv -notypeinformation $somecsv 

, was wir tun:

  1. Schleife durch die Textdatei mit der foreach-Objekt-Schleife und wählen Sie gewünschten AD-Benutzerattribute und zuweisen sie zu einem Array @(). Normalerweise würden sie als Array zurückkehren, aber ich werfe immer explizit um, denn wenn ein Ergebnis zurückgegeben wird, wird es als einzelnes Objekt anstelle eines Arrays mit einem Eintrag zurückgegeben.
  2. Dann filtert man die Benutzer die where-object Alias ​​(?), Dass nicht aktiviert sind und dann diejenigen zu Ihrem „disabled_users.csv“
+0

das funktionierte senden! Vielen Dank für die Hilfe! – soltkr

Verwandte Themen