2016-09-29 5 views
0

ADユーザー内の2つの属性を比較する際に助言をいただけますか? OU内のユーザーアカウントをスキャンし、2つの属性を比較して一致しないかどうかを確認します。私はオフィスや都市を比較し、CSV形式に一致しない結果のアカウントをエクスポートする必要がADユーザー内の2つの属性を比較する

Get-ADUser -SearchBase "OU=users,OU=company,DC=blah,DC=blah,DC=com" -Filter * -Properties * | 
    Format-Table name, l, physicaldeliveryofficename 

は、私はすべての詳細を参照するには、以下の式で始まりました。

私はリストをインポートする必要がありますか、または私がget-ADUser式からの結果を使用できますか?

+0

は何と比較?何にマッチしない? –

+0

私はADユーザーレコードの都市属性とオフィス属性を比較し、それらが一致するかどうかを確認したい(つまり、DenverとDenverの本社、一致しない) –

答えて

0

## Returns all AD users where the city attribute and Office attribute don't match 
#Creates an array for output 
$Outarray = @() 
$Users = get-ADUser -searchbase "OU=blah,OU=blah,DC=blah,DC=blah,DC=blah" - filter * -properties * | Select samaccountname, name, l, physicaldeliveryofficename 
#Writes name, username, office and city to the array where city and office don't match 
foreach ($user in $users) { 
    if ($user.physicaldeliveryofficename -eq $user.l) { 
      #They Match 
     } else { 
      $outarray += $user.name + ","+ $user.samaccountname + "," + $user.physicaldeliveryofficename + "," + $user.l 
     } 
    } 
#creates a CSV file, delimited with a comma 
#change path to your location 
$outarray |sort-object| out-file "c:\temp\output.csv" 
0

どのようにこのような2つの単純なループ、(名前は一意であると仮定した場合)についての何か:うまく機能しているこの、で終わった

$file = Import-CSV C:\example.csv 
$Users = get-ADUser -searchbase "OU=users,OU=company,DC=blah,DC=blah,DC=com" -filter * -properties name, physicaldeliveryofficename | Select name, physicaldeliveryofficename 
foreach ($user in $users) { 
    foreach {$entry in $file) { 
     if ($user.name -eq $entry.name) { 
      if ($user.physicaldeliveryofficename -eq $entry.physicaldeliveryofficename) { 
       #Both match 
      } else { 
       #Does not match 
      } 
     } 
    } 
} 
0

フィルター問題の二つの性質の不平等によるユーザオブジェクトを、その後、CSVにエクスポート:

$ou = 'OU=users,OU=company,DC=example,DC=com' 
Get-ADUser -SearchBase $ou -Filter * -Properties * | 
    Where-Object { $_.l -ne $_.physicaldeliveryofficename } | 
    Select-Object SamAccountName, Name, l, physicaldeliveryofficename | 
    Export-Csv 'C:\path\to\output.csv' -NoType 
関連する問題