none
ドメインユーザのパスワード変更UI RRS feed

  • 質問

  • イントラ上のWindowsドメインユーザが、ドメイン参加していないPCからでもCGI等からパスワード変更をする必要に迫られています。

    ADサーバとIISサーバはどちらも Windows2008R2です。IISサーバへPerlやPHPの導入は可能です。.Net等の開発環境は持っていませんが、あれば容易に構築できるなら購入します。なお、Exchangeサーバは持っていません。

    以前調べたところ、Windows Server 2003 には標準で IISADMPWD が含まれていたので、ASPの導入は未経験ですが当てにしていたのですが、2008R2には入っていなくて途方に暮れています。言語や手法を問わないので構築するためのヒントをください。よろしくお願いいたします。

    2011年5月26日 2:57

回答

  • こんにちは。

    実際に、やってらっしゃる方からコメントが付かなかった場合、以下が参考になると思います。

     

    IISADMOWDってもともとOWA絡みのものだった気もしないでもないのですが、間違いかな・・・
    Exchangeを入れるとOWA付いてたと思うのですが・・・
    Outlook Web Access のパスワードの変更機能の使用方法 http://support.microsoft.com/kb/297121/ja

    ASP(Active Server Pages)ですと、Active Directory Service Interfaces (ADSI) が使えると思います。(ちょっと頭古いので、確かめてみる必要があります)
    Set ComputerObj = GetObject("ADs://")
    Response.Write ComputerObj.Name & "<br>"
    For Each Child In ComputerObj
      Response.Write Child.Name & "<br>"
    Next
    こんな感じでASPから操作できるということらしぃです。

    .NET Framework のライブラリのSystem.DirectoryServicesが使えると思います。
    System.DirectoryServices.AccountManagement.UserPrincipal.Current.ChangePassword("OldPass", "NewPass") のような感じです。

    ※どれも、実環境で試していません。実行条件など色々あると思います。


    K.Oumi
    • 回答としてマーク 星 睦美 2011年6月1日 9:15
    2011年5月26日 8:05

すべての返信

  • こんにちは。

    IISがどのように関係してくるのかわからないのですが、とりあえずこれでどうでしょう。
    http://gallery.technet.microsoft.com/scriptcenter/1aaca220-34fe-4590-bf3a-ad98d489e828/


    K.Oumi
    2011年5月26日 5:17
  • 説明が不足していたようで失礼しました。

    不特定多数のドメイン参加していないPC(Windows, Linux,等)から、ドメインユーザが自分のアカウントのパスワードを変更するための手段として、IISのCGI等でする方法を探しています。

    2011年5月26日 7:12
  • こんにちは。

    実際に、やってらっしゃる方からコメントが付かなかった場合、以下が参考になると思います。

     

    IISADMOWDってもともとOWA絡みのものだった気もしないでもないのですが、間違いかな・・・
    Exchangeを入れるとOWA付いてたと思うのですが・・・
    Outlook Web Access のパスワードの変更機能の使用方法 http://support.microsoft.com/kb/297121/ja

    ASP(Active Server Pages)ですと、Active Directory Service Interfaces (ADSI) が使えると思います。(ちょっと頭古いので、確かめてみる必要があります)
    Set ComputerObj = GetObject("ADs://")
    Response.Write ComputerObj.Name & "<br>"
    For Each Child In ComputerObj
      Response.Write Child.Name & "<br>"
    Next
    こんな感じでASPから操作できるということらしぃです。

    .NET Framework のライブラリのSystem.DirectoryServicesが使えると思います。
    System.DirectoryServices.AccountManagement.UserPrincipal.Current.ChangePassword("OldPass", "NewPass") のような感じです。

    ※どれも、実環境で試していません。実行条件など色々あると思います。


    K.Oumi
    • 回答としてマーク 星 睦美 2011年6月1日 9:15
    2011年5月26日 8:05
  • K.Oumiさま、ありがとうございます。
    ASPは未経験なので敷居が高いですが、方法があるとわかれば挑戦しがいがあります。

    ちなみにIISADMINPWDの件、手元のWindows Server 2003 std (アプリは未インストール)では、下記フォルダに入っていました。
    C:\WINDOWS\system32\inetsrv\iisadmpwd 

    経験済みの方からもコメントを頂けるとありがたいので、よろしくお願いします。

    以下余談
    userminやpoppassdのようなユーティリティがあると便利なのですが、探してみると無いものですね。
    皆さんExchange Serverを使われているのかな?

    2011年5月26日 10:03
  • S.Hara さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    K.Oumi さんの返信に[回答としてマーク] をさせていただきました。
    TechNet フォーラムでIISADMPWD に関連した過去の質問があります。参考までにご紹介します。

    ・IISADMPWDの構築方法:
    http://social.technet.microsoft.com/Forums/ja-JP/iis7ja/thread/4f3ad9ed-1040-4bac-94ec-a722b35825d2

    今後ともTechNet フォーラムをよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2011年6月1日 9:18