【MVA 解説編】System Center と Windows Azure を使用したハイブリッド クラウドへの移行(01 監視、管理、および運用)

※ この投稿は Windows Azure Advent Calender に参加しています。 System Center は言うまでもなくマイクロソフトの運用管理製品です。最新版は System Center 2012 R2 です。 System Center を使用すると、オンプレミスのインフラストラクチャーに加えて、Windows Azure に展開したインフラストラクチャーやアプリケーションも管理、監視できます。 以下のコースウェアでは、System Center を使用して Windows Azure を含むハイブリッドクラウド環境を管理することを学習することができます。 System Center と Windows Azure を使用したハイブリッド クラウドへの移行ジャンプ スタートhttp://www.microsoftvirtualacademy.com/training-courses/38d1d8c0-240e-432b-994c-ab34e71088b6#?fbid=pJeqjxv8UId 各モジュールにはテストも用意されていますが、解説が無いので、このBLOGで各問の開設をしたいと思います。 今回は「01 | 監視、管理、および運用」について。System Center の基本的な機能について学習しましょう。 Q) System Center Operations Manager を使用して、クラウドに展開した WEB アプリケーションの可用性とパフォーマンスを監視する必要があります。次のうちどの Operations Manager の機能を使用しますか。 Windows の管理パック ネットワーク デバイスの監視…

0

【PowerShell】MVA対策講座 Windows PowerShell 3.0 を基礎から学ぶ ‐ Part4 高度な関数 編

正直言って、今回は難しいです。どこから説明してよいかわからないくらいです。。。orz Microsoft Virtual Academy で公開されているオンライントレーニングコース「PowerShell 3.0 を使用した高度なツールとスクリプト」のテスト解説シリーズ、第4回目です。 テストは以下から受けられます! Microsoft Virtual Academy – PowerShell 3.0 を使用した高度なツールとスクリプトhttp://www.microsoftvirtualacademy.com/training-courses/advanced-tools-and-scripting-with-powershell-3-jump-start-japanese#?fbid=pJeqjxv8UId 前回までの投稿は以下より。 第1回 スクリプト入門編 第2回 PowerShell のスクリプト言語 編 第3回 単純なスクリプトと関数 編 さて、今回のタイトルは 「高度な関数」なのですが、「高度」と言われても何のことやら?ですよね。 これ、英語版だと「Advanced Function」と書かれています。 「Advanced」の訳って難しいですよね。個人的にはあえて訳さなくてもよいと思うんですけど。ちなみに「Advanced Windows Firewall」は「セキュリティが強化された Windows Firewall」と訳されていますね。ローカライズチームも苦労しているのだと思います。。。 PowerShell を使用すると、スクリプトだけで関数を定義できることはご存知の通りなのですが、「高度な」とつくからには単に Function ブロックで括る以上の「ナニカ」が無ければなりません。 解説を始める前に、関数とは何かについておさらいしておきましょう。 以下のようなスクリプト hello.ps1 があったとします。Param ブロック内に定義されている $a は引数です。 param($a="Hello!")Write-Output $a これを実行するには、PSコンソールで以下のように入力する必要があります。 このスクリプトを再度呼び出したいときや、別のスクリプトから呼び出したいときにも、同様にスクリプト hello.ps1 ごと呼び出す必要があります。 もちろんそれでもよいのですが、もうすこし使い勝手を良くするには、これを関数化します。 関数化するには、以下のように Function ブロックで括ります。…

1

【PowerShell】MVA対策講座 Windows PowerShell 3.0 を基礎から学ぶ ‐ Part3 単純なスクリプトと関数 編

Microsoft Virtual Academy で公開されているオンライントレーニングコース「PowerShell 3.0 を使用した高度なツールとスクリプト」のテスト解説シリーズ、第3回目です。 腕に自信のある方は、まずはテストを受けてみてくださいね! 通過できない場合には、こちらの解説講座に戻ってきてください。 Microsoft Virtual Academy – PowerShell 3.0 を使用した高度なツールとスクリプトhttp://www.microsoftvirtualacademy.com/training-courses/advanced-tools-and-scripting-with-powershell-3-jump-start-japanese#?fbid=pJeqjxv8UId 前回までの投稿は以下より。 第1回 スクリプト入門編 第2回 PowerShell のスクリプト言語 編 今回は PowerShell の「単純なスクリプトと関数」について解説します。 是非とも満点でテストを通過してください!   PowerShell スクリプトを作成する理由は何ですか 自動化のため 互換性のため PowerShell v2 を操作できるようにするため .NET Framework の機能を使用するため うーん、なんか、いろいろ考えすぎてしまいますね。でもここはシンプルに「自動化のため」と考えましょう。 MCPもそうですが、マイクロソフト本社が作成するこの手の問題は「マイクロソフトの意図が理解できているかどうか」を問うものが多いです。「スクリプト」に込められた第一の意図は、やはり「自動化」なんですね。 PowerShell スクリプトを作成するには、どのツールを使用しますか PowerShell PowerTools Visual Studio 2012 Windows PowerShell ISE Windows PowerShell Editor ここは迷わず 3. Windows…

