カテゴリ:サーバがらみ( 107 )
(RDS)接続ブローカー構築してからリモートデスクトップ接続行うと認証が2回聞かれる
(RDS)リモートデスクトップサービスで冗長化かつ負荷分散する方法で書いた手順で、接続ブローカーとDNSラウンドロビンによってリモートデスクトップサービス(ターミナルサービス)の負荷分散+冗長化をもたせました。

構成としては、接続ブローカーサーバ、RDSサーバ1号機(RDSsv1)、RDSサーバ2号機(RDSsv2)、DNSサーバ(ドメインコントローラ)という感じです。

WindowsXP SP3 の端末からテストをしてみたんですが、何故か認証が2回聞かれることがあります。
(XP側でテストしたRDPクライアントバージョは6.1.7600です)

Windows7からではすんなり1回の認証で通ります。

で、どのような場合に2回聞かれているかというと、接続開始時にまずDNSラウンドロビンロビンによって RDSsv1,RDSsv2 のどちらかにセッションをはります。
まずその時に、1回目の認証を聞いてきます。
そして、認証成功後、接続ブローカーによってどのサーバに入るか指示されるわけですが、最初の認証したのとは違うサーバ(RDSsv2)にリダイレクトされると2回目の認証を聞いていきます。
(そのままリダイレクトされずにRDSsv1を使うよう接続ブローカーによって指示されたときは、2回目の認証は聞いてきません。)
つまり、リダイレクト時に、リダイレクト先へ認証済みのチケットが送れてないということですね。


さて、色々調査したところ、原因がわかりました。
それはXPのRDPクライアントはデフォルトでは、ネットワークレベル認証(NLA)が有効になっていないということが原因でした。
(ちなみに、ネットワークレベル認証が対応しているのはRDPクライアント6.0~です。)


今まではリモートデスクトップのセッションを張ってから認証を行ってましたが、それだとセキュリティ的によろしくないので、セッションを張る前に認証するというのがこのNLAです。


RDPクライアントでネットワークレベル認証が有効になっているかどうかは、タイトルバーを右クリックしてバージョン情報を表示するとわかります。
XPではデフォルトだと下記のように有効になっていません。
e0091163_0161334.jpg

e0091163_0161212.jpg


NLA無効時にRDS(TS)サーバにつなぐとこうなります。
e0091163_016386.jpg


RDPクライアントでネットワークレベル認証を有効にするには下記レジストリに値を追加します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
末尾の行に "tspkg" を追加。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SecurityProviders
末尾に ", credssp.dll"を追加します。


設定後再起動すると、下記のように有効になります。
e0091163_017729.jpg

e0091163_017661.jpg


NLA有効時にRDS(TS)サーバにつなぐとこうなります。
e0091163_0172683.jpg



さて、実はこのネットワークレベル認証ですが、各RDSサーバの設定も関係します。

RDセッションホストの構成 → RDP-Tcp のプロパティでセキュリティに関する設定ができるわけですが、ここの "セキュリティ層" はデフォルトは "ネゴシエート" になっています。
しかし、一番低レベルの "RDPセキュリティ層" にすると、サーバ側でのネットワークレベル認証が無効になってしまいます。
そうなると、クライアントでNLAが有効なはずのWindows7からアクセスしても、サーバ側でNLAが無効になっているため、連続認証の現象が発生するようになります。

なので"セキュリティ層"の設定は "ネゴシエート" もしくは "SSL(TLS1.0)" にしておく必要があります。
e0091163_0182573.jpg


ちなみに、下の方にある "ネットワークレベル認証でリモートデスクトップを実行しているコンピュータからのみ接続を許可する" にチェックすると、クライアント側がNLA有効になっていなくて接続すると下記のようなエラーになります。
e0091163_0184174.jpg


RemoteAPP使用時のシングルサインオンにも、このネットワークレベル認証が関係しているようです。

この原因探るのに結構時間かかってしまいました。。。

