セキュリティグループ名を入力し、セキュリティ権限のリストを返す関数を作成しようとしています。
C#を使用してActive Directoryから、などのセキュリティグループの、などread
のセキュリティ権限のリストを取得するにはどうすればよいですか?write
full control
Domain Controllers
Domain Guests
セキュリティグループ名を入力し、セキュリティ権限のリストを返す関数を作成しようとしています。
C#を使用してActive Directoryから、などのセキュリティグループの、などread
のセキュリティ権限のリストを取得するにはどうすればよいですか?write
full control
Domain Controllers
Domain Guests
Active Directory サーバーと通信するために確立している LDAP 接続のパスを確認する必要があります。
例えば:
DirectoryEntry rootDSE = null;
rootDSE = new DirectoryEntry("LDAP://OU=" + department + ",OU=Users,OU=" + ou + ",dc=corp,dc=local", username, password);
その場合、部門→ユーザー→OU→DCに存在するグループのみが必要です
あなたの場合と同じです。セキュリティ グループが存在する OU を定義できます。
その後、次のようなグループを取得できます。
DirectorySearcher ouSearch = new DirectorySearcher(rootDSE);
ouSearch.PageSize = 1001;
ouSearch.Filter = "(objectClass=group)";
ouSearch.SearchScope = SearchScope.Subtree;
ouSearch.PropertiesToLoad.Add("name");
SearchResultCollection allOUS = ouSearch.FindAll();
foreach (SearchResult oneResult in allOUS)
{
dt.Rows.Add(oneResult.Properties["name"][0].ToString());
}
rootDSE.Dispose();
パーミッションの場合
アクセス許可は、ファイルやディレクトリなどの個々のファイル システム項目、またはその他のオブジェクト (レジストリ キーなど) に保存されます。AD グループまたはユーザー アカウントを持っている場合、その SID (セキュリティ識別子) プロパティを読み取ることができます。その SID は Windows 全体の ACL (アクセス制御リスト) に表示されますが、ユーザーまたはグループからすべてを取得するメカニズムはありません。マシン/サーバーのどこにでもある可能性がある権限。
ファイルとディレクトリのパーミッションは、たとえば、FileInfo および DirectoryInfo クラスの .GetAccessControl() メソッドを使用して取得できます。
FileInfo info = new FileInfo(@"D:\test.txt");
FileSecurity fs = info.GetAccessControl();
DirectoryInfo dir = new DirectoryInfo(@"D:\test\");
DirectorySecurity ds = dir.GetAccessControl();
これがあなたが探しているものであることを願っています!