Claudia IDEを更新したよついでに緑のアレも

Visual Studio 2013 Previewも出たということで、Claudia IDEも対応させました。なんかMaxバージョンの指定がおかしかった?みたいで、Visual Studio 2012でしか動作しなかったので一応2013も指定しなおしてリビルドしたぐらいですが。

image

そんなわけで無事Visual Studio 2013 Previewで動作しました。

ちなみにターゲットなエディションにExpressも含めてビルドしたんですが、それだとギャラリーにアップロードできなかったので個別にSkyDriveに置いています。Visual Studio Express 2012な方は人柱で試してみてもいいかも。追記:やっぱり動かないみたい

 

あとついでにWebMatrixManなIDEも対応しておきました。

image

IIS Expressをlocalhost以外でホストする

メモ。

Windows 7以降の場合

netsh http add urlacl url=http://hogehoge.sample:8080/ user=everyone

みたいな感じで管理者としてコマンドを実行してホストするFQDNとポートを全ユーザーに許可します。

あとはVisual Studioのプロジェクトの設定でIIS Expressを上記FQDNでホストするように設定すればいいはず。怒られたら %USERPROFILE%\My Documents\IISExpress\config\applicationhost.config を編集しましょう。

<site name="DevWeb" id="9999">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory
            path="/"
            physicalPath="C:\application-no-path" />
    </application>
    <bindings>
        <binding
            protocol="http"
            bindingInformation="*:8080:hogehoge.cample" />
    </bindings>
</site>

Point-To-Site VPNを自動接続させる

前回Point-To-Site VPNを手動で設定して使えるようにしましたけど、いちいち証明書選んだり面倒ですよね。何よりWindows Azure Connectで自動的に接続されてたのにそれができなくなったのは不便!ということで、今回は自動接続できるようにしたいと思います。

下準備

最初に前回の手順で接続できる状態までしておいてください。

 

証明書のインポート

証明書の選択を省くためにはローカルコンピューター上の信頼されたルート証明機関に接続用の証明書を入れておく必要があります。

MMCを起動して、スナップインの追加で証明書を選択し、ローカルコンピューターを選択します。どの証明書ストアを管理するか聞かれるのでコンピューターアカウントを選択しましょう。

信頼されたルート証明機関を選択してインポートを選び、作成したクライアント証明書とそのルート証明書の秘密鍵付き(どちらとも.pfx)をインポートします。

image

 

VPN接続の設定変更

前回作成したVPN接続のプロパティを開き、セキュリティタブのEAPプロパティを表示させます。「このコンピュータの証明書を使う」になっていると思いますが、その横の拡張だかAdvancedだかのボタンをクリックして、先ほど登録した証明書(2種類)にチェックを入れます。

image

これで設定は完了です。VPN接続を行うと証明書も聞かれずにすんなり接続が終わると思います。

 

自動接続

自動接続はちょっと面倒くさいです。とはいっても他に良い案が浮かばなかったのでしょうがなしにタスクスケジューラを使うことにします。

管理ツールのタスクスケジューラを起動して、新しいタスクを作成します。

タスクの起動タイミングはコンピューターの起動時を選択します。

image

プログラムの開始を選択します。

image

実行するプログラムは「rasdial」、引数に接続するVPN接続の名前を入れます。

image

これで一応完了。作成後、プロパティを開き実行ユーザーは設定した人に、ログオンしていなくても実行できるようにして構成をWindows 8なりWindows RTなりにしておきます。

image

条件タブで任意のネットワーク接続が使用可能な場合のみタスクを開始するようにします。

image

後の条件(AC電源使用時のみなど)は好きなように設定しておきます。

あとはリトライとかいろいろお好きなように。

設定完了後は一度実行してみて問題なくVPN接続が開始されることを確認します。あとはOS再起動して動作確認しましょう!

これでだいぶ便利になりましたね。というか標準の接続ツールより便利になったw

テンプレート化したくない仮想マシンのOSイメージについて

結構前にFreeBSD on Azure とかいうPostしましたが、今になってPinBackきてたのでちょっと補足を。

当時はよくわからなかってなかったのですが、最終的にVHDファイルをUploadする際、OSイメージとしてUploadしてそれを基にすると上手く動作しません。(するにはするけどステータスがおかしい)

原因はAzure上でいうところの「イメージ」は基となるテンプレートなイメージで、それから仮想マシンを作成すると初期化処理が必要になるからです。つまるところWindowsでいえばSysprepされた前提であるVHDで、LinuxであればAzure用のそれ用のツールで一般化しておく必要があります。

で、以前のPostでは「イメージ」としてUploadしてたからうまく動作しなかったというわけ。

回避方法としてはDiskとしてアップロードして、管理ポータル上の仮想マシンの「ディスク」タブで作成を選んで、VHDからディスクを作成すればいいです。

image

こうすればアップロードしたままの状態で起動させることができます。(初期化処理などが走りません)

ただ、そのまま動作するので、このVHDを雛形として横展開とかそういうのがつらい感じです。(全部同じマシン名などになっちゃいます)

こればっかりはFreeBSD用の初期化処理用ツールみたいなのが提供されないとしんどいですね。