参考:
ターミナル・サービスによるクライアントの仮想化(後編) - @IT RemoteAppの話ですが、下部の"シングル・サインオンを構成する"あたりにヒントがありました。
TechNet:リモート デスクトップ サービスの RDC クライアント シングル サインオンを有効にする
【TS】XP SP3でネットワークレベル認証(NLA)を有効にする - かめログ2
XP SP3でネットワークレベル認証(NLA)を有効にできんのかよ kamepress
[PR]
by Jehoshaphat | 2012-01-03 00:21 | サーバがらみ | Trackback | Comments(0)
(RDS)リモートデスクトップサービスで冗長化かつ負荷分散する方法
WindowsServer2003の時はターミナルサービスの冗長化をNLBクラスタを使って実現していました。
しかし、これでは負荷分散にはならずいつもどちらかのサーバのセッションが多く負荷バランスが不安定でした。

WindowsServer2008以降ではTSセッションブローカー(2008無印)、接続ブローカー(2008R2)を使うことで負荷分散ができるようです。
(冗長化は従来のNLBやロードバランサ機器も使えますが、DNSラウンドロビンがお手軽で、手っ取り早いです。ただしDNSラウンドロビンだと障害時の待ち時間が30秒ほど必要になります。)

仕組みや構成については、@IT:負荷分散をサポートするTSセッション・ブローカを見るとよくわかります。


構築の方法も簡単でした。
TechNet:チェックリスト: RD 接続ブローカーを使用して、負荷分散された RD セッション ホスト サーバー ファームを作成するの手順通りやれば構築できます。

一応手順概要をメモしておきます。
1.リモートデスクトップサービス(RDS)をインストールしたサーバを複数台用意します。

2.リモートデスクトップ接続ブローカーの役割をRDSとは別のサーバにインストールします。(ドメインのメンバサーバである必要あり)

3.接続ブローカーをインストールしたサーバのローカルグループに、「Session Broker Computers」というのができているので、そこに各RDSサーバを追加します。(デフォルトではコンピュータが選べないようになっているので注意が必要です。)

4.各RDSサーバをRD接続ブローカーのファームに参加させます。
サーバマネージャの[リモートデスクトップセッションホストの構成]から[設定の編集]領域の[RD 接続ブローカー内のファームのメンバー]をダブルクリックし設定画面を立ち上げます。
[設定の変更]→ [ファーム メンバー]を選択し、[RD接続ブローカーサーバー名]にRD接続ブローカーのサーバー名を入力、[ファーム名]に適当な名前を入力します。
あとは、[接続ブローカーの負荷分散に参加する]チェックボックスをオンにし、再接続に使用するIPアドレスにチェックを入れます。
これを各RDSサーバに対して行います。

5.最後にDNSの設定をします。
DNSサーバで新しいAレコードを追加します。
ホスト名は、4.で入力した[ファーム名]が望ましいようです。
IPは各RDSサーバのものを使います。
例えば、ファーム名が"frm"で、RDSサーバが2台あってそれぞれのIPが10.0.0.11,10.0.0.12ならDNSに下記のように2レコード追加します。

frm 10.0.0.11
frm 10.0.0.12



これで、クライアントがリモートデスクトップで frm にアクセスするとDNSラウンドロビンでどれかのRDSに接続し、そのRDSは接続ブローカーにセッションがあるかどうか確認して、セッションがあれば今まで使っていたRDSに、セッションがなければ負荷が軽いRDSにリダイレクトするようになります。

試しにRDSサーバの片方を止めてみました。認証画面が出るまで数十秒かかりますが無事にもう片方につなぎに行くようになりました。


