1

Powershell スクリプトを使用して新しい LDAP ユーザーを作成するという課題があります。私はたくさんグーグルで検索しましたが、良い結果が見つかりませんでした...

これは、LDAP からユーザーを取得するための私のコードです...

    $authenticationType  = [System.DirectoryServices.AuthenticationTypes]::ServerBind
$objSearcherRoot = New-Object System.DirectoryServices.DirectoryEntry("LDAP://***.local.com:777/ou=user,o=company", "uid=testuser,ou=system,o=company", "password" , $authenticationType)
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher 
$objSearcher.SizeLimit= 0
$objSearcher.PageSize = 1000
$objSearcher.SearchRoot = $objSearcherRoot
$objSearcher.Filter = "cn=$cn"
$result = $objSearcher.FindAll()

私の問題は、新しい LDAP ユーザー (Active Directory ではない) を挿入する方法がわからないことです。誰かが私を助けてくれたら本当にうれしいです... ;)

ありがとう

4

3 に答える 3

1

はい、可能です。System.DirectoryServices.Protocols.LdapConnection オブジェクト ($c としましょう) を使用して LDAP サーバーにバインドし、System.DirectoryServices.Protocols.AddRequest オブジェクトを作成してその属性を入力する必要があります (ここではいくつかのみを示しています)。例):

[System.Reflection.Assembly]::LoadWithPartialName("System.DirectoryServices.Protocols")
[System.Reflection.Assembly]::LoadWithPartialName("System.Net")
$c = New-Object -TypeName System.DirectoryServices.Protocols.LdapConnection -ArgumentList "***.local.com:777,uid=testuser,ou=system,o=company", "password" , $authenticationType"
$c.Bind()
$r = New-Object -TypeName System.DirectoryServices.Protocols.AddRequest
$r.DistinguishedName = "uid= xxxx, ou=user, o=company"
$r.Attributes.Add((New-Object -TypeName System.DirectoryServices.Protocols.DirectoryAttribute -ArgumentList "objectclass",@("top","organizationalPerson","person","inetorgperson","inetuser","mailrecipient","pwmuser","posixAccount"))) | Out-Null
$r.Attributes.Add((New-Object -TypeName System.DirectoryServices.Protocols.DirectoryAttribute -ArgumentList "cn",($FirstName+" "+$LastName))) | Out-Null

次に、リクエストを送信します。

$c.SendRequest($r)
于 2016-07-13T21:06:23.867 に答える
0

LDAP は「挿入」をサポートしていませんが、「追加」をサポートしています。LDAP クライアントはエントリを作成し、ADD 要求を使用してそのエントリをディレクトリ サーバーに送信する必要があります。サーバーは、ADD 要求の成功または失敗に関する情報を含む ADD 結果を LDAP クライアントに返します。そのため、ディレクトリ サーバーへの ADD 要求の送信と後続の応答の解釈については、ドキュメントを参照してください。

LDAP クライアントには、エントリ (この場合はユーザー) を追加する権限が必要です。これには、BIND 要求を使用して、接続の承認状態を、ディレクトリ情報ツリー内の指定された場所にエントリを追加できる状態に変更することが含まれます。

おそらく、このリンクが役立ちます。

于 2013-07-11T13:42:38.490 に答える