[ADSI] F# で System.DirectoryServices を使ってみる
こんにちは、ぴろとでございます。Visual Studio 2010 がついに RTM されました!ということで、私たちの ADSI/ILM チームでも “ざわ…ざわ… ” しておりました。なぜかというと、Visual Studio 2010 では新しい言語 F# が追加になっています。その準備を行っていなかったためです。せっかくリリースされた F# を本ブログで取り上げないわけにはいきません!(使命感メラメラ)
ちなみに、画面はこんな感じ。なんか青くて Coooooool なイメージです。(そういえば、MSDN も青いですね!)
というわけで、画面にあるように、F# で sAMAccountName を取得するだけの非常に簡単なサンプルを作ってみました。
- //--------------------- Sample コード ------------------------
- open System.DirectoryServices
- let ds = new DirectoryEntry(
- "LDAP://dc.contoso.com/CN=Administrator,CN=Users,DC=contoso,DC=com",
- "contoso\Administrator",
- "P@ssword")
- let strValue = ds.InvokeGet("sAMAccountName").ToString()
- ds.Dispose()
- printf "%s\n" strValue
- //---------------------------------------------------------------
//--------------------- Sample コード ------------------------
open System.DirectoryServices
let ds = new DirectoryEntry(
"LDAP://dc.contoso.com/CN=Administrator,CN=Users,DC=contoso,DC=com",
"contoso\Administrator",
"P@ssword")
let strValue = ds.InvokeGet("sAMAccountName").ToString()
ds.Dispose()
printf "%s\n" strValue
//---------------------------------------------------------------
おおー、ここだけ見ると、VB とか C# とあんまり変わらないですね。空のコンソールアプリケーションを作成すると、VB や C# と違ってエディタ上にコメント一行しかでていないため、「main とか、ないんだ…。」と一瞬あせりました…。
英語になってしまいますが、F# のサンプルや、ドキュメントがありますので、以下に掲載いたしました。
- 参考情報
Microsoft F# Developer Center
https://msdn.microsoft.com/ja-jp/fsharp/default(en-us).aspx
ちなみに、WMI のサンプルはすでに、Jomo Fisher さんの Blog で紹介されていました。
How to Enumerate all WMI Classes (Sharp Things)
https://blogs.msdn.com/jomo_fisher/archive/2010/05/18/how-to-enumerate-all-wmi-classes.aspx
皆様 F# をつかってみてください!それではご機嫌よう!
ぴろと@娘のオムツを替えている最中に(ry