参考:
Windows Server 2008で大幅に進化したターミナルサービスを試す【完結編】
2008R2RDS導入のポイント_v1.0.pdf MSのTechnetブログに掲載されてた情報ですが、分かりやすくまとめられているので、RDSを導入するのなら必ず読んでおくべきですね。
[PR]
by Jehoshaphat | 2012-01-03 00:08 | サーバがらみ | Trackback | Comments(0)
(App-V)公開サーバの更新しようとすると「アクセスは許可されていない」とエラーになる
あるユーザで、Application Virtualization Management Console をつかって、手動で公開サーバの更新処理をしようとすると、「要求されたデータへのアクセスは許可されませんでした。エラーコード: 4604EE8-16906404-00000917」という下記のようなエラーになります。
e0091163_054761.jpg


ググッたところ、解決法は、MS TechNetフォーラム:App v client error 4615186-16906404-00000917MSサポート:Using the Refresh Server option to refresh a Publishing Server from the Microsoft Application Virtualization Client MMC snap-in results in error code 04-00000917にありました。

原因は、更新処理をしようとしたユーザがプロバイダポリシーのグループの割り当てで指定されたグループのメンバにいなかったことです。
Application Virtualization Management Console のプロバイダポリシーから、そのユーザが所属しているグループを追加することで解決しました。
(おそらくApp-Vを利用するユーザはプロバイダポリシーで指定したグループ内のメンバになっておかないといけないのだと思います。)
e0091163_06217.jpg


参考:
TechNet:App-V 用に Active Directory の前提条件グループを構成する
[PR]
by Jehoshaphat | 2012-01-03 00:06 | サーバがらみ | Trackback | Comments(0)
(App-V)アプリケーションを起動しようとすると「直接到達できません」とエラーになる
App-V化したアプリケーションを起動しようとするとすると、「要求されたホストは存在しますが、直接到達できません。エラーコード: 4604EE8-19D010A-00005000」という下記のようなエラーになります。

e0091163_032838.jpg


結局原因は、OSDファイル内の CODEBASE タグ内のURLが間違っていただけでした orz
[PR]
by Jehoshaphat | 2012-01-03 00:03 | サーバがらみ | Trackback | Comments(0)
(App-V).Net Frameworkをミドルウェアとしてパッケージする
.Net Framework1.1上で動いている業務アプリケーションがあります。


今回、WindowsServer 2008 R2 のRDS(リモートデスクトップサービス、旧ターミナルサービス)に移行する予定なんですが、WindowsServer2008 R2 や Windows7 では .Net Framework1.0/1.1は利用できなくなりました。

(この件に関しては、詳細は下記を参照。)
.NET Frameworkのバージョンを整理する - @IT
.NET Framework 1.0/1.1 上で稼働するアプリケーションをお使いのお客様へ - .NET Framework 移行センター

こういう場合に App-V を使えば.NetFrameworkごと仮想化してしまえるので、サポートされなくなった.Net Framework1.0/1.1を使うアプリケーションも使うことができます。
(.NetFramework2.0~3.5であれば WindowsServer2008 R2 には標準で入っているので何もしなくても動きます)

シーケンサーでパッケージを作るときに、標準アプリケーションと同じ方法で、.Net Framework1.0/1.1インストール→業務アプリケーション インストールという方法でやったら普通にきました。
しかし、別の.Net Framework1.0/1.1 を使うアプリケーションを同じ方法でパッケージ化し、App-Vサーバでインポートしようとすると、下記イメージのように、「アプリケーションは作成できません。指定の名前およびバージョンは既に使用されています。」とエラーになります。
e0091163_235069.jpg


名前を変えればいいのでしょうが、業務アプリケーションのパッケージごとに .Net Framework があるのはキャッシュの点から考えても効率的とは言えません。
ということで、ミドルウェア化を試してみました。構成としては下記のようになります。
e0091163_23502275.jpg


このミドルウェア化したアプリケーションを、他のアプリケーションパッケージから使う方法からは、App-V の Dynamic Suite Composition という機能で動いているようですね。


手順は、MS Technet:Dynamic Suite Composition を使用する方法が参考になりますが、概略を下記に書いておきます。
App-V は 4.6 です。


1.まずシーケンスを行うPCのに、ミドルウェア(今回だと.NetFramework1.0/1.1)をインストールします。
(この際、シーケンスの作業はしません。普通にインストールするだけです。)

