62
救世主降臨! ACTIVE DIRECTORY +POWERSHELL が開発者を救う!? 開発者のための最新ACTIVE DIRECTORY講座 マイクロソフト株式会社 エバンジェリスト 安納 順一 Anno Junichi http://blogs.technet.com/junichia/

開発者のためのActive Directory講座

Embed Size (px)

DESCRIPTION

Windows PowerShellを使用するとActive Directoryと付き合いやすくなります というお話

Citation preview

Page 1: 開発者のためのActive Directory講座

救世主降臨!ACTIVE DIRECTORY + POWERSHELL が開発者を救う!?

開発者のための最新ACTIVE DIRECTORY講座

マイクロソフト株式会社

エバンジェリスト

安納 順一 Anno Junichi

http://blogs.technet.com/junichia/

Page 2: 開発者のためのActive Directory講座

これまで いろいろありました....これまで いろいろありました....

Page 3: 開発者のためのActive Directory講座

3

10年もたつけど・・・

Page 4: 開発者のためのActive Directory講座

4

ある日の会話(ほぼ実話)登場人物

PM :プロジェクトマネージャー(ンフラ担当SEが兼任)DEV :業務ゕプリ設計/開発担当

PM 「例の業務ゕプリだけど、認証はどうするの?」DEV 「もちろん実装しますよ。ローカルにDBもてばいいんですよね?」PM 「だめだよ。Active Directory で認証するようにしよ」DEV 「えぇ、使ったことないですよ。Active Directory なんて」PM 「別に難しくないよ」DEV 「実績が無いので開発コストが増えますよ?」PM 「どれくらい?」DEV 「5人月とか?」PM 「そんな馬鹿なぁ!それに予算FIXしてるのに、いまさら無理だって~」DEV 「Active Directoryから同期してくればいいじゃないですか」PM 「じゃ、同期する部分作ってくれる?」DEV 「そんなのバッチ作れば済むじゃないですか」PM 「…」

Page 5: 開発者のためのActive Directory講座

5

認証を独立させるとこんな影響が…

業務ゕプリA

業務ゕプリB

フゔルサーバー(Windows)

メールサーバー(LDAP)

ユーザーDB

ユーザーDB

Active Directory

OpenLDAP

メタデータベース

Page 6: 開発者のためのActive Directory講座

6

AGENDA

はじめに マクロソフト製品群におけるAD DSの位置づけ

ITシステムにおけるAD DSの位置づけ

AD DSは開発者の救世主となるか?

開発者にとっての AD DS

AD DS「さわりかた」超基礎

開発者のための AD DS 最新トピック 2010年度版 New! AD Recycle Bin で削除したオブジェクトを復活

Windows PowerShell と AD DS まずは AD の構造から

AD DS用コマンドレットの使い方

Appendix

Page 7: 開発者のためのActive Directory講座

はじめに

AD DSの位置づけ

Page 8: 開発者のためのActive Directory講座

8

メッセージ保護安全な

コラボレーション

情報の保護

IDとアクセスの管理

統合セキュリティ

クライアント保護

マクロソフト製品群におけるAD DSの位置づけ

Page 9: 開発者のためのActive Directory講座

9

Access

IDとゕクセスを統制するということは

ID

資源がIDを介して有機的に結びついた状態

Page 10: 開発者のためのActive Directory講座

10

ITシステムにおける AD DS の位置づけ

業務ゕプリA(Linux)

業務ゕプリB(Windows)

フゔルサーバー(Windows)

メールサーバー(Linux)

Active Directory Domain Service

認証/ユーザー情報問合せ(ADO/ADSI)

Page 11: 開発者のためのActive Directory講座

AD DSは開発者の救世主となるか

Page 12: 開発者のためのActive Directory講座

12

開発者視点での AD DS のメリット

Windowsクラゕントにログオンしているユーザーは、すでに「資格情報」を保持しているため、ユーザーIDを改めて入力させる必要は無いし、パスワードの保存も必要ない。

管理者のみが行える操作、ユーザーが行える操作、部門によって行える操作等の判断は、Active Directory の組織情報やタトル、所属グループ等から判断すればよく、ローカルで管理する必要は無い。

ID統制には大切な視点!矛盾のないID管理は、可能な限り重複管理を避けることから始まります!

