Active Directory の10年の軌跡~ファイルサーバーからクラウドまで

※2010年2月22日 19:09 何点か追記しました 2000年2月18日 Windows 2000 Server とともに登場した Active Directory が10年目を迎えました。      その記念すべき節目にIT業界全体は大きく変化しようとしています。そうです、クラウドです。 クラウド・システムが IT を担当するエンジニアの射程圏内に入ったいま、気になるのは、はたしてユーザー管理は今後どのように変化するのかということです。 わたしたちには3つの選択肢が用意されています。 選択肢1 クラウドでは認証は行わない 選択肢2 クラウド上に独自の認証システムを構築する 選択肢3 既存のディレクトリサービスをそのまま使用する 選択肢3 は、言い換えれば既存の Active Directory をそのままクラウドアプリの認証に使用するということです。もしそんなことが可能だとすれば、ユーザー管理の手法やコストは現在とほとんど変わらない?…いや、クラウドによってビジネスが拡大する分、ユーザー管理の占める比率は小さくかもしれない…。 本当にそんなことは実現可能なのでしょうか?可能だとすれば、それはどのような技術に裏付けられているのでしょうか。その秘密がActive Directoryとクラウドの蜜月な関係なのです。 マイクロソフトが Active Directory をさらにパワーアップし、かつその利用を今後も継続的に推進しようとしていることは、マイクロソフト製品の大部分が Active Directory を必須としていることからも疑いようのないところです。ご存知の通り、Business Ready Security と呼ばれるマイクロソフトのセキュリティ戦略の中心に位置付けられているのは、まぎれもなく Active Directory なのです。   Active Directory には、その誕生当時から壮大な構想がありました。それは、全ての ITシステムを1つに結びつけること!まさに、10年後のマイクロソフトが Business Ready Security という戦略でうたっていることは、そのまま10年前のマイクトソフトの目標でもあったのです。そのためにはいつまでも独自路線にこだわっていてはいるわけにはいきませんでした。 そこで採用されたのが、今となってはおなじみの LDAP…

0

【蜜月発覚】Active Directory & クラウド

※2010年2月22日 19:09 何点か追記しました 2000年2月18日 Windows 2000 Server とともに登場した Active Directory が10年目を迎えました。      その記念すべき節目にIT業界全体は大きく変化しようとしています。そうです、クラウドです。 クラウド・システムが IT を担当するエンジニアの射程圏内に入ったいま、気になるのは、はたしてユーザー管理は今後どのように変化するのかということです。 わたしたちには3つの選択肢が用意されています。 選択肢1 クラウドでは認証は行わない 選択肢2 クラウド上に独自の認証システムを構築する 選択肢3 既存のディレクトリサービスをそのまま使用する 選択肢3 は、言い換えれば既存の Active Directory をそのままクラウドアプリの認証に使用するということです。もしそんなことが可能だとすれば、ユーザー管理の手法やコストは現在とほとんど変わらない?…いや、クラウドによってビジネスが拡大する分、ユーザー管理の占める比率は小さくかもしれない…。 本当にそんなことは実現可能なのでしょうか?可能だとすれば、それはどのような技術に裏付けられているのでしょうか。その秘密がActive Directoryとクラウドの蜜月な関係なのです。 マイクロソフトが Active Directory をさらにパワーアップし、かつその利用を今後も継続的に推進しようとしていることは、マイクロソフト製品の大部分が Active Directory を必須としていることからも疑いようのないところです。ご存知の通り、Business Ready Security と呼ばれるマイクロソフトのセキュリティ戦略の中心に位置付けられているのは、まぎれもなく Active Directory なのです。 Active Directory には、その誕生当時から壮大な構想がありました。それは、全ての ITシステムを1つに結びつけること!まさに、10年後のマイクロソフトが Business Ready Security という戦略でうたっていることは、そのまま10年前のマイクトソフトの目標でもあったのです。そのためにはいつまでも独自路線にこだわっていてはいるわけにはいきませんでした。 そこで採用されたのが、今となってはおなじみの LDAP や…

0

【Script】AD/File/Reg のアクセス権リストは Get-ACL にお任せ~その1