2.そして、ミドルウェアを利用する業務アプリケーションを、シーケンスします。
できたパッケージをApp-Vサーバのコンテンツフォルダに保存し、インポートします。

3.シーケンスするPCを 1. を行う前の状態にもどして、今度はミドルウェアをシーケンスします。(アプリケーションの種類はミドルウェア)
できたパッケージをApp-Vサーバのコンテンツフォルダに保存し、インポートします。
e0091163_2352463.jpg



4.ここから、業務アプリケーションとミドルウェアのパッケージの依存関係設定を行います。
ミドルウェアパッケージ内の osd ファイルをテキストエディタで開きます。(どのファイルでもいいようです。)

5.開いたファイルの CODEBASE HREF 行をコピーします。
(今回だと下記のような行になりました)

<CODEBASE HREF="RTSP://appv-sv:554/dotnet_fr1011_mid/dotnet_fr1011_mid_2.sft" GUID="5AB8B691-3395-4B56-A896-6C87BA7B0FF4" PARAMETERS="" FILENAME="%CSIDL_WINDOWS%\Microsoft.NET\Framework\v1.0.3705\ConfigWizards.exe" SYSGUARDFILE="dotnet_fr1011_mid\osguard.cp" SIZE="169636875"/>


6.業務アプリケーションのosdファイルを開きます。
<DEPENDENCIES> タグを、<VIRTUALENV> セクションの最後にある </ENVLIST> タグの後、</VIRTUALENV> タグの直前に挿入し、コピーしているミドルウェアの CODEBASE HREF 行を <DEPENDENCIES> タグ内に貼り付けます。
また、ミドルウェアパッケージで、OSDファイルの <ENVLIST> セクションに任意のエントリがある場合、これらのエントリを業務アプリケーションOSDファイルの同じセクションにコピーする必要があるようです。(今回はこれは必要有りませんでした。)

注意点として、ミドルウェアが必須パッケージの場合、MANDATORY="TRUE" CODEBASE タグ内に追加しないといけません。たいてい必須になるかと思います。
最初これを忘れていて、うまく業務アプリケーションが動きませんでした。

業務アプリケーション側のOSDファイルですが、赤色の部分が変更点です。

<?xml version="1.0" standalone="no"?>
<SOFTPKG GUID="xxxx" NAME="HogeApri" VERSION="1.0.0.0">
<IMPLEMENTATION>
<CODEBASE HREF="RTSP://appv-sv:554/hogeapri/hogeapri_2.sft" GUID="xxxx" PARAMETERS="" FILENAME="hogeapri\hoge\hoge.exe" SYSGUARDFILE="hogeapri\hoge.cp" SIZE="133042724"/>
<VIRTUALENV TERMINATECHILDREN="FALSE">
<POLICIES>
<LOCAL_INTERACTION_ALLOWED>FALSE</LOCAL_INTERACTION_ALLOWED>
</POLICIES>
<ENVLIST/>


<DEPENDENCIES>
<CODEBASE HREF="RTSP://appv-sv:554/dotnet_fr1011_mid/dotnet_fr1011_mid_2.sft"
MANDATORY="TRUE" GUID="5AB8B691-3395-4B56-A896-6C87BA7B0FF4" PARAMETERS="" FILENAME="%CSIDL_WINDOWS%\Microsoft.NET\Framework\v1.1.4322\ConfigWizards.exe" SYSGUARDFILE="dotnet_fr1011_mid\osguard.cp" SIZE="169636875"/>
</DEPENDENCIES>


</VIRTUALENV>
<WORKINGDIR/>
<VM VALUE="Win32">
<SUBSYSTEM VALUE="windows"/>
</VM>
</IMPLEMENTATION>
...省略


おそらくこのミドルウェアでパッケージする方法は、Javaランタイムとかにも使えると思います。

