Active Directoryから別のユーザに対して検証するためにユーザのリストを取得していますが、2番目のユーザにはGet-ADUser
という問題があります。最初のユーザー(ユーザーの集まり)はかなりシンプルで、うまく機能します。私は、より複雑なアプローチをしようとしているか、それが働いていないので、少なくとも私はもっと複雑としてそれを知覚しています第二のユーザ(単一インスタンスこの時間)でローカル変数を使用したLDAPフィルタリングを使用したADユーザの取得
$users += Get-ADUser -SearchBase "OU=Level2,OU=Level1,DC=domain,DC=org" -Filter "SamAccountName -like '*lvl'" -ResultSetSize 5000 -Properties $properties | Select $properties;
:私はそうのような最初のユーザーを取得します。次のようなアプローチは次のとおりです。
$compareUser = Get-ADUser -SearchBase "OU=Level1,DC=domain,DC=org" -LDAPFilter {"(&(Surname=*$lastName*)(GivenName=*$firstName*))"} -ResultSetSize 1 -Properties $properties | Select $properties;
私は何をフィルタリングするために、この場合$firstname
と$lastName
に、変数を使用しているとの問題を抱えています。
$firstName
および$lastName
は、最初のユーザーから派生し、その姓と名でADの他のユーザーを確認するために使用されています。うまくいけば、これを発行するためのより多くのコンテキストを提供するには、これがすべて行われる機能があります。
Function ComparingUserAccounts([System.Array]$users, $exceptions = @()){
$notes = "";
$invalidUsers = @();
Foreach($user in $users){
$firstName = $user.GivenName;
$lastName = $user.Surname;
$compareUser = Get-ADUser -SearchBase "OU=Level1,DC=domain,DC=org" -LDAPFilter {"(&(Surname=*$lastName*)(GivenName=*$firstName*))"} -ResultSetSize 1 -Properties $properties | Select $properties;
if(($nonAdminUser.SamAccountName -eq "") -or ($nonAdminUser.SamAccountName -eq $null)){
if(($nonAdminUser.Surname -ne $user.Surname) -and ($nonAdminUser.GivenName -ne $user.GivenName)){
if(-Not ($exceptions.Contains($user.SamAccountName))){
$invalidUsers += $user.SamAccountName;
}
}
}
}
if($invalidUsers.Count -gt 0){
$notes += $invalidUsers.Count + " users found without that name."
}
return $notes
}
私は、私の評価は常に "として、すべてのユーザーを返すように動作していないようでした、私がしかし、変数の周り*
を置くべきであると述べたLDAPフィルターで変数を使用する方法については、オンライン見ていました違う"。ユーザーが自分の認証に合格しなかった場合、ユーザー名は$invalidUsers
コレクションに追加されます。私がすべてのユーザーが「間違っている」と言うと、ほとんどのユーザーがそこにいてはいけないという事実を知っていると、それらはすべてそのコレクションに追加されます。
を検索フィルタは私の質問は、
ある要するに
を認識することはできません。言及する価値があるかもしれないもう一つは、私は、フィルタの周り{ }
が含まれていない場合、私は買ってあげるということです
ADフィルタを使用してADユーザーを取得するにはどうすればよいですか?
さてあなたはおそらく正しいので、私は、LDAPのプロパティを変更しているが、私の検証はまだすべてが間違っていると言っています... – BlueBarren