none
組織単位(OU)のプロパティで設定出来る項目について RRS feed

  • 質問

  • お世話になっています。

    組織単位について教えてください。

    組織単位(OU)を右クリックし、プロパティを表示させると、
        全般
        管理者
        COM+
    の3つのタブが表示されます。

    この[管理者]タブと[COM+]タブは何の情報が表示されるのでしょうか。

    参考文献を確認したところ
        特定のOUのプロパティシートの[管理者]タブでユーザを管理者として追加しても、
        このOUに対して何らかの許可がそのユーザに与えられる訳ではありません。
        この設定は単なる情報です。
    と記載されていました。

    組織単位(OU)に対して設定を行っても何の意味もないということなのでしょうか。

    また、
        [COM+]タブは、パーティションセットを設定出来るようなのですが、
        "パーティションセット"の意味が分かりませんでした。
        そもそもCOM+とは何かが分かりませんでした。
    COM+とは何なのでしょうか?
       
    度々申し訳ありませんが、教えてください。
    よろしくお願いします。
    2011年5月14日 11:45

回答

  • COM+とは、リモートマシンのコンポーネント(サブルーチンとか機能)を呼ぶためものです。

    アプリケーション サーバーのパーティションとは、このコンポートネントを起動するにあたり、ユーザーかOUごとに同じコンポーネントの違うバージョンを呼び出すことができる機能です。たとえば、Project2.Class1という名前のコンポーネントを呼び出したとき、ユーザーAでは”あ”、ユーザーBでは”い”という結果を変えさせることができます。

    この機能は、基本的には、各アプリケーションサーバーで設定するもの名です。しかし、サーバーごとで設定していると管理が大変なのでActive Directoryで集中管理することができます。
    各サーバーのパーティションをパーティションセットにまとめ、それをユーザーごとかOUごとに割り当てることができます(OUの設定が意味無いということはありません)

    具体的な使い方は以下のような感じです。
    例:(昼休みに久しぶりにやってみました^^;)
    1、アプリケーションサーバーに「ベースアプリケーション パーティション」に加えて「テスト パーティション」を追加
    2、Active Directory上に2つのパーティションを作成する。
    3、Active Directory上に作成したパーティションのIDをアプリケーションサーバーに作成したパーティションIDに変更して、Active Directoryで各アプリケーションサーバーを管理できるようにする。
    4、アプリケーションサーバーの2つのパーティションにバージョンの違うおなじコンポーネントを登録する
    5、Active Directory ユーザーとコンピュータからOUに対して実行したいバージョンのアプリケーションセットを指定

    アプリケーションセットを切りかえると、違う結果が返ってくることが確認できます。
    アプリケーションセットA or <なし>:Baseパーティション
    アプリケーションセットB:別パーティション

    【ご参考】
    @ITハイブックス:Windows Server 2003 Webアプリケーションサーバ構築
    http://hybooks.atmarkit.co.jp/hybooks/2003/win03apl/ch07/070203.html

    「Active Directory 内の COM+ パーティション セットを管理する」
    http://technet.microsoft.com/ja-jp/library/cc781751(WS.10).aspx

    【おまけ】
    作成したCOMコンポーネント(VB6)
    Project2.Class1 (ファイル名:Project2.DLL):コメントアウトして、2つのバージョンで結果を変えているだけの超安直なサンプル
    ※2つもバージョンは、別フォルダに登録してコンポーネントサービスのスナップインから登録してください。

    Public Function Test() As String
    
    Test = "別パーティション"
    
    'Test = "Baseパーティション"
    
    End Function
    
    
    
    

    呼び出し例(VB6)
    Project1.exe:呼び出してテキストボックスに放り込むだけのやる気満々過ぎるサンプル

    Private Sub Command1_Click()
    
    Dim obj As Object
    
    Set obj = CreateObject("Project2.Class1")
    
    Text1.Text = obj.Test
    
    Set obj = Nothing
    
    End Sub
    
    
    
    
    2011年5月18日 7:14
    モデレータ