追記:
さっき気づいたんですが、パッケージ間の依存関係を上記手順では直接OSDファイルを書き換える方法でやっていました。
しかし、Application Virtualization Dynamic Suite Composition Tool というものを使えば、GUIで簡単にできるということが、山市良のえぬなんとかわーるど: App-V にあっぷっぷ: Dynamic Suite Composition に書かれてました。


参考:
MS TechNet:新しいミドルウェア アプリケーションをシーケンス処理する方法
[PR]
by Jehoshaphat | 2011-12-18 23:52 | サーバがらみ | Trackback | Comments(0)
App-V動作報告 Oracle10gClient

Oracle10gのクライアントをシーケンサーでパッケージ化して App-V for RDS で動かしてみたんですが、動きました。
ただ、Enterprise Manager コンソール 実行時は、RDS側で管理者権限として実行してやらないと、データベースログイン後に落ちてしまいます。
[PR]
by Jehoshaphat | 2011-12-18 23:28 | サーバがらみ | Trackback | Comments(0)
App-Vでインストーラがないソフトを展開する方法
(最近バタバタしており、久しぶりの更新になってしまいました。。)

App-Vは基本的にインストーラの動きをトレースしてパッケージ化するので、インストーラがないソフト(いわゆるxcopy配置)は App-V で使えないのかと思ってました。

が、どうやらそうでないようです。


試しにCPU-Zをパッケージ化して配信してみました。
App-V for RDS環境です。(バージョンは4.6)
新しいパッケージの作成ウィザードで、種類を、標準アプリケーションとし、その次の画面で、「カスタムインストールを実行する。」を選択します。
e0091163_23202174.jpg


あとは、パッケージ名を入れて、「アプリケーションを今すぐインストールしてください。」の画面になったら、仮想ドライブ(デフォルトQ:だけど、今回はM:)のアプリケーション名のフォルダ(バルーン表示される)に、CPU-Zのファイルをコピーします。
e0091163_23203319.jpg


で、「インストールを終了する」にチェックをいれ、ウィザードを進めます。

終了するか,カスタマイズするか の画面になったらカスタマイズを選択します。
その次の画面で、「追加」ボタンを押下して、実行するexeを選択します。(ショートカットもここで指定できます)
e0091163_23204526.jpg



アプリケーションを実行するかのウィザードでは、実行しておいたほうが無難なようです。
e0091163_23205673.jpg



で、OSを選び、パッケージを保存します。

後は、パッケージの編集ウィザードで、実行対象OSとサーバのホスト名を指定します。
e0091163_23211565.jpg



これで、App-VサーバにインポートしクライアントのRDSサーバに配信したんですが 「ディレクトリ名が無効です。エラーコード: 4604EE8-1F701639-0000010B」 とエラーになります。
e0091163_2321355.jpg



調査すると、Technet:Microsoft Application Virtualization Management System リリース ノートによると、osd ファイルのパスの設定部分で、短縮パスを表す「~」があるとダメなようです。
CPU-Zの場合、WORKINGDIR の所の設定にチルダが入ってました。
App-VサーバのCPU-Zの osd ファイルから、「~」をのけて、クライアント側から一旦削除し、再度読み込ました。

が、今度は「要求された操作には管理者特権が必要です。」と怒られます。
e0091163_23215280.jpg



一般ユーザ権限でRDSにログインしていたのでCPU-Zを右クリックし、管理者権限で動かすと無事に動きました。
e0091163_2322972.jpg


xcopy配置のアプリケーションも安心してApp-Vで配信できますね。
[PR]
by Jehoshaphat | 2011-12-18 23:26 | サーバがらみ | Trackback | Comments(0)
App-V でOffice2010を評価しようとしたけれど。。
MSのApp-V for RDSを試してみたでApp-Vの環境を構築したので MS Office 2010 を入れてみようと思いました。

とりあえずMS Office 2010の体験版をダウンロードして、シーケンサーでインストールを記録します。