ヒトはパンのみに生きるに非ず…とか言うようですが、わたしは PowerShell のみに生きてもよいとさえ思っています。もうたまりません。いま、可愛いヤツ ランキングをつけたら、間違いなく Windows PowerShell が1位です。2番目が 赤ちょうちん の頃の秋吉久美子。3番目に偕楽園の梅娘と写真を撮ってくれと泣いてせがんだ5歳の頃の自分です。 アクセス権の一覧を作りたいけど、うまい方法が無くて困っている方はいらっしゃいませんか?これまで、CACLSコマンドとかを使ってきて、うーんどうも…じゃVBSで作るか!と思い立ったものの、以外に難しくて断念したり…(VBSを使う方法は知っておく価値アリなので、時間のあるときに解説しようかとも思っています)。 いい方法があるんです。Windows PowerShell の Get-ACL コマンドレットです。 このコマンドレット1つで、ファイルシステムも、レジストリも、はてはActive Directory のオブジェクトに関してもアクセス権を参照することができるのです!現場のSEさんにとって、これほど便利なコマンドがいままであったでしょうか?いや無いです。 ■ファイルシステム編 まずはPowerShell のコンソールを開いてください。 以下は、C:\ に設定されているアクセス権を取得しています。 PS C:\> Get-ACL c:\ | Out-GridView 出力結果は以下の通りです。パイプ(|)を通して、Out-GridView に結果を渡しています。 うーん。見やすい…。ちなみに、おなじみCACLSコマンドを使用した結果は以下の通りです。 PS C:\> cacls C:\ | Out-GridView うむむ、いまいちですよね。やっぱり、Get-ACL の結果のほうが美しいです。 では、Get-ACLの結果を CSVファイルに保存するにはどうするかといえば、以下のようにします。ちょっと長いですが、1行で書けてしまいます。 PS C:\> Get-Acl C:\ |Select-object @{Label="Path";Expression={Convert-Path $_.Path}}, Owner, AccessToString |Export-Csv C:\tmp\accesslist.csv CSVファイルに保存するには、Export-CSV コマンドレットを使うのが簡単です。ここでは、C:\tmp\accesslist.txt…

1

【IDM】最近ログオンしていないユーザーを検索する とっても簡単な方法

いまさらながら、ADでは「ログオン可能なワークステーション(userWorkstation属性)」の設定が最大1024文字だと気づき、自分の無知に愕然としています。だって…NTのころは4台固定だったんだもの…。 http://support.microsoft.com/kb/938458 さて、話は変わりますが、VBScript を使用して Active Directory 内のユーザーを検索しようと思った時、面倒だなと感じるのが、以下のような条件です。 既に無効化されたアカウント 既に有効期限の切れたアカウント ロックされたアカウント パスワードの有効期限が切れているアカウント パスワードが無期限に設定されているアカウント 指定した日付までに有効期限が切れるアカウント 最近ログオンしていないアカウント 上の条件を見て、頭の中に使用する属性名が思い浮かんだ方は、完全にADマニアです。もちろんほめ言葉です。 Windows PowerShell のActive Directory Module には、上記のような特定条件検索専用のコマンドレットが用意されています。その名も、Search-ADAccount です。 上記の条件と、Search-ADAccount のパラメタとの対応を以下に示します。-UsersOnly パラメタを使用すると、ユーザーアカウントのみに限定して結果を表示してくれます。 既に無効化されたアカウント Search-ADAccount –AccountDisabled -UsersOnly 既に有効期限の切れたアカウント Search-ADAccount –AccountExpired -UsersOnly ロックされたアカウント Search-ADAccount –LockedOut -UsersOnly パスワードの有効期限が切れているアカウント Search-ADAccount –PasswordExpired -UsersOnly パスワードが無期限に設定されているアカウント Search-ADAccount –PasswordNeverExpires -UsersOnly 指定した日付で有効期限が切れるアカウント Search-ADAccount –AccountExpiring –Datetime “DD/MM/YYYY” -UsersOnly 指定した日数以内に有効期限が切れるアカウント Search-ADAccount –AccountExpiring –Timespan…

0

【Management】JoinDomainOrWorkGroup メソッドでドメインに参加させる

