Active DirectoryにVBScript(従来のASP)を使用して照会したいとします。 これをどのように達成できますか?VBScriptを使用したActive Directoryの照会
答えて
これを試してみてくださいDNのためのカスタム検索を行うには
Set objOU = GetObject("LDAP://OU=YourOU,DC=YourDomain,DC=com")
For each objMember in ObjOU ' get all the members'
' do something'
Next
...これを試してみてください、OUのすべてのメンバーを見て...
set conn = createobject("ADODB.Connection")
Set iAdRootDSE = GetObject("LDAP://RootDSE")
strDefaultNamingContext = iAdRootDSE.Get("defaultNamingContext")
Conn.Provider = "ADsDSOObject"
Conn.Open "ADs Provider"
strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user));distinguishedName,adspath;subtree"
set objCmd = createobject("ADODB.Command")
objCmd.ActiveConnection = Conn
objCmd.Properties("SearchScope") = 2 ' we want to search everything
objCmd.Properties("Page Size") = 500 ' and we want our records in lots of 500
objCmd.CommandText = strQueryDL
Set objRs = objCmd.Execute
While Not objRS.eof
' do something with objRS.Fields("distinguishedName")'
objRS.MoveNext
Wend
ケン、私はのための "sAMAccountNameの" 値を取得したい場合特定の姓&LastNameの値は、あなたの最初の例に基づいて、私は を行うだろう、その後ObjOU.FirstName =「アラン」とObjOU.LastName =「スミス」の場合 sVariable = ObjOU.sAMAccountName それは正しいだろうか? – Frank
より良い方法は実際にクエリで探している特定のfirstname/lastnameを使用することです... strQueryDL = "
あなたはActive Directory Service Interfaces (ADSI)を使用したいです
ADSI Scripting Primerは、学習を開始して例を見つけるのに適しています。 (btw、これらのリンクはWindows 2000を参照しますが、それ以降のバージョンのWindowsでも有効です)。
私はoldskoolユーザー名でWinADに問い合わせる必要がありました。この.vbsスクリプトはユーザーアカウントを表示します。
- SAMアカウントで検索は、各ユーザーオブジェクト
- 使用AccountTypeから*ワイルドカード
- 印刷いくつかの属性を使用してADのユーザーを反復する最も最適化された方法は
テストスクリプトは最初のユーザーを取得するオブジェクトのフィルタリング完全修飾された文字列によるオブジェクトです。その単なる例です。 2番目の部分はsmith *フィルタによる実際のクエリです。
WinADSearch.vbs
' c:> cscript -nologo script.vbs
' c:> wscript script.vbs
' http://msdn.microsoft.com/en-us/library/d6dw7aeh%28v=vs.85%29.aspx
' WindowsAD queries
' http://www.kouti.com/tables/userattributes.htm
Option Explicit
'On Error Resume Next
Dim StdOut: Set StdOut = WScript.StdOut
Dim objUser
Set objUser = GetObject("LDAP://CN=Firstname Lastname,OU=Internal Users,OU=MyCompany,OU=Boston,OU=Root,DC=REGION1,DC=COM")
println(objUser.givenName & " " & objUser.middleName & " " & objUser.lastName)
println("name=" & objUser.name)
println("displayName=" & objUser.displayName)
println("userPrincipalName=" & objUser.userPrincipalName)
println("sAMAccountName=" & objUser.sAMAccountName)
println("distinguishedName=" & objUser.distinguishedName)
println("")
Dim conn, strQueryDL, strAttrs, objCmd, objRs, idx
set conn = createobject("ADODB.Connection")
conn.Provider = "ADsDSOObject"
conn.Open "ADs Provider"
strAttrs = "sAMAccountName,displayName,distinguishedName" ' get attributes
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person));" & strAttrs & ";SubTree"
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person)(objectClass=user));" & strAttrs & ";SubTree"
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person)(objectClass=user)(sAMAccountName=smith*));" & strAttrs & ";SubTree"
strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (samAccountType=805306368)(sAMAccountName=smith*));" & strAttrs & ";SubTree"
set objCmd = createobject("ADODB.Command")
objCmd.ActiveConnection = Conn
objCmd.Properties("SearchScope") = 2 ' search everything
objCmd.Properties("Page Size") = 100 ' bulk operation
objCmd.CommandText = strQueryDL
println(objCmd.CommandText)
Set objRs = objCmd.Execute
idx=0
do while Not objRS.eof
idx=idx+1
println(objRs.Fields("sAMAccountName") & "/" & objRs.Fields("displayName") & "/" & objRs.Fields("distinguishedName"))
if (idx>5) then exit do
objRS.MoveNext
loop
objRs.Close
Conn.close
set objRs = Nothing
set conn = Nothing
println("end")
'********************************************************************
Sub println(ByVal str)
If (StdOut Is Nothing) Then Exit Sub
StdOut.WriteLine str
End Sub
- 1. Active Directoryを照会しています
- 2. タスクActive Directoryに照会するための並列ライブラリ(DirectoryServicesを使用)
- 3. VBScriptを使用してActive DirectoryをSQLデータベースに抽出する
- 4. 私はActive Directoryソースからユーザーを照会しています
- 5. PowerShellを使用したActive Directoryのクエリ
- 6. Windows上のルビーアプリケーションでActive Directoryを照会する
- 7. C#のActive Directoryからユーザーを段階的に照会
- 8. Apacheを使用したActive Directory
- 9. REST API - Active Directoryへの照会要求の投稿
- 10. Active Directoryでプライマリ以外の電子メールアドレスを照会しています
- 11. パブリックテスト用のActive Directory
- 12. Active Directoryにすべてのグループおよびグループメンバーを照会する方法は?
- 13. XamarinのAzure Active Directoryのユーザー名を使用したサイレントログイン
- 14. Active Directoryを使用した.NETのユーザーグループと役割の管理
- 15. ADFSのないActive Directoryを使用したクレームベースの認証
- 16. PowerShellを使用したAzure B2C Active Directoryへのサービスアプリケーションの登録
- 17. Active Directory認証を使用したFedora 10のPlone 3.2.1
- 18. Active Directoryを使用したASP.NET MVC3アプリケーションのカスタムロール
- 19. Active Directoryグラフクライアント:C#APIを使用したアプリケーションの削除
- 20. ワイルドカードを使用したActive Directoryクエリのパフォーマンスが低い
- 21. grokを使用したActive Directoryログの解析が遅い
- 22. Azure Active Directory認証を使用した.Netコアアプリケーションの実装
- 23. OAuthを使用したAzure Active Directoryの色相サポート
- 24. Active DirectoryでのCSLA.NETの使用
- 25. のActive Directoryの使用法、LDAP
- 26. Active Directoryを使用するIdentityServer 4
- 27. Active Directoryを使用するSpring Security 3.1
- 28. エンティティデータモデルを使用するActive Directory
- 29. Active DirectoryでextensionAttributesを使用する
- 30. IdentityServerとActive Directoryを使用するSSO
http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/ – Shoban