1

こんにちは、 aDirectoryEntryが AD のグループの最後のものかどうかを確認する必要があります。理由はわかりませんが、上司がメッセージボックスが欲しいと言っています。以下の方法は、私の大きなプロジェクトのほんの一部です。それは何をしますか?AD のグループのすべてのユーザーを取得します。すべてのユーザーはDirectoryEntry. それから私は他のものを呼んでいます。これは、この質問には関係ありません。「de の場合は処理を行う」を参照してください。

最後の要素を取得する方法がわからないので、これを入れました:

var lastelement = users.LastElement;

メソッドで。

    private void Abgleich()
    {
        log.Debug("Abgleich in ActivDirectory aufgerufen");
        using (var context = new PrincipalContext(ContextType.Domain, Properties.Settings.Default.Servername, Properties.Settings.Default.Container))
        {
            using (var group = GroupPrincipal.FindByIdentity(context, Properties.Settings.Default.ECADGruppe))
            {
                if (group == null)
                {
                    log.Error("Group does not exist");
                }
                else
                {
                    var users = group.GetMembers(true);

                    //Pseudo Code
                    var lastelement = users.LastElement;
                    //End Pseudo Code

                    foreach (UserPrincipal user in users)
                    {
                        DirectoryEntry de = (user.GetUnderlyingObject() as DirectoryEntry);
                        // Do Stuff if de
                        if (de == lastelement)
                        {
                            XtraMessageBox.Show("This is the last", "Remember", MessageBoxButtons.YesNo, MessageBoxIcon.Info);
                        }
                    }
                }
            }
        }
    }
4

1 に答える 1