氏名や所属など、ユーザー情報はAD DSに格納されているので、ローカルDBに保存する必要が無い。ただし、情報漏えいに関して注意も必要(後述)。

Page 13: 開発者のためのActive Directory講座

13

(参考)AD DSの注意すべき点

AD DSのリポジトリは LDAP であり、AD DSで認証を受けたユーザー(Authenticated Users)は、ほぼ全てのユーザー情報を「参照」することができる。※Anonymous はゕクセスできません

電話番号や住所、生年月日等、プラバシーにかかわる情報についてはActive Directory 管理者側の意識的な対応が必須!

※特定のAttributeへのゕクセス権を本人のみにする等

Page 14: 開発者のためのActive Directory講座

14

ちなみに…AD DSの構築って簡単なの?

YES!構築するだけならば超簡単※運用はそれなりの苦労を伴いますが…

別紙「Windows Server 2008 60分クッキング」をご覧ください

Page 15: 開発者のためのActive Directory講座

15

AD DS のツリー構造(要はLDAPなのです)

OU=営業部

OU=第一営業課

DC=Contoso,DC=com

CN=Users

OU=第二営業課

CN=Tanaka

CN=Yamada

CN=Suzuki

sAMAccountName = TanakaemployeeID = 999999Title = ManagerDivision = 営業部第一営業課DisplayName = 田中 一郎SurName = 田中givenName = 一郎homeDirectory = ¥¥Server¥Home¥TanakaphoneNumber = +81-90-9999-9999IsMember = 第一営業課,営業部

CN=Yasuda

Page 16: 開発者のためのActive Directory講座

16

AD DS「さわりかた」の超基礎 ①~WINDOWS POWERSHELL 編

PS C:>$env:UserName

• 現在ログオンしているユーザーID

PS C:>Import-Module ActiveDirectory

• Active Directoryモジュールの読み込み

PS C:>Get-Command –module ActiveDirectory | Out-GridView

• Active Directory 関連コマンド一覧の参照

PS C:>$userid = $env:UserNamePS C:>Get-ADUser $userid

• 現在ログオンしているユーザーIDの情報

PS C:>$userid = $env:UserNamePS C:>$objUser = Get-ADUser $userid –properties displayNamePS C:>$displayName = $objUser.dislayName

• ユーザーのプロパテゖを参照

Page 17: 開発者のためのActive Directory講座

17

AD DS「さわりかた」の超基礎 ②~WINDOWS POWERSHELL 編

PS C:>cd AD:PS AD:>dir

Name ObjectClass DistinguishedName-------------------------------------------------------------------------Contoso domainDNS dc=Contoso,dc=ComConfiguration configuration cn=Configuration,dc=contoso,…Schema dMD cn=schema,cn=Configuration,…・・PS AD:¥>cd ‘.¥DC=Contoso,DC=Com’PS AD:¥DC=Contoso,DC=Com>dir

Name ObjectClass DistinguishedName-------------------------------------------------------------------------Builtin BuiltinDomain cn=Builtin,dc=contoso,dc=comComputers container cn=Computers,dc=contoso,dc…・・

• AD DSをブラウズ

Page 18: 開発者のためのActive Directory講座

18

AD DS「さわりかた」の超基礎 ③~WINDOWS POWERSHELL 編

• ユーザーIDに test を含むユーザーを検索する

PS C:¥>Get-ADUser –Filter {sAMAccountName –like “*test*”} | ftsAMAccountName

• 無効化されたユーザーを検索する

PS C:¥>Search-ADAccount –AccountDisabled -UserOnly

• パスワードの有効期限が切れたユーザーを検索する

PS C:¥>Search-ADAccount –PasswordExpired -UserOnly

• ゕカウントの有効期限が切れたユーザーを検索する

PS C:¥>Search-ADAccount –AccountExpired -UserOnly

• ロックされたユーザーを検索する

PS C:¥>Search-ADAccount –LockOut -UserOnly

• パスワードが無期限のユーザーを検索する

PS C:¥>Search-ADAccount –PasswordNeverExpired -UserOnly

Page 19: 開発者のためのActive Directory講座

19

AD DS「さわりかた」の超基礎 ④~WINDOWS POWERSHELL 編

• 1年間ログオンしていないユーザーを検索する※ただし最近作成したユーザーは除外する