ちなみにこの手法はP2VだったりXPを動かしたりといったことに応用できます。

詳細はこちらが詳しいですのでご一読あれ。

Manually configure Point-To-Site VPN

If you want to connect to the VPN manually, do as following:

1. Download client  VPN package from management portal site

image

2. Unpack to VPN package file.

You unpack a VPN package file as follows:

vpnpackage.exe /C /T:c:\temp\vpnpackage

3. Install *.cer file for VPN gateway in unpack folder

You should install as an administrator a *.cer file as follows:

certutil -addstore root vpngateway.cer

4. Set up a new VPN connection

image

Select a [Connect to a workplace].

image

Select a [Use my Internet connection (VPN)].

image

Enter a Azure VPN gateway FQDN in [Internet address].

image

* Your’s VPN gateway FQDN has been described in the pbk file.

image

 

5. Change the property in VPN connection

in Security Tab

image

  • [Type of VPN] … [Secure Socket Tunneling Protocol (SSTP)]
  • [ Use Extensible Authentication Protocol (EAP)] … [Microsoft: Smart Card or other certificate (encryption enable)]

in EAP property

image

[When connection:] … [Use a certificate on this computer]

  • [Verify the server’s identity by validating the certificate] … checed
  • [Trusted Root Certification Authorities] … Checked a your’s VPN gateway certificate.

 

You should turn off [Use default gateway on remote network] option in Networking tab.

image

6. Connect to VPN

image

You should choose a client certificate for Azure VPN gateway at start connect.

image

If error not occurred, congratulation! You can connect to Azure Virtual Network over VPN!

PredefinedAdornmentLayers の説明が不十分

だいぶ前にVisual Studioの拡張機能でエディタ部分をいじりましたが、その時にどのレイヤに拡張部分を差し込むのかちゃんと説明できてませんでした。

具体的にいうと AdornmentLayerDefinition の Order属性のAfterとBeforeで指定する値ですね。

ここで指定する値は PredefinedAdornmentLayers になるんですが、どのレイヤがどういう順番なのかさっぱりわかりませんね。

※以前は説明文すらなかったけど、今はドキュメント更新されてますね。よかったよかった。

というわけで、MSのサポートさんから情報をもらったのでここで公開しておきます。

名前 説明 順番(Z-Order)
Caret テキストのキャレットを描画してるレイヤ 最前面
Text エディタのコンテンツ(テキスト)を描画してるレイヤ 7
Squiggle 構文エラーとかで表示される波線とかを描画してるレイヤ 6
Selection IME入力時の選択領域を描画してるレイヤ 5
TextMarker ITextMarkerProviderFactoryで提供してるテキストマーカーを描画してるレイヤ 4
CurrentLineHighlighter 現在行のハイライトを表示しているレイヤ(キャレットがある行) 3
Outlining 折り畳みヒントを描画してるレイヤ 2
DifferenceSpace IDifferenceViewerで提供されるブロックの位置合わせ表記などを表示するレイヤ(差分ビューアなどで見るやつ) 1
DifferenceChanges IDifferenceViewerで提供されるコード差異や線などを表示するレイヤ(差分ビューアなどで見るやつ) 最背面

※Outliningだけ特殊みたいでCurrentLineHighlighterからDifferenceChangesの間の任意のレイヤに差し込まれるみたいです。

ちなみにAfterとBeforeに矛盾した設定(例:Before=Squiggle, After=Textなど)をした場合、無条件に最前面になるので注意。

最後に、Microsoftサポートのみなさんありがとうございました。

Windows Azure Active Directoryの多要素認証

 

今回のUpdateで一番大きかったのはWindows Azure Active Directoryの管理が統合されたこと+Windows Azure Active Directory側で多要素認証がサポートされたことじゃないでしょうか。

多要素認証って何?という細かい話は置いといて、ざっくりいうとID/Pass認証に追加して電話またはSMSによる追加認証ができます。(今だと多要素っていうか二要素ですね ※イントラのADと組み合わせてOTPとかさらに追加できるんでしょうかね(できそうだけど))

Office 365+Windows Azure Active Directoryを使った例はすでにMSの安納さんがBlogに書かれているので是非そちらを参照ください。

※ついでにWindows Azure Active Directoryって何?という方はこちらもどうぞ

今回はWindows Azureの管理ポータルをWindows Azure Active Directoryのアカウントで認証できるようにして、多要素認証までやってみたいと思います。連携も多要素認証も今回のアップデートからですね。

※Windows Azure Active DirectoryがWindows Azureブランドだからよくわからない感じになっていますがw

続きを読む →

Windows Azure アップデート祭り

先ほどのエントリとも関係ありますが、Windows Azure 管理ポータルその他もろもろアップデートされています。

上述の日本語訳みたほうがわかりやすい気もします。とりあえずわかりますw

 

Cloud Servicesの更新

Cloud Servicesはそんなに大きなアップデートではなくて(涙)、今まで秘密鍵付きのpfx形式しかアップロードできなかった証明書が普通の証明書(.cer)もアップロードできるようになりました。

証明書ページのUploadメニューからできます。

