ADsDSOObjectを照会するためのVBScriptを作成していますが、LDAPの構造がわかりません。私はActive Directoryで利用可能な仮想テーブルを見つける方法を見ていますが、使用可能な仮想カラムを探す場所を見つけることはできません。ADsDSOObjectクエリ:LDAPにクエリを実行するときに使用できる列?
また、「SELECT * FROM」と入力すると、ADsPathのみが返されます。 objectClass = 'Computer'グループから「名前」、「タイプ」、および「説明」以上のものを選択したいと思います。
Dim objCompArr
Dim currcomp
objCompArr = Array()
currcomp = -1
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name FROM 'LDAP://DC=mydomain,DC=com' WHERE objectClass = 'Computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
If Not objRecordSet.EOF Then
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
currcomp = currcomp + 1
ReDim Preserve objCompArr(currcomp)
objCompArr(currcomp) = objRecordSet.Fields("Name")
objRecordSet.MoveNext
Loop
End If
私は問題は、MiscrosoftのADライブラリの属性のリストは、すべてのクラスの下にすべての属性を表示するので、反対の考えが真であると思う、私はクラス名 "コンピュータ"の下で "Desktop-Profile" 。同じことがsAMAccountNameを照会すると起こります。 – Dexter
@Dexter:どのようなエラーがありますか?個人的に私は[適切なLDAPクエリ](http://support.microsoft.com/kb/187529)[参照](http://msdn.microsoft.com/を参照してください。 en-us/library/aa746385(v = vs.85).aspx)。また、私はダッシュはLDAPプロパティ名では不正だと考えています。 – Tomalak
これは15行目の「一般的なエラー」です。上記の私の答えにリストアップしたMicrosoftライブラリからプロパティ名を取得しました。しかし、AD Explorerを使うと、実際にはコンピュータの所有物ではないことがわかります。アクティブなログインを表示するコンピュータのプロパティはないようで、ユーザーのプロパティにはログインしているコンピュータが表示されません。 ADや何かのどこかにあるコンピュータとその現在のユーザーのリストを見たのは覚えているようですが、それはしばらくありました...ドメインコントローラを使ってユーザーがログインしていると、 。 – Dexter