で、App-Vサーバに登録して実行しようとしましたが、エラーになります。
調べると、Microsoft Office 2010 Deployment Kit for App-V というのをRDSサーバ側で実行しないといけないようです。

いれたところ起動するようになったのですが、起動時にプロダクトキーが要求されるので、体験版のキーを入れましたが、認証通りません。

どうやら、App-V検証~その4 Office 2010 をシーケンス処理する MCTの憂鬱によるとApp-Vで使うのは、ボリュームライセンスでないとダメなようです。
上記参考先に、細かい手順が載っているので、実際にインストールするときは参考にするとよいでしょう。

手近に使えるボリュームライセンスがなかったので、結局評価が出来ませんでした。
[PR]
by Jehoshaphat | 2011-10-28 00:29 | サーバがらみ | Trackback | Comments(0)
MSのApp-V for RDSを試してみた


HPのシンクライアント評価時に、営業担当からApp-Vの話を聞きました。
恥ずかしながらそれまでApp-Vのことは知りませんでした。
ということで、App-Vを試してみました。


MED-V,APP-V,RemoteApp,VDI
どうやら調べてみるとMicrosoftの仮想化ソリューションはいつの間にやら結構出ていたようです。
主に、MED-V,APP-V,RemoteApp,VDIがあるようですね。どれもアプリケーションの仮想化なのでユーザーエクスペリエンスは同等ではあるんですが、使っている技術が大きく異なります。
下記の技術をうまく組み合わせて、ユーザビリティなアプリケーション環境を作ることが肝ですね。


●MED-V(Microsoft Enterprise Desktop Virtualization、Virtual PCとXP Modeの集中管理化)
クライアントPCの上で仮想PC(VirtualPC)を動かしレガシーアプリケーションを動かす方式です。
ただし、仮想PCと言っても、その上で動かすアプリケーションのウィンドウしか見せません。
Windows7 の XP Mode アプリケーションみたいなものです。
XP Mode と異なるのは一括管理機能を有することみたいです。

●App-V(Microsoft Application Virtualization、アプリケーションの仮想化とストリーミング配信)
今回の記事のメインのアプリケーション仮想化機能です。
アプリケーションを仮想パッケージ化し、クライアントPCではApp-Vサーバより配信されたアプリケーションを実行するという、アプリケーションのストリーミング配信的な形態です。
パッケージ化は、シーケンサーというツールで、アプリケーションのインストールを監視して、変更があったファイル・レジストリの設定をまとめてしまいます。
パッケージ化されているので、実行するクライアントPCにいちいちアプリケーションをインストールする必要も有りません。(ただし、アプリケーションが動くのはクライアント上であり、クライアントのOSの依存が完全になくなるのではないことは注意が必要です)
これを使うと、同じクライアントPCで複数のバージョンのアプリケーションを同時に動かせたりしますし、アプリケーションの配布も楽になります。
通常のApp-VはクライアントPCで仮想アプリケーションを動かすことを前提としてますが、App-V for RDS(Application Virtualization for RemoteDesktop Service)を使うと、リモートデスクトップサーバ上でApp-Vを使用することができます。
今回は、この App-V for RDS を試してみました。

●RemoteApp(画面転送)
これはリモートデスクトップのアプリケーション版ですね。
リモートデスクトップサーバ上で任意のアプリケーションを実行し、そのアプリケーションのウィンドウをクライアントPCに転送するというものです。
CitrixのXenAPP(旧メタフレーム)とほぼ同じ機能です。


●VDI(Virtual Desktop Infrastructure、デスクトップ仮想化)
これはサーバ上に多数の仮想化したクライアントOSを配置し、クライアント(主にシンクライアント等)からその仮想OSを使うイメージです。
プレゼンテーション層の仮想化(リモートデスクトップサービス,ターミナルサービスetc)と似ていますが、仮想化されたクライアントOSとクライアント端末が1対1になるという点が異なるでしょう。(クライアントOSなので複数ユーザ起動がNGなアプリやサーバOSでの動作がNGなアプリも動かせます)
昨今の震災で在宅勤務の観点から注目を集めているようです。
CitrixのXenDesktopやMSのHyperV+RDSなどがこれに当たるようです。