.cerを選択した場合はパスワードで保護する必要がないので、ファイルを選ぶだけですね。

アップロード完了後は通常通り管理することができます。

使いたい場合はサービス定義ファイルに利用する証明書を指定しましょう。

GUIで指定するとこんな感じです。

実際にデプロイして確認すると、ちゃんと.cerな証明書が指定したストアに保存(デプロイ)されます。

これで相互TLSとか、チェーン証明書の配布とかいろいろしやすくなりましたね。

Blob管理の拡張

Blobのコンテンツを直接ダウンロード+プロパティやメタデータの編集が管理ポータル上で可能になりました。

ダウンロードメニューで選択したBlobのダウンロード、編集でプロパティを編集することができます。

 

一部プロパティはアップロード時等でしか設定できないので編集不可ですがだいぶ便利ですね。

言語の追加

管理ポータルで表示できる言語が5言語増えました。それに伴い独立したメニューになりました。

新たな地域でWindows Azure Storeをサポート

22の地域でWindows Azure Storeが利用できるようになりました。今時点で利用できる国は33国ですね。

 

Mobile Services

モバイル向けのアプリに便利なWindows Azure Mobile ServicesがAndroidをサポートするようになりました。Android Client SDKはこちらのGitHubから入手できます。またMobile ServicesのダッシュボードではAndroid向けに簡単なチュートリアルが表示されるようになりました。

Eclipse用のパッケージの雛形がGetできるのですぐに開発はじめられそうですね。ちなみにチュートリアルはこれだけじゃなくて、ちゃんと纏まっていますので安心を。まだ英語しかありませんが。

もちろん他のiOSやWindows Phone、Windows 8向けと同様にPush通知もサポートです。

まだまだPreviewですが、東アジアもMobile Servicesのデプロイ可能地域になったり、iOS開発者向けに素晴らしいビデオシリーズがあったりと結構な気合の入れようです。今後が楽しみですね。

SQL Reporting Services

今のHTML5ベースの管理ポータルで管理できるようになりました。このあたりは蒼の王座さんの 「SQL Reportingのサーバー管理が管理ポータルで可能に!」を見るのがいいかと思います。

Service Bus

ServiceBusのキュー/トピックも管理ポータル側が拡張されました。今まで既定のメッセージ生存期間など作成時に決めたら変更できなかった(気がする)のですが、構成タブで変更できるようになりました。

またキュー/トピック単位で有効・無効・送信は無効・受信は無効など状態を変えることができるようになっています。

何気に便利ですね。

ダッシュボードで見ることができる項目も増えたので必要に応じて表示項目を変えましょう。(同時に6項目までなので注意)

あ、サンプルとかクイックスタートのページが拡充されてるみたいなので、こちらも要チェックです。

※リンク先はもれなく英語ですが。

Media Services

オンデマンドストリーミングに関する監視項目が追加されました。

これでストリーミングの状態もちょっとはわかりやすくなりましたね。今はLive Streamingがないですけど、将来に期待です。

クイックスタートガイドも拡充されて、簡単にアップロードタスクやエンコードタスクのコードを実装することができるようになっています。

アプリケーションキーも埋め込まれてるので、本当に貼り付けるだけ!w

 

Windows Azure Active Directory統合

やっとこさWindows Azure Active Directoryの管理がWindows Azureの管理ポータルに統合されました。ちょっと特殊ですけど、Office 365やIntune、もしくは別途Windows Azure Active Directoryのテナントのユーザーを使用してWindows Azureを契約してるアカウントであれば、Windows Azureの管理ポータルのActive Directoryにエンタープライズ ディレクトリというのが増えます。

従来のACSは「Access Control名前空間」タブのほうですね。

エンタープライズのほうでは既存のActive Directoryドメインとの同期設定やユーザー・グループのメンテナンス、ドメインの管理などが行えます。

あとこれはWindows Azure Active Directory側のアップデートですが、多要素認証(電話/SMSによる追加認証)などもできるようになっています。やったね!エンタープライズで使えないとかもう言わせないですよ!

 

という感じです。

 

あとWebエンドポイントの監視については先ほどのエントリで触れたとおりですね。

とまぁだいたいこんな感じです。\ノ’∀ン ヒャッホウ

Windows 8でユーザープロファイルの位置を変える

 

Cドライブに128GBのSSDとか使ってると知らぬ間に枯渇して瀕死となるので、なんとかしましょう。ということで。

やり方としてはもろもろロックされてない状態でUsersフォルダを移動してシンボリックリンク貼るだけです。(別にProgram FilesでもなんでもOK)

Windows 8のブートメディア等から起動してRepairモード → トラブルシュート(Trobuleshoot) →  拡張オプション (Advanced Options) → コマンドプロンプト(Command Prompt)まで起動したら、あとはUsersなどを移動させましょう。

robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ 

あ、元々のCドライブがCにマウントされてるかどうかは微妙なので、Diskpartコマンド等で確認しておいてください。

移動後は削除してシンボリックリンク貼ります。

mklink /d c:\users d:\users

細かいのはHow To Change User Profile Location in Windows 8 without Registry Hack とか参照。