XenApp 6.x の移行について
注: このバージョンの XenApp および XenDesktop では、Citrix Smart Migrate 製品を使用できません。ただし、移行ツールは利用可能です。
この記事で説明されている移行ツールを使用して、XenApp 6.x から XenApp 7.6 に移行できます。その後、XenApp 7.6 からサポートされている LTSR または現在の Citrix Virtual Apps and Desktops リリースにアップグレードできます。
XenApp 6.x 移行ツールについて
XenApp 6.x 移行ツールは、XenApp 6.x (6.0 または 6.5) のポリシーおよびファームデータを移行するコマンドレットを含む PowerShell スクリプトのコレクションです。XenApp 6.x コントローラーサーバーで、そのデータを XML ファイルに収集するエクスポートコマンドレットを実行します。次に、XenApp 7.6 コントローラーから、エクスポート中に収集されたデータを使用してオブジェクトを作成するインポートコマンドレットを実行します。
以下の手順は、移行プロセスをまとめたものです。詳細は後述します。
- XenApp 6.0 または 6.5 コントローラーで:
- PowerShell エクスポートモジュールをインポートします。
- エクスポートコマンドレットを実行して、ポリシーおよびファームデータを XML ファイルにエクスポートします。
- XML ファイル (エクスポート時に XML ファイルに埋め込まないことを選択した場合は、アイコンフォルダーも) を XenApp 7.6 コントローラーにコピーします。
- XenApp 7.6 コントローラーで:
- PowerShell インポートモジュールをインポートします。
- インポートコマンドレットを実行して、XML ファイルを入力として使用し、ポリシーおよびファームデータ (アプリケーション) をインポートします。
- 移行後の手順を完了します。
実際の移行を実行する前に、XenApp 6.x の設定をエクスポートし、XenApp 7.6 サイトでプレビューインポートを実行できます。プレビューでは、考えられる障害箇所が特定されるため、実際のインポートを実行する前に問題を解決できます。たとえば、プレビューによって、新しい XenApp 7.6 サイトに同じ名前のアプリケーションが既に存在することが検出される場合があります。また、プレビューから生成されたログファイルを移行ガイドとして使用することもできます。
特に記載がない限り、6.xという用語はXenApp 6.0または6.5を指します。
このリリースでの新機能
2014年12月のこのリリース(バージョン20141125)には、以下の更新が含まれています。
- XenApp 6.xファームで移行ツールを使用する際に問題が発生した場合は、https://discussions.citrix.com/forum/1411-xenapp-7x/に報告してください。
- 新しいパッケージング -
XAMigration.zipファイルには、2つの独立したパッケージ(ReadIMA.zipとImportFMA.zip)が含まれるようになりました。XenApp 6.xサーバーからエクスポートするには、ReadIMA.zipのみが必要です。XenApp 7.6サーバーにインポートするには、ImportFMA.zipのみが必要です。 -
Export-XAFarmコマンドレットは、アイコンデータを個別のファイルにコピーする必要をなくす新しいパラメーター(EmbedIconData)をサポートしています。 -
Import-XAFarmコマンドレットは、3つの新しいパラメーターをサポートしています。-
MatchServer- 式に一致する名前を持つサーバーからアプリケーションをインポートします -
NotMatchServer- 式に一致しない名前を持つサーバーからアプリケーションをインポートします -
IncludeDisabledApps- 無効なアプリケーションをインポートします
-
- プリローンチされたアプリケーションはインポートされません。
-
Export-PolicyコマンドレットはXenDesktop 7.xで動作します。
移行ツールパッケージ
移行ツールは、XenApp 7.6 Citrixのダウンロードサイトから入手できます。XAMigration.zipファイルには、2つの独立したパッケージが含まれています。
-
ReadIMA.zip- XenApp 6.xファームからデータをエクスポートするために使用されるファイルと、共有モジュールが含まれています。
| モジュールまたはファイル | Description |
|---|---|
| ExportPolicy.psm1 | XenApp 6.xポリシーをXMLファイルにエクスポートするためのPowerShellスクリプトモジュール。 |
| XAファームのエクスポート.psm1 | XenApp 6.xファーム設定をXMLファイルにエクスポートするためのPowerShellスクリプトモジュール。 |
| ポリシーのエクスポート.psd1 | スクリプトモジュール ExportPolicy.psm1 のPowerShellマニフェストファイル。 |
| ExportXAFarm.psd1 | スクリプトモジュール ExportXAFarm.psm1 のPowerShellマニフェストファイル。 |
| LogUtilities.psm1 | ログ機能を含む共有PowerShellスクリプトモジュール。 |
| XMLユーティリティ.psd1 | スクリプトモジュール XmlUtilities.psm1 のPowerShellマニフェストファイル。 |
| XMLユーティリティ.psm1 | XML関数を含む共有PowerShellスクリプトモジュール。 |
-
ImportFMA.zip- XenApp 7.6ファームにデータをインポートするために使用されるファイルと、共有モジュールが含まれています。
| モジュールまたはファイル | Description |
|---|---|
| ImportPolicy.psm1 | XenApp 7.6にポリシーをインポートするためのPowerShellスクリプトモジュール。 |
| ImportXAFarm.psm1 | XenApp 7.6にアプリケーションをインポートするためのPowerShellスクリプトモジュール。 |
| ImportPolicy.psd1 | スクリプトモジュール ImportPolicy.psm1 のPowerShellマニフェストファイル。 |
| ImportXAFarm.psd1 | スクリプトモジュール ImportXAFarm.psm1 のPowerShellマニフェストファイル。 |
| PolicyData.xsd | ポリシーデータのXMLスキーマ。 |
| XAFarmData.xsd | XenAppファームデータ用のXMLスキーマ。 |
| LogUtilities.psm1 | ログ関数を含む共有PowerShellスクリプトモジュール。 |
| XMLユーティリティ.psd1 | スクリプトモジュールXmlUtilities.psm1用のPowerShellマニフェストファイル。 |
| XMLユーティリティ.psm1 | XML関数を含む共有PowerShellスクリプトモジュール。 |
制限事項
- すべてのポリシー設定がインポートされるわけではありません。インポートされないポリシー設定を参照してください。サポートされていない設定は無視され、ログファイルに記録されます。
- エクスポート操作中にすべてのアプリケーションの詳細が出力XMLファイルに収集されますが、XenApp 7.6サイトにインポートされるのはサーバーにインストールされたアプリケーションのみです。公開デスクトップ、コンテンツ、およびほとんどのストリーミングアプリケーションはサポートされていません(例外については、ステップバイステップ:データのインポートの
Import-XAFarmコマンドレットパラメーターを参照してください)。 - アプリケーションサーバーはインポートされません。
- XenApp 6.xのIndependent Management Architecture (IMA)とXenApp 7.6のFlexCast Management Architecture (FMA)テクノロジーの違いにより、多くのアプリケーションプロパティはインポートされません。アプリケーションプロパティのマッピングを参照してください。
- インポート中にデリバリーグループが作成されます。インポートされる内容をフィルター処理するためのパラメーターの使用方法については、高度な使用法を参照してください。
- AppCenter管理コンソールで作成されたCitrixポリシー設定のみがインポートされます。Windowsグループポリシーオブジェクト (GPO) で作成されたCitrixポリシー設定はインポートされません。
- 移行スクリプトは、XenApp 6.xからXenApp 7.6への移行のみを目的としています。
- 5レベルより深いネストされたフォルダーはStudioでサポートされておらず、インポートされません。アプリケーションフォルダー構造に5レベルより深いフォルダーが含まれている場合は、インポートする前にネストされたフォルダーのレベル数を減らすことを検討してください。
セキュリティに関する考慮事項
エクスポートスクリプトによって作成されるXMLファイルには、ユーザー名やサーバー名、その他のファーム、アプリケーション、ポリシー構成データなど、環境や組織に関する機密情報が含まれる可能性があります。これらのファイルは安全な環境で保管および処理してください。
ポリシーやアプリケーションをインポートする際の入力としてXMLファイルを使用する前に、不正な変更が含まれていないことを確認するために、慎重にXMLファイルを確認してください。
ポリシーオブジェクトの割り当て(以前はポリシーフィルターとして知られていました)は、ポリシーがどのように適用されるかを制御します。ポリシーをインポートした後、インポートによってセキュリティ上の脆弱性が発生していないことを確認するために、各ポリシーのオブジェクト割り当てを慎重に確認してください。インポート後に、異なるユーザーセット、IPアドレス、またはクライアント名がポリシーに適用される可能性があります。許可および拒否の設定は、インポート後に異なる意味を持つ場合があります。
ログ記録とエラー処理
スクリプトは、すべてのコマンドレット実行、情報メッセージ、コマンドレット実行結果、警告、エラーを追跡する広範なログ記録を提供します。
- ほとんどのCitrix PowerShellコマンドレットの使用状況はログに記録されます。新しいサイトオブジェクトを作成するインポートスクリプト内のすべてのPowerShellコマンドレットはログに記録されます。
- 処理中のオブジェクトを含め、スクリプトの実行状況がログに記録されます。
- コマンドラインから指示されたフローを含め、フローの状態に影響を与える主要なアクションがログに記録されます。
- 警告やエラーを含め、コンソールに表示されるすべてのメッセージがログに記録されます。
- 各行にはミリ秒単位のタイムスタンプが付けられます。
Citrixでは、各エクスポートおよびインポートコマンドレットを実行する際にログファイルを指定することをお勧めします。
ログファイル名を指定しない場合、ログファイルは、現在のユーザーのホームフォルダー(PowerShell $HOME 変数で指定)が存在すればそこに保存されます。それ以外の場合は、スクリプトの現在の実行フォルダーに配置されます。デフォルトのログ名は XFarmYYYYMMDDHHmmSS-xxxxxx で、最後の6桁は乱数です。
デフォルトでは、すべての進行状況情報が表示されます。表示を抑制するには、エクスポートおよびインポートコマンドレットでNoDetailsパラメーターを指定します。
一般的に、スクリプトはエラーが発生すると実行を停止します。エラー条件をクリアした後、再度コマンドレットを実行できます。
エラーと見なされない条件はログに記録されます。多くは警告として報告され、スクリプトの実行は続行されます。たとえば、サポートされていないアプリケーションの種類は警告として報告され、インポートされません。XenApp 7.6サイトにすでに存在するアプリケーションはインポートされません。XenApp 7.6で非推奨となったポリシー設定はインポートされません。
移行スクリプトは多くのPowerShellコマンドレットを使用しており、発生しうるすべてのエラーがログに記録されるとは限りません。より広範なログ記録を行うには、PowerShellのログ機能を使用してください。たとえば、PowerShellのトランスクリプトは画面に表示されるすべてをログに記録します。詳細については、Start-TranscriptおよびStop-Transcriptコマンドレットのヘルプを参照してください。
要件、準備、およびベストプラクティス
移行するには、Citrix XenApp 6.5 SDKを使用する必要があります。そのSDKはhttps://www.citrix.com/downloads/xenapp/sdks/powershell-sdk.htmlからダウンロードしてください。
移行を開始する前に、この記事全体を確認してください。
基本的なPowerShellの概念を理解する必要があります。広範なスクリプトの専門知識は必要ありませんが、実行するコマンドレットを理解する必要があります。各移行コマンドレットを実行する前に、Get-Helpコマンドレットを使用してヘルプを確認してください。例: Get-Help -full Import-XAFarm。
コマンドラインでログファイルを指定し、コマンドレットを実行した後は常にログファイルを確認してください。スクリプトが失敗した場合は、ログファイルで特定されたエラーを確認して修正し、再度コマンドレットを実行してください。
知っておくと良いこと:
- 2つの展開(XenApp 6.xファームと新しいXenApp 7.6サイト)が稼働している間にアプリケーション配信を容易にするために、StoreFrontまたはWeb Interfaceで両方の展開を集約できます。StoreFrontまたはWeb Interfaceのリリースに関する製品ドキュメント(Manage > Create a store)を参照してください。
- アプリケーションアイコンデータは、次の2つの方法のいずれかで処理されます。
-
Export-XAFarmコマンドレットでEmbedIconDataパラメーターを指定すると、エクスポートされたアプリケーションアイコンデータは出力XMLファイルに埋め込まれます。 -
Export-XAFarmコマンドレットでEmbedIconDataパラメーターを指定しない場合、エクスポートされたアプリケーションアイコンデータは、出力XMLファイルのベース名に文字列-iconsを付加して名付けられたフォルダーの下に保存されます。たとえば、XmlOutputFileパラメーターがFarmData.xmlの場合、アプリケーションアイコンを保存するためにフォルダーFarmData-iconsが作成されます。このフォルダー内のアイコンデータファイルは、公開されたアプリケーションのブラウザー名を使用して名付けられた
.txtファイルです。ファイルは.txtファイルですが、保存されているデータはエンコードされたバイナリアイコンデータであり、インポートスクリプトによって読み取られ、アプリケーションアイコンを再作成できます。インポート操作中に、アイコンフォルダーがインポートXMLファイルと同じ場所に見つからない場合、インポートされた各アプリケーションには汎用アイコンが使用されます。 - スクリプトモジュール、マニフェストファイル、共有モジュール、およびコマンドレットの名前は似ています。エラーを避けるために、タブ補完は慎重に使用してください。たとえば、
Export-XAFarmはコマンドレットです。ExportXAFarm.psd1とExportXAFarm.psm1は実行できないファイルです。 - 「ステップバイステップ」セクションでは、ほとんどの
<string>パラメーター値が引用符で囲まれて表示されます。これらは単一の単語の文字列ではオプションです。
XenApp 6.xサーバーからエクスポートする場合:
- エクスポートは、コントローラーおよびセッションホスト(一般にコントローラーとして知られている)サーバーモードで構成されたXenApp 6.xサーバーで実行する必要があります。
- エクスポートコマンドレットを実行するには、オブジェクトを読み取る権限を持つXenApp®管理者である必要があります。また、PowerShellスクリプトを実行するための十分なWindows権限も必要です。ステップバイステップの手順には、指示が含まれています。
-
エクスポートを開始する前に、XenApp 6.xファームが正常な状態であることを確認してください。ファームデータベースをバックアップします。Citrix IMA Helperユーティリティ(CTX133983)を使用してファームの整合性を検証します。IMA Datastoreタブから、マスターチェックを実行し(その後、無効なエントリを解決するために
DSCheckオプションを使用します)、移行前に問題を修復することで、エクスポートの失敗を防ぐことができます。たとえば、サーバーがファームから不適切に削除された場合、そのデータがデータベースに残る可能性があります。これにより、エクスポートスクリプト内のコマンドレットが失敗する可能性があります(例:
Get-XAServer -ZoneName)。コマンドレットが失敗すると、スクリプトも失敗します。 - アクティブなユーザー接続がある稼働中のファームでエクスポートコマンドレットを実行できます。エクスポートスクリプトは、静的なファーム構成とポリシーデータのみを読み取ります。
XenApp 7.6サーバーにインポートする場合:
- XenApp 7.6展開(およびそれ以降のサポートされるバージョン)にデータをインポートできます。XenApp 6.xファームからエクスポートしたデータをインポートする前に、XenApp 7.6 ControllerとStudioをインストールし、サイトを作成する必要があります。設定のインポートにVDAは必須ではありませんが、VDAを使用するとアプリケーションファイルタイプを利用できるようになります。
- インポートコマンドレットを実行するには、オブジェクトを読み取りおよび作成する権限を持つXenApp管理者である必要があります。フル管理者にはこれらの権限があります。また、PowerShellスクリプトを実行するための十分なWindows権限も必要です。ステップバイステップの手順には、指示が含まれています。
- インポート中は、他のアクティブなユーザー接続がないようにしてください。インポートスクリプトは多くの新しいオブジェクトを作成するため、他のユーザーが同時に構成を変更していると、中断が発生する可能性があります。
データをエクスポートした後、インポートコマンドレットで-Previewパラメーターを使用して、実際に何もインポートせずに、実際のインポート中に何が起こるかを確認できることを覚えておいてください。ログには、実際のインポート中に何が起こるかが正確に示されます。エラーが発生した場合は、実際のインポートを開始する前に解決できます。
ステップバイステップ: データをエクスポートする
XenApp 6.xコントローラーからXMLファイルにデータをエクスポートするには、次の手順を実行します。
-
Citrixダウンロードサイトから
XAMigration.zip移行ツールパッケージをダウンロードします。便宜上、XenApp 6.xファームとXenApp 7.6サイトの両方からアクセスできるネットワークファイル共有に配置します。ネットワークファイル共有でXAMigration.zipを解凍します。2つのzipファイルがあります:ReadIMA.zipとImportFMA.zip。 -
XenApp 6.x コントローラーに、少なくとも読み取り専用権限と PowerShell スクリプトを実行するための Windows 権限を持つ XenApp 管理者としてログオンします。
-
ネットワークファイル共有から
ReadIMA.zipを XenApp 6.x コントローラーにコピーします。コントローラー上で ReadIMA.zip を解凍し、フォルダー (例:C:\XAMigration) に展開します。 -
PowerShell コンソールを開き、現在のディレクトリをスクリプトの場所 (例:
cd C:\XAMigration) に設定します。 -
Get-ExecutionPolicyを実行して、スクリプトの実行ポリシーを確認します。 -
スクリプトが実行できるように、スクリプトの実行ポリシーを少なくとも
RemoteSignedに設定します (例:Set-ExecutionPolicy RemoteSigned)。 -
モジュール定義ファイル
ExportPolicy.psd1とExportXAFarm.psd1をインポートします。Import-Module .\ExportPolicy.psd1Import-Module .\ExportXAFarm.psd1知っておくと良いこと:
- ポリシーデータのみをエクスポートする場合は、
ExportPolicy.psd1モジュール定義ファイルのみをインポートできます。同様に、ファームデータのみをエクスポートする場合は、ExportXAFarm.psd1のみをインポートします。 - モジュール定義ファイルをインポートすると、必要な PowerShell スナップインも追加されます。
-
.psm1スクリプトファイルをインポートしないでください。
- ポリシーデータのみをエクスポートする場合は、
-
ポリシーデータをエクスポートするには、
Export-Policyコマンドレットを実行します。パラメーター Description -XmlOutputFile “ .xml" XML出力ファイル名。このファイルにはエクスポートされたデータが格納されます。.xml拡張子が必要です。ファイルは存在してはいけませんが、パスが指定されている場合は、親パスが存在している必要があります。デフォルト: なし。このパラメーターは必須です。 -ログファイル “ " ログファイル名。拡張子はオプションです。ファイルが存在しない場合は作成されます。ファイルが存在し、NoClobberパラメーターも指定されている場合、エラーが生成されます。それ以外の場合、ファイルの内容は上書きされます。デフォルト: ログとエラー処理を参照してください。 -ログなし ログ出力を生成しません。LogFileパラメーターも指定されている場合、これを上書きします。デフォルト: False。ログ出力が生成されます。 -上書き禁止 LogFileパラメーターで指定された既存のログファイルを上書きしません。ログファイルが存在しない場合、このパラメーターは効果がありません。デフォルト: False。既存のログファイルは上書きされます。 -詳細なし スクリプト実行に関する詳細レポートをコンソールに送信しません。デフォルト: False。詳細レポートはコンソールに送信されます。 -ロゴ非表示 メッセージ XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#をコンソールに表示しません。このメッセージはスクリプトのバージョンを識別するもので、トラブルシューティング時に役立つ場合があります。そのため、Citrixではこのパラメーターを省略することをお勧めします。デフォルト: False。メッセージはコンソールに表示されます。例: 次のコマンドレットは、ポリシー情報を
MyPolicies.xmlという名前のXMLファイルにエクスポートします。操作はMyPolicies.logという名前のファイルにログ記録されます。Export-Policy -XmlOutputFile ".\MyPolicies.XML" -LogFile ".\MyPolicies.Log" <!--NeedCopy--> -
ファームデータをエクスポートするには、ログファイルとXMLファイルを指定して
Export-XAFarmコマンドレットを実行します。
| パラメーター | Description |
|---|---|
| -XmlOutputFile “ |
XML出力ファイル名。このファイルにはエクスポートされたデータが格納されます。.xml拡張子が必要です。ファイルは存在してはなりませんが、パスが指定されている場合は、親パスが存在している必要があります。デフォルト: なし。このパラメーターは必須です。 |
| -ログファイル “ |
ログファイル名。拡張子はオプションです。ファイルが存在しない場合は作成されます。ファイルが存在し、かつNoClobberパラメーターも指定されている場合、エラーが生成されます。それ以外の場合、ファイルの内容は上書きされます。デフォルト: (/ja-jp/xenapp-and-xendesktop/7-15-ltsr/upgrade-migrate/xenapp-worker-upgrade.html)を参照してください。 |
| ログ出力なし | ログ出力を生成しません。このパラメーターは、LogFileパラメーターも指定されている場合、それを上書きします。デフォルト: False。ログ出力は生成されます。 |
| 上書き禁止 | LogFileパラメーターで指定された既存のログファイルを上書きしません。ログファイルが存在しない場合、このパラメーターは効果がありません。デフォルト: False。既存のログファイルは上書きされます。 |
| 詳細表示なし | スクリプト実行に関する詳細レポートをコンソールに送信しません。デフォルト: False。詳細レポートはコンソールに送信されます。 |
| ロゴ非表示 | メッセージXenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#をコンソールに表示しません。このメッセージはスクリプトのバージョンを識別するもので、トラブルシューティング時に役立つことがあります。そのため、Citrixはこのパラメーターを省略することを推奨します。デフォルト: False。メッセージはコンソールに表示されます。 |
| 管理者無視 | 管理者情報をエクスポートしません。使用方法については、(/ja-jp/xenapp-and-xendesktop/7-15-ltsr/upgrade-migrate/xenapp-worker-upgrade.html)を参照してください。デフォルト: False。管理者情報はエクスポートされます。 |
| -アプリを無視 | アプリケーション情報をエクスポートしません。使用方法については、高度な使用法を参照してください。デフォルト: False。アプリケーション情報はエクスポートされます。 |
| -サーバーを無視 | サーバー情報をエクスポートしません。デフォルト: False。サーバー情報はエクスポートされます。 |
| -ゾーンを無視 | ゾーン情報をエクスポートしません。デフォルト: False。ゾーン情報はエクスポートされます。 |
| -その他を無視 | 構成ログ、ロードエバリュエーター、ロードバランシングポリシー、プリンタードライバー、ワーカーグループなどの情報をエクスポートしません。デフォルト: False。その他の情報はエクスポートされます。注: このスイッチを使用すると、エクスポートまたはインポートプロセスで使用される実際のデータに影響を与えないエラーが発生した場合でも、エクスポートを続行できます。 |
| -アプリ制限 | エクスポートするアプリケーションの数。使用方法については、高度な使用法を参照してください。デフォルト: すべてのアプリケーションがエクスポートされます。 |
| -アイコンデータを埋め込み | アプリケーションアイコンデータを他のオブジェクトと同じXMLファイルに埋め込みます。デフォルト: アイコンは個別に保存されます。詳細については、要件、準備、およびベストプラクティスを参照してください。 |
| -アプリをスキップ | スキップするアプリケーションの数。使用方法については、高度な使用法を参照してください。デフォルト: アプリケーションはスキップされません。 |
Example: The following cmdlet exports farm information to the XML file named MyFarm.xml. The operation is logged to the file MyFarm.log. A folder named "MyFarm-icons" is created to store the application icon data files. This folder is at the same location as MyFarm.XML.
`Export-XAFarm -XmlOutputFile ".\MyFarm.XML" -LogFile ".\MyFarm.Log"`
エクスポートスクリプトが完了すると、コマンドラインで指定されたXMLファイルには、ポリシーとXenAppファームデータが含まれます。アプリケーションアイコンファイルにはアイコンデータファイルが含まれ、ログファイルにはエクスポート中に発生した内容が示されます。
ステップバイステップ:データのインポート
プレビューインポートは、Previewパラメーターを指定してImport-PolicyまたはImport-XAFarmコマンドレットを実行することで実行できることを覚えておいてください。その後、実際のインポートを実行する前にログファイルを確認できます。
エクスポート時に生成されたXMLファイルを使用して、XenApp 7.6サイトにデータをインポートするには、以下の手順を完了してください。
-
読み取り/書き込み権限とPowerShellスクリプトを実行するためのWindows権限を持つ管理者として、XenApp 7.6 Controllerにログオンします。
-
ネットワークファイル共有上の移行ツールパッケージ
XAMigrationをまだ解凍していない場合は、今すぐ解凍してください。ネットワークファイル共有からImportFMA.zipをXenApp 7.6 Controllerにコピーします。Controller上でImportFMA.zipを解凍し、フォルダー(例:C:\XAMigration)に展開します。 -
XMLファイル(エクスポート中に生成された出力ファイル)をXenApp 6.xコントローラーから、
ImportFMA.zipファイルを展開したXenApp 7.6 Controller上の同じ場所にコピーします。Export-XAFarmを実行したときに、アプリケーションアイコンデータをXML出力ファイルに埋め込まないことを選択した場合、アイコンデータフォルダーとファイルを、アプリケーションデータを含む出力XMLファイルと、展開されたImportFMA.zipファイルがあるXenApp 7.6コントローラー上の同じ場所にコピーします。 -
PowerShellコンソールを開き、現在のディレクトリをスクリプトの場所(例:
cd C:\XAMigration)に設定します。 -
Get-ExecutionPolicyを実行して、スクリプトの実行ポリシーを確認します。 -
スクリプトが実行できるように、スクリプトの実行ポリシーを少なくとも
RemoteSignedに設定します(例:Set-ExecutionPolicy RemoteSigned)。 -
PowerShellモジュール定義ファイル
ImportPolicy.psd1とImportXAFarm.psd1をインポートします。Import-Module .\ImportPolicy.psd1Import-Module .\ImportXAFarm.psd1知っておくと良いこと:
- ポリシーデータのみをインポートする場合は、
ImportPolicy.psd1モジュール定義ファイルのみをインポートできます。同様に、ファームデータのみをインポートする場合は、ImportXAFarm.psd1のみをインポートします。 - モジュール定義ファイルをインポートすると、必要なPowerShellスナップインも追加されます。
-
.psm1スクリプトファイルをインポートしないでください。
- ポリシーデータのみをインポートする場合は、
-
ポリシーデータをインポートするには、
Import-Policyコマンドレットを実行し、エクスポートされたポリシーデータを含むXMLファイルを指定します。パラメーター 説明文 -XmlInputFile “ .xml" XML入力ファイル名。このファイルには、 Export-Policyコマンドレットの実行によって収集されたデータが含まれています。.xml拡張子が必要です。デフォルト: なし。このパラメーターは必須です。-XsdFile “ " XSDファイル名。インポートスクリプトは、このファイルを使用してXML入力ファイルの構文を検証します。使用方法については、高度な使用法を参照してください。デフォルト: PolicyData.XSD -ログファイル “ " ログファイル名。エクスポートログファイルをこのサーバーにコピーした場合は、インポートコマンドレットで別のログファイル名を使用することを検討してください。デフォルト: ログ記録とエラー処理を参照してください。 ログなし ログ出力を生成しません。これは、LogFileパラメーターも指定されている場合に、それを上書きします。デフォルト: False。ログ出力が生成されます。 上書き禁止 LogFileパラメーターで指定された既存のログファイルを上書きしません。ログファイルが存在しない場合、このパラメーターは効果がありません。デフォルト: False。既存のログファイルは上書きされます。 詳細なし スクリプト実行に関する詳細レポートをコンソールに送信しません。デフォルト: False。詳細レポートはコンソールに送信されます。 ロゴ非表示 メッセージ XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#をコンソールに表示しません。このメッセージはスクリプトのバージョンを識別するもので、トラブルシューティング時に役立つ場合があります。そのため、Citrix はこのパラメーターを省略することを推奨しています。デフォルト: False。メッセージはコンソールに表示されます。プレビュー プレビューインポートを実行します。XML入力ファイルからデータを読み取りますが、オブジェクトをサイトにインポートしません。ログファイルとコンソールには、プレビューインポート中に何が起こったかが示されます。プレビューは、実際のインポート中に何が起こるかを管理者に示します。デフォルト: False。実際のインポートが実行されます。 例: 次のコマンドレットは、
MyPolcies.xmlという名前のXMLファイルからポリシーデータをインポートします。この操作は、MyPolicies.logという名前のファイルにログ記録されます。Import-Policy -XmlInputFile ".\MyPolicies.XML" -LogFile ".\MyPolicies.Log" <!--NeedCopy--> -
アプリケーションをインポートするには、ログファイルとエクスポートされたファームデータを含むXMLファイルを指定して、
Import-XAFarmコマンドレットを実行します。パラメーター 説明文 -XMLインプットファイル “ .xml" XML入力ファイル名。このファイルには、Export-XAFarm コマンドレットの実行によって収集されたデータが含まれています。.xml 拡張子が必要です。デフォルト: なし。このパラメーターは必須です。 -XsdFile “ " XSDファイル名。インポートスクリプトは、このファイルを使用してXML入力ファイルの構文を検証します。使用方法については、高度な使用法 を参照してください。デフォルト: XAFarmData.XSD ログファイル “ " ログファイル名。エクスポートログファイルをこのサーバーにコピーした場合、インポートコマンドレットで別のログファイル名を使用することを検討してください。デフォルト: ログとエラー処理を参照してください。 -ノーログ ログ出力を生成しません。LogFileパラメーターも指定されている場合、このパラメーターが優先されます。デフォルト: False。ログ出力は生成されます。 -ノークロッバー LogFileパラメーターで指定された既存のログファイルを上書きしません。ログファイルが存在しない場合、このパラメーターは効果がありません。デフォルト: False。既存のログファイルは上書きされます。 -ノーディテール スクリプト実行に関する詳細レポートをコンソールに送信しません。デフォルト: False。詳細レポートはコンソールに送信されます。 -サプレスロゴ メッセージ XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#をコンソールに表示しません。このメッセージはスクリプトのバージョンを識別するもので、トラブルシューティング時に役立つことがあります。そのため、Citrixではこのパラメーターを省略することをお勧めします。デフォルト: False。メッセージはコンソールに表示されます。-プレビュー プレビューインポートを実行します。XML入力ファイルからデータを読み取りますが、オブジェクトをサイトにインポートしません。ログファイルとコンソールは、プレビューインポート中に何が起こったかを示します。プレビューは、実際のインポート中に何が起こるか管理者に示します。デフォルト: False。実際のインポートが行われます。 -デリバリーグループ名 “ " インポートされたすべてのアプリケーションのデリバリーグループ名。使用方法については、高度な使用法を参照してください。デフォルト: 「 -Delivery Group」 -マッチフォルダー “ " 文字列と一致する名前のフォルダー内のアプリケーションのみをインポートします。使用方法については、高度な使用法を参照してください。デフォルト: 一致は行われません。 -フォルダーに一致しない「 」 文字列と一致しない名前のフォルダーにあるアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -サーバーに一致「 」 文字列と一致する名前のサーバーにあるアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。 -サーバーに一致しない「 」 文字列と一致しない名前のサーバーにあるアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -ワーカーグループに一致「 」 文字列と一致する名前のワーカーグループに公開されているアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -ワーカーグループに一致しない「 」 文字列と一致しない名前のワーカーグループに公開されているアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -アカウントに一致「 」 文字列と一致する名前のユーザーアカウントに公開されているアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -アカウントに一致しない「 」 文字列と一致しない名前のユーザーアカウントに公開されているアプリケーションのみをインポートします。使用方法については、詳細設定を参照してください。デフォルト: 一致するものはなし。 -ストリーミングされたアプリを含める StreamedToClientOrServerInstalledタイプのアプリケーションをインポートします。(他のストリーミングアプリケーションはインポートされません。)デフォルト: ストリーミングアプリケーションはインポートされません。-無効なアプリを含める 無効としてマークされているアプリケーションをインポートします。デフォルト: 無効なアプリケーションはインポートされません。 例: 次のコマンドレットは、
MyFarm.xmlという名前のXMLファイルからアプリケーションをインポートします。この操作は、MyFarm.logという名前のファイルにログ記録されます。Import-XAFarm -XmlInputFile ".\MyFarm.XML" -LogFile ".\MyFarm.Log" <!--NeedCopy--> -
インポートが正常に完了したら、移行後のタスクを完了します。
移行後のタスク
XenApp 6.xのポリシーとファーム設定をXenApp 7.6サイトに正常にインポートした後、データが正しくインポートされたことを確認するために、以下のガイダンスを使用してください。
ポリシーとポリシー設定
ポリシーのインポートは、非推奨の設定とポリシー(これらはインポートされません)を除いて、本質的にコピー操作です。移行後のチェックは、基本的に両側を比較することを含みます。
-
ログファイルには、インポートおよび無視されたすべてのポリシーと設定が一覧表示されます。まず、ログファイルを確認し、インポートされなかった設定とポリシーを特定します。
-
XenApp 6.xのポリシーとXenApp 7.6にインポートされたポリシーを比較します。設定値は同じに保ちます(次のステップで説明するように、非推奨のポリシー設定を除く)。
- ポリシーが少ない場合は、XenApp 6.x AppCenterに表示されるポリシーとXenApp 7.6 Studioに表示されるポリシーを並べて視覚的に比較できます。
- ポリシーが多い場合、視覚的な比較は実現できない可能性があります。そのような場合は、ポリシーエクスポートコマンドレット(
Export-Policy)を使用してXenApp 7.6ポリシーを別のXMLファイルにエクスポートし、その後、テキスト差分ツール(windiffなど)を使用して、そのファイルのデータをXenApp 6.xからのポリシーエクスポート時に使用したXMLファイルのデータと比較します。
-
インポートされなかったポリシー設定セクションの情報を使用して、インポート中に何が変更された可能性があるかを判断します。XenApp 6.xポリシーが全体として非推奨の設定のみを含む場合、それはインポートされません。たとえば、XenApp 6.xポリシーがHMRテスト設定のみを含む場合、XenApp 7.6でサポートされている同等の設定がないため、そのポリシーは無視されます。
一部のXenApp 6.xポリシー設定はサポートされなくなりましたが、同等の機能はXenApp 7.6で実装されています。たとえば、XenApp 7.6では、デリバリーグループを編集することで、サーバーOSマシンの再起動スケジュールを構成できます。この機能は以前、ポリシー設定を通じて実装されていました。
-
XenApp 7.6サイトへのフィルターの適用方法と、XenApp 6.xでの使用方法を比較して確認します。XenApp 6.xファームとXenApp 7.6サイトとの間に大きな違いがある場合、フィルターの効果が変わる可能性があります。
フィルター
各ポリシーのフィルターを注意深く確認してください。XenApp 6.xで意図されたとおりにXenApp 7.6でも機能するように、変更が必要になる場合があります。
| フィルター | 考慮事項 |
|---|---|
| アクセスコントロール | 通常、アクセスコントロールには元のXenApp 6.xフィルターと同じ値が含まれており、変更を必要とせずに機能します。 |
| シトリックス クラウドブリッジ® | シンプルなブール値。通常、変更を必要とせずに機能します。(この製品は現在NetScaler SD-WANとして知られています。) |
| クライアントIPアドレス | クライアントIPアドレス範囲を一覧表示します。各範囲は許可または拒否されます。インポートスクリプトは値を保持しますが、異なるクライアントがXenApp 7.6 VDAマシンに接続する場合、変更が必要になることがあります。 |
| クライアント名 | クライアントIPアドレスフィルターと同様に、インポートスクリプトは値を保持しますが、異なるクライアントがXenApp 7.6 VDAマシンに接続する場合、変更が必要になることがあります。 |
| 組織の単位 | OUがインポート時に解決できるかどうかに応じて、値が保持される場合があります。特にXenApp 6.xマシンとXenApp 7.6マシンが異なるドメインに存在する場合は、このフィルターを注意深く確認してください。フィルター値を正しく構成しないと、ポリシーが誤ったOUのセットに適用される可能性があります。OUは名前のみで表されるため、OU名がXenApp 6.xドメインのOUとは異なるメンバーを含むOUに解決される可能性はわずかです。OUフィルターの一部の値が保持されたとしても、値を注意深く確認してください。 |
| ユーザーまたはグループ | アカウントがインポート時に解決できるかどうかに応じて、値が保持される場合があります。OUと同様に、アカウントは名前のみを使用して解決されるため、XenApp 7.6サイトに同じドメイン名とユーザー名を持つドメインがあるが、実際には2つの異なるドメインとユーザーである場合、解決されたアカウントはXenApp 6.xドメインユーザーとは異なる可能性があります。フィルター値を適切に確認および変更しないと、誤ったポリシー適用が発生する可能性があります。 |
| ワーカーグループ | ワーカーグループはXenApp 7.6ではサポートされていません。XenApp 7.6でサポートされている(XenApp 6.xではサポートされていない)デリバリーグループ、デリバリーグループタイプ、およびタグフィルターの使用を検討してください。デリバリーグループ: デリバリーグループに基づいてポリシーを適用できます。各フィルターエントリはデリバリーグループを指定し、許可または拒否できます。デリバリーグループタイプ: デリバリーグループタイプに基づいてポリシーを適用できます。各フィルターは、許可または拒否できるデリバリーグループタイプを指定します。タグ: VDAマシン用に作成されたタグに基づいてポリシー適用を指定します。各タグは許可または拒否できます。 |
要約すると、XenApp 6.xファームとXenApp 7.6サイトが異なるドメインにある場合、ドメインユーザーの変更を伴うフィルターには最も注意が必要です。インポートスクリプトは、新しいドメインのユーザーを解決するためにドメイン名とユーザー名の文字列のみを使用するため、一部のアカウントしか解決されない可能性があります。異なるドメインとユーザーが同じ名前を持つ可能性は低いですが、これらのフィルターを慎重に確認して、正しい値が含まれていることを確認してください。
アプリケーション
アプリケーションインポートスクリプトは、アプリケーションをインポートするだけではありません。デリバリーグループなどのオブジェクトも作成します。アプリケーションのインポートが複数回繰り返される場合、元のアプリケーションフォルダー階層が大幅に変更される可能性があります。
- まず、どのアプリケーションがインポートされ、どのアプリケーションが無視され、アプリケーションの作成に使用されたコマンドレットに関する詳細を含む移行ログファイルを読みます。
- 各アプリケーションについて:
- インポート中に基本プロパティが保持されたことを視覚的に確認します。アプリケーションプロパティマッピングセクションの情報を使用して、変更なしでインポートされたプロパティ、インポートされなかったプロパティ、またはXenApp 6.xアプリケーションデータを使用して初期化されたプロパティを特定します。
- ユーザーリストを確認します。インポートスクリプトは、明示的なユーザーリストをXenApp 7.6のアプリケーションの可視性制限リストに自動的にインポートします。リストが同じままであることを確認します。
- アプリケーションサーバーはインポートされません。これは、インポートされたアプリケーションのいずれにもまだアクセスできないことを意味します。これらのアプリケーションを含むデリバリーグループには、公開されたアプリケーションの実行可能イメージを持つマシンを含むマシンカタログを割り当てる必要があります。各アプリケーションについて:
- 実行可能ファイル名と作業ディレクトリが、デリバリーグループに割り当てられたマシン(マシンカタログを介して)に存在する実行可能ファイルを指していることを確認します。
- コマンドラインパラメーター(ファイル名、環境変数、実行可能ファイル名など、何でもかまいません)を確認します。そのパラメーターが、デリバリーグループに割り当てられたマシンカタログ内のすべてのマシンに対して有効であることを確認します。
ログファイル
ログファイルは、インポートとエクスポートにとって最も重要な参照リソースです。このため、既存のログファイルはデフォルトで上書きされず、デフォルトのログファイル名は一意になります。
(#logging-and-error-handling)に記載されているように、PowerShellのStart-TranscriptおよびStop-Transcriptコマンドレット(コンソールに入力および出力されたすべてを記録します)で追加のログ記録範囲を使用すると、その出力はログファイルとともに、インポートおよびエクスポートアクティビティの完全なリファレンスを提供します。
ログファイル内のタイムスタンプを使用すると、特定の問題を診断できます。たとえば、エクスポートまたはインポートに長い時間がかかった場合、データベース接続の障害やユーザーアカウントの解決にほとんどの時間が費やされたかどうかを判断できます。
ログファイルに記録されたコマンドは、一部のオブジェクトがどのように読み取られるか、または作成されるかについても示します。たとえば、デリバリーグループを作成するには、デリバリーグループオブジェクトだけでなく、アプリケーションオブジェクトをデリバリーグループに割り当てることを許可するアクセスポリシー規則などの他のオブジェクトも作成する複数のコマンドが必要です。
ログファイルは、失敗したエクスポートまたはインポートの診断にも使用できます。通常、ログファイルの最後の行に失敗の原因が示されます。失敗のエラーメッセージもログファイルに保存されます。XMLファイルと合わせて、ログファイルを使用して、どのオブジェクトが失敗に関与したかを判断できます。
移行の確認とテストが完了したら、次のことができます。
-
XenApp 6.5ワーカーサーバーを現在のVirtual Delivery Agent(VDA)にアップグレードするには、サーバーで7.6インストーラーを実行します。これにより、XenApp 6.5ソフトウェアが削除され、現在のVDAが自動的にインストールされます。手順については、「XenApp 6.5ワーカーをWindows Server OS用VDAにアップグレードする」を参照してください。
XenApp 6.0ワーカーサーバーの場合、サーバーからXenApp 6.0ソフトウェアを手動でアンインストールする必要があります。その後、7.6インストーラーを使用して現在のVDAをインストールできます。7.6インストーラーを使用してXenApp 6.0ソフトウェアを自動的に削除することはできません。
-
新しいXenAppサイトのStudioから、アップグレードされたワーカー用のマシンカタログを作成(または既存のカタログを編集)します。
-
マシンカタログからアップグレードされたマシンを、Windows Server OS用VDAにインストールされているアプリケーションを含むデリバリーグループに追加します。
高度な使用法
デフォルトでは、Export-PolicyコマンドレットはすべてのポリシーデータをXMLファイルにエクスポートします。同様に、Export-XAFarmはすべてのファームデータをXMLファイルにエクスポートします。コマンドラインパラメーターを使用して、エクスポートおよびインポートする内容をより細かく制御できます。
アプリケーションを部分的にエクスポートする
多数のアプリケーションがあり、XMLファイルにエクスポートする数を制御したい場合は、次のパラメーターを使用します。
-
AppLimit- エクスポートするアプリケーションの数を指定します。 -
SkipApps- 後続のアプリケーションをエクスポートする前にスキップするアプリケーションの数を指定します。
これら両方のパラメーターを使用して、大量のアプリケーションを管理しやすいチャンクでエクスポートできます。たとえば、初めてExport-XAFarmを実行するときに、最初の200個のアプリケーションのみをエクスポートしたい場合は、その値をAppLimitパラメーターで指定します。
Export-XAFarm -XmlOutputFile "Apps1-200.xml"
-AppLimit "200"
<!--NeedCopy-->
次にExport-XAFarmを実行するときは、次の100個のアプリケーションをエクスポートします。そのため、SkipAppsパラメーターを使用して既にエクスポートしたアプリケーション(最初の200個)を無視し、AppLimitパラメーターを使用して次の100個のアプリケーションをエクスポートします。
Export-XAFarm -XmlOutputFile "Apps201-300.xml"
-AppLimit "100" -SkipApps "200"
<!--NeedCopy-->
特定のオブジェクトをエクスポートしない
一部のオブジェクトは無視できるため、エクスポートする必要はありません。特にインポートされないオブジェクトがこれに該当します。「インポートされないポリシー設定」および「アプリケーションプロパティマッピング」を参照してください。不要なオブジェクトのエクスポートを防ぐには、次のパラメーターを使用します。
-
IgnoreAdmins- 管理者オブジェクトをエクスポートしない -
IgnoreServers- サーバーオブジェクトをエクスポートしない -
IgnoreZones- ゾーンオブジェクトをエクスポートしない -
IgnoreOthers- 構成ログ、負荷評価器、負荷分散ポリシー、プリンタードライバー、およびワーカーグループオブジェクトをエクスポートしない -
IgnoreApps- アプリケーションをエクスポートしない。このパラメーターを使用すると、他のデータをXML出力ファイルにエクスポートし、その後エクスポートを再度実行してアプリケーションを別のXML出力ファイルにエクスポートできます。
これらのパラメーターを使用して、エクスポートの失敗を引き起こす可能性のある問題を回避することもできます。たとえば、ゾーン内に不良サーバーがある場合、ゾーンのエクスポートが失敗する可能性があります。IgnoreZonesパラメーターを含めると、エクスポートは他のオブジェクトで続行されます。
デリバリーグループ名
すべてのアプリケーションを1つのデリバリーグループに入れたくない場合(たとえば、異なるユーザーセットによってアクセスされ、異なるサーバーセットに公開されているため)、Import-XAFarmを複数回実行し、毎回異なるアプリケーションと異なるデリバリーグループを指定できます。移行後にPowerShellコマンドレットを使用してアプリケーションをあるデリバリーグループから別のデリバリーグループに移動することもできますが、一意のデリバリーグループに選択的にインポートすることで、後でアプリケーションを移動する手間を軽減または排除できます。
-
Import-XAFarmコマンドレットでDeliveryGroupNameパラメーターを使用します。スクリプトは、指定されたデリバリーグループが存在しない場合に作成します。 -
フォルダー、ワーカーグループ、ユーザーアカウント、およびサーバー名に基づいて、デリバリーグループにインポートするアプリケーションをフィルター処理するには、正規表現とともに次のパラメーターを使用します。正規表現を単一引用符または二重引用符で囲むことをお勧めします。正規表現の詳細については、https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressionsを参照してください。
-
MatchWorkerGroupおよびNotMatchWorkerGroup- 例えば、ワーカーグループに公開されているアプリケーションの場合、次のコマンドレットは、Productivity Appsという名前のワーカーグループ内のアプリケーションを、同名のXenApp 7.6デリバリーグループにインポートします。Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchWorkerGroup ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps <!--NeedCopy--> -
MatchFolderおよびNotMatchFolder - 例えば、アプリケーションフォルダーに整理されているアプリケーションの場合、次のコマンドレットは、Productivity Appsという名前のフォルダー内のアプリケーションを、同名のXenApp 7.6デリバリーグループにインポートします。Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchFolder ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps’ <!--NeedCopy-->例えば、次のコマンドレットは、名前に
MS Office Appsを含む任意のフォルダー内のアプリケーションを、デフォルトのデリバリーグループにインポートします。Import-XAFarm -XmlInputFile .\THeFarmApps.XML -MatchFolder ".*/MS Office Apps/.*" <!--NeedCopy--> -
MatchAccountおよびNotMatchAccount- 例えば、Active Directoryユーザーまたはユーザーグループに公開されているアプリケーションの場合、次のコマンドレットは、Finance Groupという名前のユーザーグループに公開されているアプリケーションを、Finance.という名前のXenApp 7.6デリバリーグループにインポートします。Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchAccount ‘DOMAIN\\Finance Group’ –DeliveryGroupName ‘Finance’ <!--NeedCopy--> -
MatchServerおよびNotMatchServer- 例えば、サーバー上に整理されているアプリケーションの場合、次のコマンドレットは、Currentという名前ではないサーバーに関連付けられているアプリケーションを、Legacy.という名前のデリバリーグループにインポートします。Import-XAFarm -XmlInputFile XAFarm.xml -LogFile XAFarmImport.log -NotMatchServer 'Current' -DeliveryGroupName 'Legacy' <!--NeedCopy-->
-
カスタマイズ
PowerShellプログラマーは独自のツールを作成できます。例えば、エクスポートスクリプトをインベントリツールとして使用して、XenApp 6.xファームの変更を追跡できます。また、XSDファイルを変更したり(独自のXSDファイルを作成したり)して、追加データや異なる形式のデータをXMLファイルに保存することもできます。各インポートコマンドレットで、デフォルト以外のXSDファイルを指定できます。
特定のまたは高度な移行要件を満たすためにスクリプトファイルを変更することはできますが、サポートは変更されていない状態のスクリプトに限定されます。Citrixテクニカルサポートは、予期される動作を判断し、必要に応じてサポートを提供するために、変更されていないスクリプトに戻すことを推奨しています。
トラブルシューティング
- PowerShellバージョン2.0を使用しており、
Add-PSSnapInコマンドレットを使用してCitrix Group Policy PowerShell ProviderスナップインまたはCitrix Common Commandsスナップインを追加した場合、エクスポートまたはインポートコマンドレットを実行すると、Object reference not set to an instance of an objectというエラーメッセージが表示されることがあります。このエラーはスクリプトの実行には影響せず、安全に無視できます。 -
エクスポートおよびインポートスクリプトモジュールが使用される同じコンソールセッションで、Citrix Group Policy PowerShell Providerスナップインを追加または削除しないでください。これらのスクリプトモジュールは自動的にスナップインを追加するためです。スナップインを個別に手動で追加または削除すると、次のいずれかのエラーが表示されることがあります。
-
A drive with the name 'LocalGpo' already exists.このエラーは、スナップインが2回追加された場合に表示されます。スナップインはロード時にドライブLocalGpoをマウントしようとし、その後エラーを報告します。 -
A parameter cannot be found that matches parameter name 'Controller'.このエラーは、スナップインが追加されていないにもかかわらず、スクリプトがドライブをマウントしようとした場合に表示されます。スクリプトはスナップインが削除されたことを認識していません。コンソールを閉じて新しいセッションを起動してください。新しいセッションでスクリプトモジュールをインポートします。スナップインを個別に手動で追加または削除しないでください。
-
- モジュールをインポートする際、
.psd1ファイルを右クリックして開くまたはPowerShellで開くを選択すると、プロセスを停止するまでPowerShellコンソールウィンドウが急速に開閉を繰り返します。このエラーを回避するには、PowerShellコンソールウィンドウにPowerShellスクリプトモジュールの完全な名前を直接入力します(例:Import-Module .\ExportPolicy.psd1)。 - エクスポートまたはインポートの実行時にアクセス許可エラーが発生した場合は、オブジェクトの読み取り権限(エクスポートの場合)またはオブジェクトの読み取りおよび作成権限(インポートの場合)を持つXenApp管理者であることを確認してください。また、PowerShellスクリプトを実行するための十分なWindowsアクセス許可も必要です。
- エクスポートが失敗した場合は、XenApp 6.x コントローラーサーバーで DSMAINT および DSCHECK ユーティリティを実行して、XenApp 6.x ファームが正常な状態であることを確認してください。
- プレビューインポートを実行した後、実際の移行のために再度インポートコマンドレットを実行したが、何もインポートされていないことが判明した場合は、インポートコマンドレットから Preview パラメーターを削除したことを確認してください。
インポートされなかったポリシー設定
以下のコンピューターおよびユーザーポリシー設定は、サポートされなくなったためインポートされません。フィルターされていないポリシーはインポートされません。これらの設定をサポートする機能とコンポーネントは、新しいテクノロジーとコンポーネントに置き換えられたか、アーキテクチャとプラットフォームの変更により設定が適用されなくなりました。
インポートされなかったコンピューターポリシー設定
- 接続アクセス制御
- CPU管理サーバーレベル
- DNSアドレス解決
- ファーム名
- 完全なアイコンキャッシュ
- ヘルス監視、ヘルス監視テスト
- ライセンスサーバーホスト名、ライセンスサーバーポート
- ユーザーセッションの制限、管理者セッションの制限
- ロード評価プログラム名
- ログオン制限イベントのログ記録
- ログオン制御を持つサーバーの最大割合
- メモリ最適化、メモリ最適化アプリケーション除外リスト、メモリ最適化間隔、メモリ最適化スケジュール: 月の日、メモリ最適化スケジュール: 曜日、メモリ最適化スケジュール: 時刻
- オフラインアプリクライアントの信頼、オフラインアプリイベントログ、オフラインアプリライセンス期間、オフラインアプリユーザー
- パスワードのプロンプト
- 再起動カスタム警告、再起動カスタム警告テキスト、再起動ログオン無効化時間、再起動スケジュール頻度、再起動スケジュールランダム化間隔、再起動スケジュール開始日、再起動スケジュール時刻、再起動警告間隔、再起動警告開始時刻、ユーザーへの再起動警告、スケジュールされた再起動
- シャドウイング *
- XMLリクエストを信頼する (StoreFront™で構成)
- 仮想IPアダプターアドレスフィルタリング、仮想IP互換プログラムリスト、仮想IP拡張互換性、仮想IPフィルターアダプターアドレスプログラムリスト
- ワークロード名
- XenApp製品エディション、XenApp製品モデル
- XMLサービスポート
* Windowsリモートアシスタンスに置き換えられました
インポートされなかったユーザーポリシー設定
- クライアントCOMポートの自動接続、クライアントLPTポートの自動接続
- クライアントCOMポートリダイレクト、クライアントLPTポートリダイレクト
- クライアントプリンター名
- 同時ログオン制限
- シャドウ接続からの入力 *
- リンガー切断タイマー間隔、リンガー終了タイマー間隔
- シャドウ試行のログ *
- 保留中のシャドウ接続をユーザーに通知 *
- プレランチ切断タイマー間隔、プレランチ終了タイマー間隔
- セッションの重要度
- シングルサインオン、シングルサインオンセントラルストア
- 他のユーザーをシャドウできるユーザー、他のユーザーをシャドウできないユーザー *
* Windows リモートアシスタンスに置き換えられました
インポートされないアプリケーションの種類
次のアプリケーションの種類はインポートされません。
- サーバーデスクトップ
- コンテンツ
- ストリーミングアプリケーション (App-V は、アプリケーションのストリーミングに使用される新しい方法です)
アプリケーションプロパティのマッピング
ファームデータインポートスクリプトは、アプリケーションのみをインポートします。以下のアプリケーションプロパティは、変更されずにインポートされます。
| IMAプロパティ | FMAプロパティ |
|---|---|
| クライアントデスクトップに追加 | デスクトップに追加されたショートカット |
| クライアントのスタートメニューに追加 | スタートメニューに追加されたショートカット |
| クライアントフォルダー | クライアントフォルダー |
| コマンドライン実行可能ファイル | コマンドライン実行可能ファイル |
| CPU優先度レベル | CPU優先度レベル |
| 内容の説明 | 内容の説明 |
| 表示名 | 公開されている名前 |
| 有効 | 有効 |
| スタートメニューフォルダー | スタートメニューフォルダー |
| プリンター作成待機 | プリンター作成待機 |
| 作業ディレクトリ | 作業ディレクトリ |
| フォルダーパス | 管理フォルダー名 |
IMAとFMAでは、フォルダー名の長さに異なる制限があります。IMAでは、フォルダー名の制限は256文字です。FMAの制限は64文字です。インポート時、フォルダーパスに64文字を超えるフォルダー名が含まれるアプリケーションはスキップされます。この制限は、フォルダーパス内のフォルダー名にのみ適用されます。フォルダーパス全体は、記載されている制限よりも長くても構いません。インポート中にアプリケーションがスキップされるのを避けるため、Citrixは、エクスポートする前にアプリケーションのフォルダー名の長さを確認し、必要に応じて短縮することを推奨します。
以下のアプリケーションプロパティは、デフォルトで初期化または未初期化されるか、XenApp 6.xデータで提供される値に設定されます。
| FMAプロパティ | 値 |
|---|---|
| 名前 | IMAプロパティのFolderPathとDisplayNameを含む完全なパス名に初期化されますが、先頭の文字列「Applications\」は削除されます |
| アプリケーションの種類 | デスクトップでホスト |
| コマンドライン引数 | XenApp 6.xのコマンドライン引数を使用して初期化されます |
| クライアントからのアイコン | 未初期化。デフォルトはfalseです |
| アイコンUID | XenApp 6.xのアイコンデータを使用して作成されたアイコンオブジェクトに初期化されます |
| セキュアコマンドライン引数有効 | 未初期化。デフォルトはtrueです |
| ユーザーフィルター有効 | 未初期化。デフォルトはfalseです。 |
| ユーユーアイディー | 読み取り専用。Controllerによって割り当てられます。 |
| 表示 | 未初期化。デフォルトはtrueです。 |
以下のアプリケーションプロパティは部分的に移行されます。
| IMAプロパティ | コメント |
|---|---|
| ファイルタイプ | 新しいXenAppサイトに存在するファイルタイプのみが移行されます。新しいサイトに存在しないファイルタイプは無視されます。ファイルタイプは、新しいサイトのファイルタイプが更新された後にのみインポートされます。 |
| アイコンデータ | エクスポートされたアプリケーションのアイコンデータが提供されている場合、新しいアイコンオブジェクトが作成されます。 |
| アカウント | アプリケーションのユーザーアカウントは、デリバリーグループのユーザーリストとアプリケーションの間で分割されます。明示的なユーザーは、アプリケーションのユーザーリストを初期化するために使用されます。さらに、ユーザーアカウントのドメインの「Domain Users」アカウントが、デリバリーグループのユーザーリストに追加されます。 |
以下のXenApp 6.xプロパティはインポートされません。
| IMAプロパティ | コメント |
|---|---|
| アプリケーションタイプ | 無視されます。 |
| 無効時に非表示 | 無視されます。 |
| アクセスセッション条件 | デリバリーグループのアクセスポリシーに置き換えられました。 |
| アクセスセッション条件が有効 | デリバリーグループのアクセスポリシーに置き換えられました。 |
| アクセスゲートウェイ経由の接続を許可 | デリバリーグループのアクセスポリシーに置き換えられました。 |
| その他の接続を許可 | デリバリーグループのアクセスポリシーに置き換えられました。 |
| 代替プロファイル | FMA はストリーミングアプリケーションをサポートしていません。 |
| オフラインアクセス許可 | FMA はストリーミングアプリケーションをサポートしていません。 |
| プロファイルの場所 | FMA はストリーミングアプリケーションをサポートしていません。 |
| プロファイルプログラム引数 | FMA はストリーミングアプリケーションをサポートしていません。 |
| プロファイルプログラム名 | FMA はストリーミングアプリケーションをサポートしていません。 |
| 最小特権ユーザーとして実行 | FMA はストリーミングアプリケーションをサポートしていません。 |
| 匿名接続の許可設定 | FMA は、認証されていない(匿名)接続をサポートするために、異なるテクノロジーを使用します。 |
| アプリケーションID、シーケンス番号 | IMA固有のデータ。 |
| オーディオタイプ | FMAは高度なクライアント接続オプションをサポートしていません。 |
| 暗号化レベル | SecureICAはデリバリーグループで有効/無効に設定されます。 |
| 暗号化必須 | SecureICAはデリバリーグループで有効/無効に設定されます。 |
| SSL接続有効 | FMAは異なるTLS実装を使用します。 |
| コンテンツアドレス | FMAは公開されたコンテンツをサポートしていません。 |
| 色深度 | FMAは高度なウィンドウの外観をサポートしていません。 |
| 起動時に最大化 | FMAは高度なウィンドウの外観をサポートしていません。 |
| タイトルバー非表示 | FMA は高度なウィンドウの外観をサポートしていません。 |
| ウィンドウの種類 | FMA は高度なウィンドウの外観をサポートしていません。 |
| インスタンス制限 | FMA はアプリケーションの制限をサポートしていません。 |
| ユーザーごとの複数インスタンスを許可 | FMA はアプリケーションの制限をサポートしていません。 |
| 負荷分散アプリケーションチェック有効 | FMA はロードバランシングをサポートするために異なるテクノロジーを使用しています。 |
| プレ起動 | FMA はセッションのプレ起動をサポートするために異なるテクノロジーを使用しています。 |
| キャッシュオプション | FMA はセッションのプレ起動をサポートするために異なるテクノロジーを使用しています。 |
| サーバー名 | FMAは異なるテクノロジーを使用します。 |
| ワーカーグループ名 | FMAはワーカーグループをサポートしていません。 |