1

【PowerShell】MVA対策講座 Windows PowerShell 3.0 を基礎から学ぶ ‐ Part2 PowerShell のスクリプト言語 編

Microsoft Virtual Academy で公開されているオンライントレーニングコース「PowerShell 3.0 を使用した高度なツールとスクリプト」のテスト解説シリーズ、第2回目です。 腕に自信のある方は、まずはテストを受けてみてくださいね!通過できない場合には、こちらの解説講座に戻ってきてください。 Microsoft Virtual Academy – PowerShell 3.0 を使用した高度なツールとスクリプトhttp://www.microsoftvirtualacademy.com/training-courses/advanced-tools-and-scripting-with-powershell-3-jump-start-japanese#?fbid=pJeqjxv8UId 前回までの投稿は以下より。 第1回 スクリプト入門編 今回は PowerShell のスクリプト言語について。 是非とも満点でテストを通過してください!   PowerShell で変数を宣言するには、どの記号を使用しますか ! @ # $ これは比較的簡単ですね。正解は “$” です。文字列の頭に $ をつけることで変数として扱うことができます。 他のスクリプト言語同様、Windows PowerShell でも特殊記号を使用することで文字列に特別な意味を持たせることができます。 !(エクスクラメーション)は 論理否定(-not)の短縮形です。変数が NULL 値かどうかの判定なんかで使います。”NULL 値は論理値的には False” なので、! $null と書けば、True を意味することになります。ちなみに、$null は NULL 値を表現する既定の変数です。 @ を使用するとアレイ値を宣言することができます。 @(1,2,3) とすれば、数値の1,2,3それぞれが入った配列が定義できます。文字列も同様に、@(“a”,”b”,”c”) などとするだけです。 配列と似たものでハッシュテーブルと呼ばれるものもあります。これはキーと値のペアで格納できるものです。…

2

【PowerShell】MVA対策 Windows PowerShell 3.0 を基礎から学ぶ – Part1 スクリプト入門編

以下に Windows PowerShell 3.0 のオンライントレーニングコースが公開されています。 もちろん日本語です。 PowerShell 3.0 を使用した高度なツールとスクリプトhttp://www.microsoftvirtualacademy.com/training-courses/advanced-tools-and-scripting-with-powershell-3-jump-start-japanese#?fbid=pJeqjxv8UId 是非テストに挑戦していただきたいのですが、テストの解説がどこにも掲載されていないので、今日から9回に分けて解説したいと思います。   PowerShell V3 をサポートしているオペレーティング システムは次のうちどれですか? Windows PowerShell v3 を利用するには Windows Management Framework 3.0 が必須です。 Windows 8 および Windows Server 2012 以降には標準で組み込まれていますが(Windows 8.1 および Windows Server 2012 R2 には v4 が組み込まれています)、それ以前の OS には以下からダウンロードしてインストールする必要があります。 http://www.microsoft.com/en-us/download/details.aspx?id=34595 Windows Management Framework 3.0 をサポートしている OS は Windows 7 Service Pack 1,…

3

グループポリシー設定リファレンスガイド 日本語版 提供中

当キャンペーンは終了してしまいましたが、こちらからダウンロードできます! http://technet.microsoft.com/ja-jp/windowsserver/jj649374.aspx すっかり定番となった管理ツール「グループポリシー」ですが、日本語版の全設定項目リファレンスが無いってのがタマに瑕でした。 英語版はリリースされてるんですけどね。。。(参考)http://www.microsoft.com/en-us/download/details.aspx?id=25250 そこで、いま Windows Server 2012 R2 評価版ダウンロードに登録してくださったみなさま全員に、日本語版 グループポリシー設定リファレンスガイドをプレゼント中です。 ※評価版ダウンロードは以下からどうぞ。 http://technet.microsoft.com/ja-jp/windowsserver/jj649374.aspx   ご覧ください。しっかりと日本語化されています!ヘルプも完璧です。 実はこれ、"翻訳したんじゃないんです"。とある PowerShell プロフェッショナルな方にお願いして、スクリプトを作ってもらったんです。詳しくは後日。。。 さらに、評価版ダウンロード登録後にキャンペーンに応募してくださると、以下の書籍も抽選でプレゼント。 期間は1か月と短いのですが、この機会をお見逃しなく~

2

【PowerShell】DHCP サーバーを構成する

