私は、Active Directoryに大きく依存しているVB.NETのソリューションのアップグレードに取り組んでいます。今のところ、私はユーザーの作成時に新しいADユーザーにPC制限を追加しようとしています。基本的には、1つ以上のPCを含むようにLogon To属性を更新する必要がありますが、これをどうやって行うのですか?VB.NETのAD属性にユーザー "ログオン"を設定する方法
IADsUserプロパティ「LoginWorkstations
」(http://msdn.microsoft.com/en-us/library/Aa746340のおかげ)に興味があることを知りました。今のところ、どのADユーザーからもこの属性を取得できるコードがありますが、設定できません。
ここで私は、属性を取得する必要があるコードです:
Dim userADObject As new DirectoryEntry(ADPath)
Dim logonToPC as String = userADObject.InvokeGet("LoginWorkstations")(0).ToString
(1が存在する場合)最初に制限されたPCをフェッチし、logonToPC
でそれを保存し、「PC10000
」のようになりますでしょう
Dim userADObject As new DirectoryEntry(ADPath)
Dim args() As Object = {"PC100001"}
userADObject.InvokeSet("LoginWorkstations", args)
しかし、それは動作しません...それは:
素晴らしい作品なので、直感的に、私はこのような何かがうまくいくと仮定しますむしろ役に立たない例外をスローします。
私はこのアプローチを別の属性でテストしようとしましたが、うまく動作します。残念なことにGoogleにはそれほど多くはありません...
ご協力いただければ幸いです。
である必要があります。私は正常に最初のPCを追加することができます(ユーザーにはまだ制限がありません)が、2番目または3番目のPCを追加してコミットしようとすると、「指定されたディレクトリサービスの属性または値は既に存在します。私は明らかにADで、ユーザーが実際にこれらのPC割り当てを持っていないことを確認しました。何か案は? – Boeckm
marc_sを見つけました。私の答えをチェックしてください。正しい方向に私を指してくれてありがとう! – Boeckm