2009年12月19日土曜日

2009年12月18日金曜日

Active DirectoryのユーザーのパスワードをLDAPS経由で変更する

Active Directoryに登録されているユーザーのパスワードを変更するときに、unicodePwd属性をreplaceしてしまうと、パスワード履歴のポリシーが効かないことを知った。

http://support.microsoft.com/kb/269190/ja

ここを参考に、unicodePwd属性をDELETE + ADDで処理すると、きちんと履歴のポリシーも反映されることが分かった。
ちなみに、複雑性のチェックは、REPLACEでも問題無かったので気づかなかった。

Pythonのテストプログラムはこんな感じ。


#!/usr/bin/python

import ldap

oldpassword = "pass12345"
newpassword = "newass"

def unicodePassword(plainpasswd):
return ('"%s"' % plainpasswd).encode("utf-16le")

ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ldap.set_option(ldap.OPT_REFERRALS, 0)
conn = ldap.initialize("ldaps://win2008")
conn.bind_s("Administrator@example.com","adminpass")
username = "testuser1"
filter = "(sAMAccountName=%s)" % username
rt = conn.search_s("dc=example,dc=com", ldap.SCOPE_SUBTREE, filter)
for (dn,attrs) in rt:
if dn:
userdn=dn

print userdn

unipass = unicodePassword(newpassword)
oldunipass = unicodePassword(oldpassword)
mod_attrs = [(ldap.MOD_DELETE, 'unicodePwd', oldunipass)] + [(ldap.MOD_ADD,'unicodePwd',unipass)]
# mod_attrs = [(ldap.MOD_REPLACE, 'unicodePwd', unipass)]
conn.modify_s(userdn, mod_attrs)





2009年12月15日火曜日

Firefoxの携帯ブラウザExtension

自分で作成しているWebアプリが携帯の画面でどう見えるのか調べる必要ができたので、携帯シミュレーターを探したところ、FireMobileSimulatorというのがあった。

http://firemobilesimulator.org/

FirefoxのExtensionになっていて、インストールして、「ツール」-「FireMobileSimulator」-「端末設定」で、簡単に携帯モードになってくれた。
Webアプリのちょっとした見栄えの確認ぐらいなら、これで十分で、携帯アプリの素人さんとしては、とても助かった。


2009年12月11日金曜日

[Google Apps更新情報] AppsがGoogle Groupに対応!!

http://googleappsupdates.blogspot.com/2009/12/google-groups-launched-in-google-apps.html

これまでGoogleドメインで提供されていたGoogle Groupsの機能がGoogle Appsの独自ドメインでも利用可能になった。

Google Appsの独自ドメインのGroupsは、一般公開にするか、ドメイン内のユーザー限定にするか、設定可能。
Groupsにグループを作成できる人も、誰でも可能にするか、ドメイン内のユーザーのみにするか、管理者のみにするか選択可能。

これで、メーリングリストとしての機能は十分果たせると思う。


2009年12月2日水曜日

Google Apps Provisioning API グループ機能対応

Googleが提供しているGoogle Apps用のProvisioning APIの中身を調べていたら、
いつの間にか、グループ機能用のAPIが追加されていることに気づいた。

日本語の解説ページにはグループ用のAPIは記載されていなくて、昔からのメーリングリストのAPIが載っている。
http://code.google.com/intl/ja/apis/apps/gdata_provisioning_api_v2.0_reference_python.html

英語のページはきちんと更新されていて、メーリングリストのAPIの代わりにグループのAPIが載っている。
http://code.google.com/intl/en/apis/apps/gdata_provisioning_api_v2.0_reference_python.html

ということで、調べるときには英語のページで。
少し動かしてみたところ、メーリングリストのAPIでもグループを作成できるけど、メンバーの役割を指定する機能を使いたければ、グループ用APIを使わないといけない。