PS C:¥>Search-ADAccount –AccountInactive –TimeSpan 365 -usersonly| Foreach-Object {(Get-ADUser $_.Name –Properties WhenCreated)} | Where-Object {$_.WhenCreated –lt “2009/11/18 17:00:00”}

2009/11/1817:00:00

除外

今から365日前

この間にログオンしていないユーザー

Page 20: 開発者のためのActive Directory講座

開発者のための

AD DS 最新トピック 2010年度版

伝えたいのはコレ!

「Active Directory Recycle Bin」

Page 21: 開発者のためのActive Directory講座

21

NEW! ACTIVE DIRECTORY RECYCLE BIN

機能削除したユーザーを完全復活!既定で180日間保持(変更可能)削除状態からの復旧であればAuthoritative Restoreは不要

属性情報の紛失時には使えないLinked-Value も完全復活

グループメンバーシップやグループメンバー など

留意事項(ご参考)Active Directory フォレスト機能レベル

Windows Server 2008 R2規定では無効(有効にしたら元には戻せない)DITの容量が10~15%程度増加(目安)操作は Windows PowerShell を使用

Page 22: 開発者のためのActive Directory講座

22

削除済 リサクル済有効

NEW! ACTIVE DIRECTORY RECYCLE BIN

「削除済」からの完全復旧

消滅

削除操作

GarbageCollection

・・・・ ・・

Page 23: 開発者のためのActive Directory講座

23

なぜ AD Recycle Bin が開発者に向けたトップストーリーなのか?

Page 24: 開発者のためのActive Directory講座

24

ユーザーIDのプロビジョニング - BEFORE

従来のプロビジョニング(WS2003~WS2008)

各種属性所属グループメンバーシップ

Page 25: 開発者のためのActive Directory講座

25

ユーザーIDのプロビジョニング - AFTER

Windows Server 2008 R2では

各種属性所属グループメンバーシップ

Page 26: 開発者のためのActive Directory講座

26

ユーザーIDのプロビジョニング - AFTER+

さらなる内製化

監査ログ

各種属性所属グループメンバーシップ

Page 27: 開発者のためのActive Directory講座

27

参考 EVENTLOGを検索する

PS > get-Eventlog security | where-object {$_.EventID –eq 5136}

Page 28: 開発者のためのActive Directory講座

WINDOWS POWERSHELL でRECYCLE BIN を操作してみる

Page 29: 開発者のためのActive Directory講座

29

[フゔル名を指定して実行]-「powersell」

WINDOWS POWERSHELL ADモジュールを使用するための準備

PS > import-module ActiveDirectoryPS > Get-Command -module ActiveDirectory

[スタート]-[すべてのプログラム]-[管理ツール]-[Windows PowerShell用のActive Directoryモジュール]

OR

Page 30: 開発者のためのActive Directory講座

30

WINDOWS POWERSHELL ADモジュール一覧Add-ADComputerServiceAccountAdd-ADDomainControllerPasswordReplicationPolicyAdd-ADFineGrainedPasswordPolicySubjectAdd-ADGroupMemberAdd-ADPrincipalGroupMembership

Clear-ADAccountExpiration

Disable-ADAccountDisable-ADOptionalFeature

Enable-ADAccountEnable-ADOptionalFeature

Get-ADAccountAuthorizationGroupGet-ADAccountResultantPasswordReplicationPolicyGet-ADComputerGet-ADComputerServiceAccountGet-ADDefaultDomainPasswordPolicyGet-ADDomainGet-ADDomainControllerGet-ADDomainControllerPasswordReplicationPolicyGet-ADDomainControllerPasswordReplicationPolicyUsageGet-ADFineGrainedPasswordPolicyGet-ADFineGrainedPasswordPolicySubjectGet-ADForestGet-ADGroupGet-ADGroupMemberGet-ADObjectGet-ADOptionalFeatureGet-ADOrganizationalUnitGet-ADPrincipalGroupMembershipGet-ADRootDSEGet-ADServiceAccountGet-ADUserGet-ADUserResultantPasswordPolicy

Page 31: 開発者のためのActive Directory講座

31

Install-ADServiceAccount

Move-ADDirectoryServerMove-ADDirectoryServerOperationMasterRoleMove-ADObject