各機能の比較や特徴については下記を参照:
仮想化の教室 [第9回] 企業デスクトップの仮想化 ~MDOPの新顔、MED-V~ : Windows Server - Computerworld.jp
TechNet:MED-V と App-V を比較しどちらが自分に合っているかを判断する
VDI(Virtual Desktop Infrastructure) - @IT
【仮想化道場】 マイクロソフトの仮想化戦略を担うMED-V【前編】 -クラウド Watch
アプリケーションを使いやすくするVDI環境の拡張機能 - @IT(VDIとRemoteApp,App-Vの組み合わせ)

Windows Server 2008で大幅に進化したターミナルサービスを試す【中編】(RemoteApp)





App-V for RDSの構成
App-V for RDSの構成はちょっと複雑です。

まず、サーバとして下記が必要になります。
・RDSサーバ : 仮想化アプリケーションを実行するリモートデスクトップサーバー
・App-V(Application Virtualization Server)サーバ : 仮想化アプリケーションを配信するサーバ

また、アプリケーションをパッケージ化して仮想化するための Application Virtualization Sequencer という環境が必要になります。


App-V 配信サーバ構築
App-Vサーバには、Application Virtualization Management System というソフトをインストールする必要がありますが、他にも IIS6.0 以降(ASP.Net)や.NetFramework2.0以降、SQLServer2008(ExpressEditionでも可)、ActiveDirectory環境も必須になるようです。

インストール媒体はTechNetの サーバー → Desktop Optimization Pack → Microsoft Desktop Optimization Pack 2011 (x86 and x64) - DVD (Japanese) をダウンロードしました。

具体的なインストールの手順は、Microsoft Application Virtualization スタート アップ ガイド | TechNetにドキュメントが公開されています。が、docx形式なので注意が必要です。

今回インストールするのは、App-V 4.6 SP1 を試しました。上記のスタートアップガイドは App-V 4.5 のものですが、ほとんど変更はありません。
(4.6といっても、MagementServer は 4.5 SP2 のままのようです。App-V4.6については、山市良のえぬなんとかわーるど: (補足) MDOP 2010 の App-V 4.6 についてが参考になります。)

スタートアップガイドに従うと、下記のような手順で、App-Vサーバを構築していきます。

・IIS(ASP.Net)のインストール。
・SQLServer Expressのインストール。
・ADにグループ、ユーザ追加。
・Management Server 4.5 SP2 のインストール

System Center Application Virtualization Streaming Serverはインストールしませんでした。


クライアントソフトのインストール
App-Vクライアントとなるリモートデスクトップサーバに、Application Virtualization Desktop Client 4.6 SP1のインストールしようとしましたが、できません。
リモートデスクトップサービスがインストールされている環境では、RDS用のクライアント(App-V for RDS(TS))がいるようです。

App-V for Remote Desktop Services (RDS) 4.6 (32-bit/64-bit)はダウンロード提供となり、http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=e633164f-9729-43a8-9149-de651944a7feからダウンロードできるようです。


App-V for RDS をインストール後、管理ツール → Application Virtualization Client → 公開サーバ でApp-Vサーバの指定を行います。
設定は下記のようにしました。
表示名:自由
種類:Application Virtualization Server
ホスト名:app-v.hogedomain.local
ポート:554


ここまでできたら、デフォルトで用意されているサンプル仮想アプリケーションの動作確認を行います。
スタートアップガイドの 4.5 章の部分ですね。


Sequencerの環境M
App-VではApplication Virtualization Sequencerというツールで、アプリケーションを仮想パッケージ化します。
このSequencerは、クリーンインストールされており、WindowsUpdate以外のプログラムは何もいれてはいけないようです。
なので、仮想PCとして環境を作るのが望ましいでしょう。それで、クリーン時のすナプショットを取っておき、何かの仮想アプリケーションをパッケージ化したら、一旦スナップショットを復元し、またパッケージ化するという感じです。