この投稿は PowerShell Advent Calendar 2013 に参加しています。 ※投稿遅れてごめんなさい!!!! http://technet.microsoft.com/ja-jp/windowsserver/jj649374.aspx Windows PowerShell を使用すれば、Windows Server 上にインストールするサービスの構成も自動化することができます。 ただ、その中でちょっと面倒なのが DHCP サーバーです。 サーバーマネージャーで DHCPサーバーをインストールし、DHCPマネージャーで構成するには、以下の手順が必要です。 DHCP サーバーをインストールする サーバーマネージャー上にフラグた立つので、「DHCP 構成を完了する」を実行 DHCP サーバー管理の委任用にセキュリティグループ(DHCP Administrators、DHCP Users)を作成する DHCP サーバーをActive Directory で承認する DHCP サービスのバインディングを設定する スコープを構成する これらをWindows PowerShell に置き換えると以下のようになります。 Add-WindowsFeature dhcp -IncludeManagementTools -IncludeAllSubFeature 「DHCP 構成を完了する」というコマンドレットが用意されていないので、以下のコマンドを実行します。 Netsh dhcp add SecurityGroups 残念ながら、Netsh dhcp add SecurityGroup に相当するコマンドレットが存在せず、ここだけはDOSコマンドを使うことになります(少し悔しい)。または、New-ADGroup コマンドレットを使用して、ここにセキュリティグループを作ってあげるという手もありますが…. Add-DHCPServerInDC -DnsName <DNSドメイン名>…

0

【IDM】Windows Server 2012 R2 の Web Application Proxy ってナニするためのもの? Device Registration Service との関係は?

Active Directory の最新情報をキャッチアップ! クラウド時代の Active Directory 次の一手シリーズ 第1回~6回 公開中! 第 1 回 Active Directory の位置づけ 第 2 回 Active Directory ドメイン サービスの新しい役割 第 3 回 Active Directory フェデレーション サービスの役割 解説編 第 4 回 Active Directory フェデレーション サービスの役割 構築編 第 5 回 認証のためのプロキシ Web Application Proxy 第 6 回 Microsoft Azure Active Directory とは Windows Server…

2

【Management】 “Invoke-Command -AdJob” と “Invoke-Command {Start-Job}” の違い、説明できますか?

多くの方が Windows PowerShell をお使いのことと思います。 PowerShell にはさまざまな「奥義」が存在しますが、「バックグラウンドジョブ」も奥義の一つです。これは究極奥義である「ワークフロージョブ」へとつながる大切な概念です。 まずは以下をご覧ください。 Get-Service  -ComputerName  Server01 何をやっているかは一目瞭然ですよね。 リモートコンピューター Server01 上のサービス一覧を取得しています。 通常 Get-Service は直ぐに結果を得られるので問題ないのですが、結果取得までに10分とか20分を要する場合にはコンソールを占有されてしまうことを回避するため、「バックグラウンドジョブ」と呼ばれる方法を使用します。 つまり、コマンドを投げっぱなしにしておいて(非同期実行)、あとから結果を取りに行く…という方法です。 バックグラウンドジョブを作成するには2つの方法があります。 -AsJob パラメタを使用する Start-Job コマンドレットを使用する いずれを使用しても得られる結果は同じですが、コマンドレットによっては -AsJob をサポートしていない場合もあり、その場合には Start-Job の引数にコマンドレットを指定します。 例えば、Get-Service の場合には -AsJob パラメタをサポートしていないため、バックグラウンドジョブ化するには以下のように書きます。 Start-Job -ScriptBlock { Get-Service -ComputerName  Server01 } さて、ここまでは一般ピープルでも知っていることです。 エキスパートな方はここからが重要なのです。 さっそくですが、以下の2つの違いわかりますか?いずれも上の記述を書き換えたもので、同じ結果が得られます。 $S = New-PSSession  -ComputerName  Server01 Invoke-Command  -Session $S  -ScriptBlock { Get-Service }  -AsJob…

0

【Management】Get-Content -tail って知ってました?

Linux/UNIX 系の方にはおなじみの Tail コマンドですが、これと同じことを Windows でできないものかとよく尋ねられます。 MVP のあおきさんが書かれているように、CodePlex で LogExpert というツールが公開されていますので、すでにこちらをお使いの方も多いことでしょう。 http://d.hatena.ne.jp/aoki1210/20120218/p1 ※この記事の存在は石坂さんから教えていただきました。石坂さん、ありがとうございます!そしてあおきさん、ありがとうございます! では、本当に Windows 標準ではできないのかといえば、実はそんなことはありません。 Windows PowerShell に用意されている Get-Content コマンドレットを使用すれば同じような処理が可能です。 例えば以下のように書きます。 Get-Content   .\FinaName.log  -wait  -tail  0 -wait は新しい行が追加されるまで待ち合せることを意味しています。 注意していただきたいのは、その後の -tail です。このパラメタは Windows PowerShell 3.0 からサポートされたものです。 以前は  Get-Content   .\FinaName.log  -wait などとやると、テキストファイルをいったん全部読み込んでから -wait 処理が始まるため、巨大なファイルを扱う場合には待ち時間が異常に長いという問題がありました。 しかし、-tail パラメタのサポートにより、「最後の○行だけ読み込む」という指定ができるようになったのです。もちろん、 -tail  0  は「0行読み込む」という意味なので、何も読み込まずにいきなり -wait 処理が始まります。 試しに、何か巨大なテキストファイルを用意してみてください。 手元にない方は、郵便局が用意している郵便番号データ(CSV ファイル)なんかがよいかもしれません。 http://www.post.japanpost.jp/zipcode/dl/oogaki.html 巨大な…

0