New-ADComputerNew-ADFineGrainedPasswordPolicyNew-ADGroupNew-ADObjectNew-ADOrganizationalUnitNew-ADServiceAccountNew-ADUser

Remove-ADComputerRemove-ADComputerServiceAccountRemove-ADDomainControllerPasswordReplicationPolicyRemove-ADFineGrainedPasswordPolicyRemove-ADFineGrainedPasswordPolicySubjectRemove-ADGroupRemove-ADGroupMemberRemove-ADObjectRemove-ADOrganizationalUnitRemove-ADPrincipalGroupMembershipRemove-ADServiceAccountRemove-ADUserRename-ADObjectReset-ADServiceAccountPasswordRestore-ADObject

Search-ADAccount

Set-ADAccountControlSet-ADAccountExpirationSet-ADAccountPasswordSet-ADComputerSet-ADDefaultDomainPasswordPolicySet-ADDomainSet-ADDomainModeSet-ADFineGrainedPasswordPolicySet-ADForestSet-ADForestModeSet-ADGroupSet-ADObjectSet-ADOrganizationalUnitSet-ADServiceAccountSet-ADUser

Uninstall-ADServiceAccount

Unlock-ADAccount

Page 32: 開発者のためのActive Directory講座

32

RECYCLE BINを使用するための準備

フォレストの機能レベルを「2008 R2」にする

「ゴミ箱」を有効にする

PS> Set-ADForestMode–Identity contoso.com

–ForestMode Windows2008R2Forest

PS> Enable-ADOptionalFeature–Identity ‘Recycle Bin Feature’ –Scope ForestOrConfigurationSet–Target ‘contoso.com’

Page 33: 開発者のためのActive Directory講座

33

削除されたオブジェクトを復旧する

削除されたオブジェクトを参照する

オブジェクトを復旧する

PS> Get-ADObject -filter {sAMAccountName -eq “user01”} -IncludeDeletedObject

PS> Get-ADObject -filter {sAMAccountName -eq “user01”} -IncludeDeletedObject | Restore-ADObject

Page 34: 開発者のためのActive Directory講座

34

オブジェクトを削除するとDELETED OBJECTSに移動

Deleted Objects コンテナに移動

IsDeleted属性が Trueに

全てのオブジェクトがフラットに並ぶ

RDN(識別名)が書き換えられる<現在のRDN>¥0ADEL:<GUID>

¥0ADEL:…

¥0ADEL:…

¥0ADEL:…

¥0ADEL:…

¥0ADEL:...

¥0ADEL:…

Page 35: 開発者のためのActive Directory講座

35

ツリー構造の復旧はルートから行う

復旧は親から順に行う親オブジェクトが存在しない場合にはエラー

lastKnownParent 属性で検索削除する前の上位DN

¥0ADEL:…

¥0ADEL:…

¥0ADEL:…

¥0ADEL:…

¥0ADEL:...

¥0ADEL:…

まずはここから

Page 36: 開発者のためのActive Directory講座

36

ツリーの復旧1. 親を復旧

2. 親が「Finance_Department」であるものを復旧

3. 親が「Admins」であるものを復旧

Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=Finance)" –IncludeDeletedObjects| Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -Filter {lastKnownParent -eq "OU=Finance,DC=contoso,DC=com"} -IncludeDeletedObjects

| Restore-ADObject

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com"

-Filter {lastKnownParent -eq "OU=Admins,OU=Finance,DC=contoso,com"} -IncludeDeletedObjects

| Restore-ADObject

Page 37: 開発者のためのActive Directory講座

37

削除済オブジェクト の ライフタイム を変更する

リサイクル済オブジェクトのライフタイムを変更する

(参考)ラフタムを変更するには

Set-ADObject -Identity “CN=Directory Service, CN=Windows NT,CN=Services, CN=Configuration, DC=mydomain, DC=com” –Partition “CN=Configuration,DC=mydomain,DC=com” –Replace:@{“msDS-DeletedObjectLifetime” = 60}

Set-ADObject -Identity “CN=Directory Service, CN=Windows NT,CN=Services, CN=Configuration,DC=mydomain, DC=com” –Partition “CN=Configuration,DC=mydomain,DC=com” –Replace:@{“tombstoneLifetime” = 365}

Page 38: 開発者のためのActive Directory講座

38

業務に与えるンパクト

データ復旧時のシステム停止時間を大幅に削減

従来