今回はOSはXP SP3としました。
Microsoft Desktop Optimization Pack 2011内にある、Sequencer4.6 SP1(32ビット)をスタートアップガイドの5.3章に従いインストールします。

シーケンスの手順も、スタートアップガイドの5.4章に従って行います。
4.5と4.6は若干画面が異なったので注意が必要かもしれません。

パッケージ作成後に、Sequencer で作成したパッケージを開き、展開設定を忘れないようにしないといけません。
"展開"タブでプロトコルと、ホスト名とパスを設定します。(プロトコル・ポートについてはスタートアップガイドに従ってセットアップしたなら RTSP 554ポートになります。ホスト名は、App-vサーバのホスト名を指定します。パスは作成されたパッケージのフォルダと同じにしないといけません。)
また、オペレーティングシステムで、実行対象のOSを選択します。今回は2008R2上のRDSで使う予定なので、Windows 2008 R2 Terminal Server 64-bitを選ぶ必要があります。

これでパッケージを上書き後、App-Vサーバにアプリケーションを登録します。
App-VサーガのApplication Virtualization Management Consoleで、"アプリケーション"ツリー → "アプリケーションのインポート" でパッケージを選びます。
このあたりの作業は、スタートアップガイド 5.5章を参考にできます。


最後に、RDSサーバで実行出来ればOKです。アプリケーションの読み込みはRDSのログイン時になるようですね。


.Net Frameworkの上で動くアプリケーションに仮想化は結構面倒みたいです。
Paint.Netを試みましたがうまくいきませんでした。


参考:
App-V検証~その1 環境作成 MCTの憂鬱
Microsoft Application Virtualization (App-V) のライセンス: Microsoft Virtualization
Microsoft Desktop Optimization Pack (MDOP)についてまとめてみる: MSLabo
Microsoft Application Virtualization 4.5 ドキュメント | TechNet
Microsoft Application Virtualization ホーム
ついてるサラリーマンアスリートの備忘録 | Microsoft Application Virtualization 4.5
Application Virtualization Client のトラブルシューティング情報
2008R2RDS導入のポイント_v1.0.pdf MSのTechnetブログに掲載されてた情報ですが、App-Vに限らずRDSを使う上での冗長化、ライセンス、パフォーマンスについて分かりやすくまとめられています。RDSを導入するのなら必ず読んでおくべきですね。
[PR]
by Jehoshaphat | 2011-10-28 00:27 | サーバがらみ | Trackback | Comments(0)
ターミナルサーバで全ユーザのプリンタドライバの設定を変更する
ターミナルサーバ(WindowsServer2003 R2)でいくつかのプリンタドライバをインストールしているんですが、困ったことに初期値がカラーの片面かつ集約無し印刷になっています。
コスト削減のためにデフォルト値を白黒で集約有りの両面印刷にしたいと思っています。

個々のユーザに、プリンタの印刷設定の規定値を変更させたいのですが、徹底されるとは限りません。
という事で、全ユーザの印刷設定を一気に変える方を調べてみました。

サーバ管理者で、プリンタのプロパティを開き、[詳細設定]タブ→[標準の設定]で、白黒や集約等の設定を行います。

これをすると、すでにユーザが別の設定を指定場合でも、この標準の設定に置き換わります。
また、新しいユーザが使おうとしたときは、この標準の設定となります。

ちなみに、ターミナルサーバでなくても、プリンタの共有をしている場合も上記の設定を行うことで、クライアントの設定も変更できるようです。

これがWindowsServer2008で、ActiveDirectory組んでいると、グループポリーとかでもできるようですが。。。

参考:
Technet:印刷の既定値を設定する
MSサポート:Windows XP での印刷設定の変更
[PR]
by Jehoshaphat | 2011-09-23 23:02 | サーバがらみ | Trackback | Comments(0)