前回、以下の投稿をしました。 【Management】DMZでのドメイン参加はオフラインドメインジョインで! オフライン ドメイン ジョイン 機能を使用することで、書き込み可能なドメインコントローラーと通信することなくドメインに参加させることができます。 ただ、難点があります。それは、Windows Server 2008 R2 および Windows 7でないと djoinコマンドが使えないということ…。 じゃ、それ以前のクライアントをRODC環境のドメインに参加させるにはどうしたらよいでしょうか。 WMIの Win32_ComputerSystem クラスには、JoinDomainOrWorkGroup メソッドが実装されています。でもって、なんと、このメソッドには NETSETUP_JOIN_READONLY = 2048 という大変魅力的な引数が用意されているのです。 JoinDomainOrWorkgroup Method of the Win32_ComputerSystem Class http://msdn.microsoft.com/en-us/library/aa392154(VS.85).aspx つまり、きちんと事前に準備を行い、このメソッドを使用したスクリプトを実行すればRODCしか無い環境であってもドメインに参加することができます。 では手順を以下に示します。 1)コンピューターアカウントを作成する Active Directory ドメインに参加させたいクライアントのコンピューターアカウントを作成します。「Active Directory ユーザーとコンピューター」を使用してもいいですし、net user ComputerName$ /add /domain net computer ComputerName /add(※ すみません間違えました。緒方さんご指摘ありがとうございました!)でも問題ありません。net user コマンドを使用する場合には、コンピュータ名の最後に「$」をつけることを忘れないでください。 2)コンピューターアカウントのパスワードを設定する 普段、あまりやらない作業ですが、大した処理ではありません。以下のようにコマンドラインから実行します。ユーザーのパスワードを設定するときと同じです。 net user ComputerName$ PASSWORD…

0

RODC環境でドメインに参加させるスクリプト