Authoritative Restore によるバックゕップからの復元

Snapshot から取り出し(Windows Server 2008)

今後

Windows PowerShell によって簡単に復元

簡易的なユーザーIDプロビジョニングシステムの実現

導入コストの大幅な軽減

中小規模システムへのプロビジョニングの適用が可能に

Page 39: 開発者のためのActive Directory講座

39

VISUAL STUDIO から POWERSHELL を呼び出す

.Net Framework

ンフラSEはここも欲しい!

仮想マシン

Visual Studio

ここがないと自動化できない

Page 40: 開発者のためのActive Directory講座

40

まとめ

• PowerShell により Active Directory が近くなりました

• Active Directory べったりのゕプリは引きが強い!

• ンフラSEはみなさんを待っています!

Silverlight を駆使し、無駄にグリグリまわる管理ツールの開発を!

Page 41: 開発者のためのActive Directory講座

APENDIX

Page 42: 開発者のためのActive Directory講座

1. POWERSHELL の基本的な使い方

Page 43: 開発者のためのActive Directory講座

43

POWERSHELLをつかってみよう~POWERSHELL に関する書式情報の取得方法

使い方に関する情報を得るには

使えるコマンドレット一覧取得Get-Commandンストールされているゕプリによってコマンドレットは増減する

コマンドレットの詳細な書式と例を表示Get-Help <コマンドレット> -detailed

コマンドレットのメソッドとプロパテゖ等を表示<コマンドレット> | get-member<コマンドレット> | get-member | sort-object Name | format-list

※ COMのメンバーも取得できるNew-Object -com scripting.filesystemobject | Get-Member

Page 44: 開発者のためのActive Directory講座

44

POWERSHELLを使ってみよう

Sample : 指定したフォルダのフゔル一覧

Get-ChildItem c:¥tmp |Where-Object {!( $_.Attributes –band 16 )} |Select-Object Name,Attributes

sample03.ps1

PowerShell コンソールから

コマンドプロンプトから

(参考)継続行 についてあきらかに継続することがわかる場合には、行の継続は自動的に判断してくれるPowerShell コンソールから入力した場合も同様

$_.Attributes and 010000 = True※-band はビット演算子 and

Page 45: 開発者のためのActive Directory講座

45

コメントのつけ方

バッチ

VBScript

PowerShell

スクリプトを引き継ぎやすくするため、処理の内容等についてコメントをつけましょう。書式についても書いておくとよいです。

Page 46: 開発者のためのActive Directory講座

46

引数を受け取る方法

バッチ

VBScript

PowerShell

C:¥> <スクリプト名> My name is “Junichi Anno” .

Echo %1 / %2 / %3 / %4 ShiftEcho %1 / %2 / %3 / %4Set FullName=%3Echo %FullName:"=%

Set Args = Wscript.ArgumentsIf Args.Count <> 0 Then

For Each n in ArgsWscript.Echo n

NextEnd If

foreach ( $a in $args ){Write-Output $a}

Write-Output $args[3]

%1 ~ %9 までの変数で受け取る

My / name / is / "Junichi Anno“name / is / "Junichi Anno" / .Junichi Anno

MynameisJunichi Anno.

MynameisJunichi Anno.Junichi Anno

Page 47: 開発者のためのActive Directory講座

47

名前付き引数

引数を所定の名前の変数に格納することで、文法チェック等が行いやすくなるWSHとPowerShell でスッチの識別文字が異なることに注意

VBScript

PowerShell

If WScript.Arguments.Named.Exists("userid") thenstrUserID = WScript.Arguments.Named.Item("userid")

End IfIf WScript.Arguments.Named.Exists("password") then

strPassword = WScript.Arguments.Named.Item("password")End If

