管理する必要があります(管理Kerberos Resource Based Delegation
するC#
方が簡単なのはわかっていPowershell
ますが、それは要件ではありません)。user/computer/service
アカウントの属性は ですmsDS-AllowedToActOnBehalfOfOtherIdentity
が、これは ではCOM
処理できないオブジェクトのようですC#
:
static void Main(string[] args)
{
string ou = @"OU=some,OU=ou,DC=corp,DC=com";
string cn = @"someaccount";
DirectoryEntry de = new DirectoryEntry();
de.Username = @"CORP\userwithOUrights";
de.Password = @"password";
de.AuthenticationType = AuthenticationTypes.Secure;
de.Path = $"LDAP://CN={cn},{ou}";
Object a = de.Properties["msDS-AllowedToActOnBehalfOfOtherIdentity"];
}
この後、a
他のプロパティとは異なり、私ができることはあまりないようです。それは何らかのCOM
オブジェクトであり、そこにあるアカウントを取得する必要があります。Powershell
このプロパティはオブジェクトを返すと報告されておりSystem.DirectoryServices.ActiveDirectorySecurity
、このクラスには AD などに格納されているバイナリ形式をデコードするための便利なメソッドがあります。しかし、これは のプロパティ呼び出しからの戻り値の型ではないようですC#
。