RODC環境でドメインに参加するためのスクリプト 実行書式は以下の通り。/readonly を忘れずに。 c:\> joindomain.vbs /domain <domainname> /mchinepassword <事前に設定したコンピューターのパスワード> /readonly —————————————————————————————–  ‘ JoinScript.vbs’ ‘     Script to join a computer to a domain.’     ” sub Usage   wscript.echo ” |————————————————|”   wscript.echo ” |   Joins a computer to a domain or workgroup    |”   wscript.echo ” |————————————————|”   wscript.echo “”   wscript.echo “Usage: ”   wscript.echo ” cscript JoinScript.vbs [/domain <domainname> |…

0

【IDM】Windows Server 2003/XP を RODC に対応させるための修正モジュール

Windows Server 2008 から実装されたRODC(読み取り専用ドメインコントローラ)ですが、RODCが設置されているドメインのメンバーまたはドメインコントローラである Windows Server 2003 や Windows XPが正しく動作しないことがあります。 以下の症状が見られる場合には、修正パッチが提供されていますので適用してみてください。 ソース Description of the Windows Server 2008 read-only domain controller compatibility pack for Windows Server 2003 clients and for Windows XP clients http://support.microsoft.com/kb/944043/en-us ※上記リンクの日本語訳で、WOWが「おっと」と訳されている部分があります。既にフィードバックしてしまったので、見るなら今です!(笑) 症状1 クライアントがRODCのみにアクセス可能なネットワークにおいて、グループポリシーのWMIフィルタが正しく適用されない。加えて、Gpsvc.log ファイルに以下のメッセージが出力されている。 GPSVC(410.8ec) 15:17:45:808 FilterCheck: Found WMI Filter id of: filter ID GPSVC(410.8ec) 15:18:21:838 FilterCheck: Filter doesn’t exist. Evaluating…

0

[まとめ]Group Policy

2009/07/29 【Management】ディレクトリサービス復元モードのパスワードを忘れてしまったら?同期という手が用意されました。   2009/07/01 【Management】Set-GPRegistryValue で設定した値はGPMCレポートに出力されるか   2009/06/02 【Management】Set-GPRegistryValue で複数のレジストリエントリを一度に設定する   2009/06/01 【Managemnt】WS2008 R2:ADMXファイルを作らずに業務アプリのレジストリ設定をグループポリシー化する その2   2009/06/01 【Managemnt】WS2008 R2:ADMXファイルを作らずに業務アプリのレジストリ設定をグループポリシー化する 【Management】Devcon.exe でコマンドラインからデバイスを無効化 【Management】グループポリシー基本設定 の「適用できなくなった場合はこの項目を削除する」って? 【Management】「グループポリシー基本設定」でのパスワードを設定する場合の注意 【Management】グループポリシーに関する知識の整理~ADMX とWindows XP の関係 【Management】WS2008 で、グループポリシーを新規に作成しようとするとエラーが発生する 【Management】(余談ですが)[ドキュメント] が [最近使ったファイル] になっている件 【Management】ポリシーベースの QoS で遊んでみる 【Management】WS2008 GPMC の[フォルダリダイレクト] に [ドキュメント] が見当たらない場合の対処(暫定) 【Management】Windows 7(2008 R2)でグループポリシーがどうなるか 【Management】GPLogView でグループポリシーのトラブル追跡 【Management】IE8 ではグループポリシーの設定項目が100以上増え、IE8がらみの設定は1300… 【Management】(ご注意)グループポリシーの基本設定 - グループの管理で追加と削除が逆になっています 【BOOK】いまやってます~ Windows Server 2008 Group Policy…

0

[まとめ]OpenLDAP+AD

【IDM】パスワード同期機能の有効活用 その1 ~ パスワード同期機能とは 【IDM】パスワード同期機能の有効活用 その2 ~ Windows Server 2008 でのパスワード同期機能のセットアップ 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する 【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化 【IDM】Active Directory から OpenLDAP への パスワードの同期 その2 ~ ADSI でパスワードを同期する 【IDM】Active Directory から OpenLDAP への パスワードの同期 その3 ~(余談)Fedora 8 を Hyper-V上で動作させる   【IDM】Active Directory から OpenLDAP への パスワードの同期 その…

0

【Management】Devcon.exe でコマンドラインからデバイスを無効化

あぁ、昔こんなコマンド使ってたなぁ..という方、けっこういらっしゃると思います。一部のバッチファイルマニアには有名なコマンドですね。 Windows7 Beta でも動くのかなぁ…とおもって確認したらちゃんと動作したので、せっかくなのでご紹介しておきます。 その名も Devcon.exe です。以下からダウンロードできます。自己解凍形式になっているので、どこかに解凍してからお使いください。64ビット版と32ビット版が格納されています。 デバイス マネージャとして機能する DevCon コマンド ライン ユーティリティ http://support.microsoft.com/kb/311272/ja さて、このコマンド、はたして何に使うコマンドなのか… 例えば、スタートアップスクリプト等を使用して、コマンドラインからデバイスを無効にもしくは有効にしたい場合ってありますよね。もしくは、ドライバーをインストールした後で、再起動するのではなくてハードウェアの再スキャンすることでデバイスを認識させたりとか。 私は以前に、ノートパソコンに標準実装されている「無線LANカード」を強制的に無効化するのに使ったり、USBカードリーダーの再認識を強制的に行わせるために使ったりしていました。 通常は以下のように「デバイスの管理」画面で[ハードウェア変更のスキャン]を行ったり、デバイスの有効/無効を切り替えます。 Devcon.exe を使用すると、これをコマンドライン上から行えます。 例えば、ノートパソコンによく実装されている Bluetoothデバイスを使わせたくないとしましょう。 事前に、以下のコマンドを使用して、無効化したい Bluetooth デバイスの ハードウェアIDを取得します。そのためには、「デバイスの管理」を使用して、無効化したいデバイスのプロパティを開きます。   [詳細]タブを開いて、プロパティから[ハードウェアID] を参照してください。 上の画面では「USB\VID_044E&PID_3017&REV_0218」と「USB\VID_044E&PID_3017」という2つのハードウェアIDが存在していることがわかります。 基本的に「文字列が長いほうのID」を使用すれば良いのですが、念のためにコマンドプロンプトから以下のコマンドを入力して、マッチするデバイスが1つであることを確認してください。 以下のように disable パラメタを使用するとデバイスは無効化できます。 ちなみに、Windows Server 2008 がドメインコントローラであり、かつWindows 2003/XP/Vista/2008 がクライアントの場合には、「グループポリシー基本設定」に用意されている「デバイス」で行うことができるので、Devconは必要ありません。

1