我是武男, 24歲, 大家都叫我阿男...有的人還會叫我白目研究生...找我的話請Google "武男" 就沒錯了~

PHP-LDAP_Search Lists Active Directory® Account How To

Autor 白目研究生 | 24.07.2009 | Category PHP, 技術文件

看完新增AD Account後,就是把全部的使用者怎麼全部列表出來了~

References:

http://www.php.net/manual/en/function.ldap-search.php

Source Code : Download

ldap_add

這邊可以注意的是~

如果不管AD端預設值的話~

會在這程式開始執行的時候發現這個(Warning: ldap_search(): Partial search results returned: Sizelimit exceeded.)提醒

看一下ldap_search傳回來的資料不多不少剛好一千~

這數值真的很令人在意啊~XDD

ldap_add7

所以測了一下ldap_search的sizelimit參數~

發現~可能問題出在~AD Server那一端~

微軟也很貼心(?)的設定了1000 Default Value~

所以學長就這樣子操作了~(KeyWord : Ntdsutil.exe – Active Directory 目錄服務維護公用程式)

ldap_add1

看一下HELP可以做些什麼設定~

不過現在的重點會放在LDAP Policies

ldap_add2

這是還沒建立Connections的錯誤

所以Show Values不知道要Show什麼資料

ldap_add3

所以,想辦法連線到AD端

ldap_add4

然後就可以用(Set %s to %s)來修改一些數據

ldap_add5

修改的話~應該不難~

以Set %s1 to %s2的例子而言

%s1 = Argument Name

%s2 = Set Argument Value

所以大概是Set MaxPageSize to 35000、Set MaxTempTableSize to 35000後

就會看到下面的結果了~

ldap_add6

整理一下檢視/變更原則設定的步驟 :

啟動 Ntdsutil.exe

按一下 [開始],然後按一下 [執行]。

在 [開啟] 文字方塊中,輸入 [ntdsutil],然後按 [ENTER]。任何時候,若要檢視說明,請在命令提示字元下輸入 ?

檢視原則設定

在 Ntdsutil.exe 命令提示字元下,輸入 LDAP policies,然後按 [ENTER]。

在 LDAP 原則命令提示字元中,輸入 connections,然後按 [ENTER]。

在伺服器連線命令提示字元中,輸入 connect to server <DNS name of server>,然後按 [ENTER]。連線至您目前使用的伺服器。

在伺服器連線命令提示字元中,輸入 q,然後按 [Enter] 以返回前一個功能表。

在 LDAP 原則命令提示字元中,輸入 Show Values,然後按 [Enter]。現有的原則便會出現。

變更原則設定

在 Ntdsutil.exe 命令提示字元下,輸入 LDAP policies,然後按 [ENTER]。

在 LDAP 原則命令提示字元中,輸入 Set MaxPageSize to 1000,然後按 [ENTER]。您可以使用 [Show Values] 命令來驗證變更。

若要儲存變更,請使用 [認可變更]。

當您完成時,請輸入 q,然後按 [Enter]。

若要結束 Ntdsutil.exe,請在命令提示字元中輸入 q,然後按 [Enter]。

其他群組原則參數說明請服用How to view and set LDAP policy in Active Directory by using Ntdsutil.exe


完美的結局令人害怕~

PHP-LDAP_ADD Add Active Directory® Account How To

Autor 白目研究生 | 24.07.2009 | Category PHP, 技術文件

看完刪除AD Account後,就是新增使用者的部分

References:

http://www.php.net/manual/en/function.ldap-add.php

Source Code : Download

ldap_add

可以注意的是有關於密碼這個attribute分成了兩個~

userPassword與unicodePwd

可以辨別出的差異在這裡提出了說明:

userpassword is only accepted for auth, and unicodepwd is not readable by ldap.

以圖例來舉證的話~

下圖是用LDAP ADMIN新增cn_test的密碼呈現的結果,(SHA1)

ldap_add4

如果硬要使用Create Unicode Password的方式

把密碼塞給userPassword這個attribute的話

會只看到一個字元

也就是

$newPassword = “\”” . $pwdtxt . “\”";

上面標註的那個字元

ldap_add2

還有~

看不見任何unicodePwd attribute的結果~

不過可以確定的是~

在這個case,就算沒有可視的unicodePwd

還是可以進行密碼的驗證~

ldap_add3

PHP-LDAP_DELETE Delete Active Directory® Account How To

Autor 白目研究生 | 23.07.2009 | Category PHP, 技術文件

有長輩開需求就終於可以寫文件了~XDD

頭一次建立Active Directory®約等同於Lightweight Directory Access Protocol的概念

這次要用PHP對AD跟LDAP兩端處理一些資料

目的讓兩端的的記錄能同步

所以這幾天的文件會紀錄

PHP for LDAP一些用法(sample/example)

ldap_search、ldap_add、ldap_delete的用法

所以這篇文章就先ldap_delete了~

Reference:

http://www.php.net/manual/en/function.ldap-delete.php

Test Target:

End operation -Linux vivaldi 2.6.18-6-686
Server-side – Windows 2003 Server AD

Source Code : Download

ldap_del


聽說LDAP/AD系統整合管理相當夯~XDD

PHP-看Wordpress每次都會忘記的地方

Autor 白目研究生 | 01.02.2008 | Category PHP, 技術文件

http://codex.wordpress.org/Category:Functions

相當好用

可是每次都會忘記

特此NOTE

再快的方式就是cat ~/wp-includes/*.php | more

這樣子最快

XDD

PHP-SOAPCLIENT How To

Autor 白目研究生 | 03.12.2007 | Category C#.NET, PHP, 技術文件

又是Program

整理一些下一個Project的前置作業

如何使用PHP叫用Web Services

用了SOAPCLIENT的Object

測試環境:

Web Service Server:IIS 5

Web Services:dotNET Web Service Project

Web Server:appserv-win32-2.5.8

PHP Compiler:PHP Version 5.2.0

寫了兩個dotNET的WebMethod測試