次の方法で共有


組織単位の作成

ドメインオブジェクトを作成したので、組織単位の作成を開始できます。 Fabrikamには、次の2つの部門があります。販売部門と生産部門です。 会社は、各部門を管理するためにWindows 2000管理者を二人雇うことを計画しています。 Joe Wordenは、エンタープライズ管理者として、Fabrikamドメインの下に2つの新しい組織単位を作成します。 組織単位を作成することで、Joeは複数のオブジェクトをグループ化し、他のユーザーにこれらのオブジェクトを管理させることができます。 次のコード例では、Sales組織単位 (OU) を作成します。

Dim dom as IADsContainer
Set dom = GetObject("LDAP://DC=Fabrikam,DC=Com")
Set salesOrg = dom.Create("organizationalUnit", "OU=Sales")
salesOrg.Put "description", "Sales Headquarter,SF"
salesOrg.Put "wwwHomePage", "https://fabrikam.com/sales"
salesOrg.SetInfo

IADsContainer。Createメソッドは、クラス名と新しいオブジェクトの名前を受け取ります。 この時点では、オブジェクトはActive Directoryにコミットされていません。 ただし、クライアントにはADSI/COMオブジェクト参照があります。 このADSIオブジェクトでは、IADを使用して属性を設定または変更できます。Putメソッド。 IAD。Putメソッドは、属性名と属性の値を受け取ります。 それでも、ディレクトリには何もコミットされません。すべてがクライアントでキャッシュされます。 IADを呼び出すと、変更がディレクトリにコミットされます。SetInfoメソッドを呼び出すと、変更 (この場合はオブジェクトの作成と属性の変更) がディレクトリにコミットされます。 これらの変更はトランザクション処理されます。つまり、設定したすべての属性を持つ新しいオブジェクトが表示されるか、オブジェクトがまったく表示されません。

組織単位を入れ子にすることもできます。 次のコード例では、Sales部門がさらにEast地域とWest地域に分割されていることを前提としています。

Set east = salesOrg.Create("organizationalUnit", "OU=East")
east.SetInfo

これは、West地域にも当てはまります。

Sales組織のEast地域に直接バインドするには、識別名を指定します。

Set east = GetObject("LDAP://OU=East,OU=Sales,DC=Fabrikam,DC=COM")
Debug.Print east.Get "description"
east.Put "wwwHomePage", "https://fabrikam.com/sales/east"

親オブジェクト (Sales) に既にバインドしている場合は、子オブジェクトの相対名を使用して、親オブジェクトから子オブジェクト (East) にバインドできます。

Set east = salesOU.GetObject("organizationalUnit", "OU=East")

オブジェクトが作成されていることを確認するには、Active DirectoryユーザーとコンピューターMMCスナップインを使用して、新しい組織単位を表示します。

組織単位ADへの既存ユーザーの移動