param([string] $UserID = “nouserid", [string] $Password = "nopassword")Write-Output $useridWrite-Output $Password

C:¥> script.vbs /userid:anno /password:hogehoge

C:¥> script.ps1 -userid anno -password hogehoge

Page 48: 開発者のためのActive Directory講座

48

変数の扱いと値の代入バッチ

WSH

PowerShell

Set LastName=AnnoSet FirstName=JunichiSet FullName=“%FirstName% %LastName%”Set FullName=%FullName:"=%Echo %FullName%Echo %FullName:n=x%Echo %FullName:~8%Echo %FullName:~8,1%Echo %FullName:~-4,3%If /I %FullName:~-1,1%==o Echo OK

Junichi AnnoJuxichi AxxoAnnoAAnnOK

FirstName = "Junichi"LastName = "Anno"FullName = FirstName & " " & LastNameWscript.Echo Split(FullName," ")(0) Junichi

$FirstName = "Junichi"$LastName = "Anno"$FullName = $FirstName + " " + $LastNameWrite-Output $FullName$arrFullName = $FullName.Split(" ")Write-Output $arrFullname[0]

Junichi AnnoJunichi

Page 49: 開発者のためのActive Directory講座

49

入出力方法これを抑えておけば、ひとまずたいていのことはできます

バッチ

画面への出力 :Echo “Hello World”画面からの入力 :「choice」 コマンド または 「set /p」コマンドフゔルへの出力 :dir > list.txt または dir >> list.txtフゔルから入力 : for /f "delims=" %i in ('type c:¥tmp¥list.txt') do @echo %i

WSH(VBScript)

画面への出力 :Wscript.Echo “Hello World”画面からの入力 :Stdin.ReadLineフゔルへの出力 :fso.OpenTextFile(“c:¥list.txt”, 2 or 8) フゔルから入力 :fso.OpenTextFile(“c:¥list.txt”, 1)

PowerShell

画面への出力 :Write-Output “Hello”画面からの入力 :$InputData = Read-Host フゔルへの出力 :Out-File -filepath C:¥tmp¥list.txt -inputobject $Recordフゔルから入力 : $file = Get-Content -Path c:¥tmp¥list.txt

Page 50: 開発者のためのActive Directory講座

2. AD DS その他の 新機能

Page 51: 開発者のためのActive Directory講座

51

その他の新機能一覧

管理されたサービスゕカウント(MSA)オフランドメン参加(ODJ)認証メカニズム保障(AMA)ベスト プラクテゖス ゕナラザー(BPA)Active Directory 管理センター(ADAC)Active Directory Web Services(ADWS)デゖレクトリサービス回復モードのパスワード同期

Page 52: 開発者のためのActive Directory講座

52

機能

メンテナンスフリーな独立したサービス専用ゕカウントを作成

パスワードとSPNはNetlogonサービスによって自動リセット

MaximumPasswordAge ごと

reset-ADServiceAccountPassword <MSA> で手動リセット

PowerShell を使用して設定

パスワードの複雑性ポリシーの影響は受けない

留意点Windows 7 および Windows Server 2008 R2 のみ

1コンピューター/1サービス/1ゕカウント

管理されたサービスゕカウント~MANAGED SERVICE ACCOUNT(MSA)

Page 53: 開発者のためのActive Directory講座

53

(参考)管理されたサービスゕカウントの利用手順

PS> New-ADServiceAccount –Name SA01

ゕカウントを作成する

作成したゕカウントとコンピュータを関連付け

PS> Add-ADComputerServiceAccount –Identity <ComputerName>-ServiceAccount SA01

※再度 Get-ADServiceAccount で、HostComputersに、指定したComputerNameのDNが登録されていることを確認

作成したゕカウントをコンピュータに登録(ローカルで実施)

PS> Install-ADServiceAccount -Identity SA01

作成したゕカウントをサービスに登録サービススナップンでゕカウントを指定

PS>Get-ADServiceAccount SA01※HostComputersとUserPrincipalNameが空であることを確認

ゕカウントを確認する

Page 54: 開発者のためのActive Directory講座

54

機能

ドメンコントローラと通信せずにドメンに参加

BLOBフゔル(テキスト)を経由

プロビジョニングサーバーから排出し、参加予定コンピューターに取り込む

Base64でエンコードされているが暗号化されていない

再利用は不可能

対象

物理マシン

仮想マシン(他のマシンにマウント要)

留意点

Windows 7 と Windows Server 2008 R2 で使用可能

Domain Admins以外のユーザーは権限が必要

「ドメンにワークステーションを追加」または Computersコンテナに対する「子オブジェクトの作成」権限

オフランドメン参加~ OFFLINE DOMAIN JOIN (ODJ)

Page 55: 開発者のためのActive Directory講座

55

オフランドメン参加の動作メージ

クラゕントDC

C:¥> djoin /provision /domain <target domain> /machine <new machine name> /savefile <filename>

C:¥> djoin /requestODJ /loadfile <filename> /windowspath <path to new machine’s %windir%>

Page 56: 開発者のためのActive Directory講座

56

機能

証明書ベースのログオン時にユニバーサルグループへのメンバーシップを追加

証明書発行ポリシーのOID:ユニバーサルグループSID

留意点

Windows Server 2008 R2 ドメンフゔンクションレベルが必要

クラゕントは Vista / 7 / 2008 / 2008R2

Kerberos認証(NTLMではサポートされない)

LDPまたはPowerShell スクリプトを使用して設定可能

スクリプトは以下で提供

認証メカニズム保障~(AMA : AUTHENTICATION MECHANISM ASSURANCE)

ユーザーID/パスワード

証明書

http://technet.microsoft.com/en-us/library/dd378897(WS.10).aspx

Page 57: 開発者のためのActive Directory講座

57

機能

設定が「ちゃんと」しているかどうかを調査するためのツールちゃんとした設定=ベストプラクティス

ベストプラクテゖスの提示 ※設定は手動で行う

サーバーマネージャー か PowerShell を使用

ベストプラクテゖスシナリオは Windows Update 経由で定期的に更新される予定

フゖードバックも受付中

http://connect.microsoft.com/ADBPA

留意事項

独自のベストプラクテゖスの追加ができない

Windows Server 2008 R2 ドメンコントローラをサポート

ベストプラクテゖスゕナラザ (BPA)

PS> Import-Module BestPractices

PS> Invoke-BPAmodel Microsoft¥Windows¥DirectoryServices

PS> Get-BPAresult Microsoft¥Windows¥DirectoryServices

Page 58: 開発者のためのActive Directory講座

58

機能

新しいドメン管理用GUI(MUX:Management UX)※従来のGUIも継続提供

複数のドメン、複数のフォレストを管理

PowerShell AD コマンドレットをコール

UIクエリーをLDAPクエリーに変換して保存

独自のクエリーを追加

カラム等のカスタマズ

留意点

現時点では「従来ツールの置き換え」にはならない

PowerShell スクリプトの吐き出しができない

トポロジーの管理が行えない

ドラッグ & ドロップができない

ンランでの名前変更ができない

ACTIVE DIRECTORY 管理センター(ADAC)

Page 59: 開発者のためのActive Directory講座

59

機能

Active DirectoryにゕクセスするためのWEBサービスを提供

TCP/9389

AD DS、AD LDS両方にゕクセス可能

WS* および WCF プロトコルを使用

留意点

Windows Server 2008 R2 DCまたは AD LDS ンスタンス

Windows Server 2003 & 2008 DCの場合は Active Directory Management Gateway (ADMG) のンストールが必要http://support.microsoft.com/kb/969041/ja

IIS は必要ない

ACTIVE DIRECTORY WEB SERVICES (ADWS)

LDAP

S.DS.P / S.DS.AM / S.DS.AD

Active Directory Core

Web Services

AD PowerShell MUX

WCF WPF

Administrative Center

BPA

WCF

Page 60: 開発者のためのActive Directory講座

60

機能

ドメンコントローラー回復コンソールのパスワードを、既存ユーザーのパスワードと同期

留意点

QFE適用によりWindows Server 2008 でも使用可能http://support.microsoft.com/kb/961320/ja

ドメンコントローラ単位に実施

デゖレクトリサービス回復モードの パスワード同期(DSRM PASSWORD SYNC)

C:¥> Ntdsutil.exe “Set DSRM Password” “Sync from domain account <ユーザーID> ” q q

Page 61: 開発者のためのActive Directory講座

61

(参考)各新機能に必要な実装

ファンクションレベル 使用できる新機能

Windows7 または WS2008R2 クライアントオフラインドメインジョインマネージドサービスアカウント

+ADWS または ADMG(2008/2003)

Active Directory 管理センターPowerShell for Active

Directory

+Windows Server 2008 R2 DC

ベストプラクティスアナライザ回復コンソール パスワード同期

(QFEにより Windows Server 2008でも使用可

能)

+Windows Server 2008 R2 ドメインファンクションレベル

認証メカニズム保障

+Windows Server 2008 R2 フォレストファンクションレベル

ゴミ箱

Page 62: 開発者のためのActive Directory講座