VMM サーバーからパッケージをエクスポートし、高度なマッピング(スクリプト) を使用して、異なる種類の VMM サーバーにインポート

 

適用対象: System Center 2012 R2 Virtual Machine Manager,System Center 2012 - Virtual Machine Manager

1 つの VMM 管理サーバーから、テンプレートをエクスポート、インポートされたテンプレートから、対象の環境でのリソースへのリソースをリダイレクトするパッケージのマッピングを作成するテンプレート パッケージをインポートして、異種の VMM 管理サーバー間でのサービス テンプレートを共有することができます。

[!メモ]

このトピックの「スクリプトでは、から関数を保存する パッケージ (スクリプト) をエクスポートする関数を作成します。 エクスポート ServiceTemplate.ps1 名前を持つ。

免責事項

次のスクリプトを読み込んでエクスポート ServiceTemplate.ps1 をという名前の関数を使用して、指定されたテンプレートをエクスポートします。 パッケージのマッピングを作成し、元のテンプレートをエクスポートしたパッケージのマッピングを使用して、リソースをリダイレクトするものである VMM 管理サーバーに、テンプレートをインポートします。

<#
  Description:   This script calls a function to export a service template, then
                 creates a package mapping to map a Run As account and a logical 
                 network to the resources on the target server. The script then 
                 restores the specified template to the dissimilar VMM management 
                 server.
#>

Param (
   [parameter(Mandatory=$true)]
   [String] $ServiceTemplate=$(throw "Please provide the name of a service template."),

   [parameter(Mandatory=$true)]
   [String] $Release=$(throw "Please provide a release for the service template."),

   [parameter(Mandatory=$true)]
   [String] $Path=$(throw "Please provide a share path."),

   [parameter(Mandatory=$true)]
   [String] $VMMServer=$(throw "Please provide the name of a VMM server.")
   )

# Import the file containing the export function into the Windows PowerShell session.
. .\Export-ServiceTemplate.ps1

# Export the service template using the Export-ServiceTemplate function.
Export-ServiceTemplate -Name $ServiceTemplate -Release $Release -Path $Path -VMMServer $VMMServer

# Get the template package.
$RestorePath = "$Path\$ServiceTemplate.$Release.xml"
$Package = Get-SCTemplatePackage -Path $RestorePath

# Create a package mapping. 
$PackageMapping = New-SCPackageMapping -TemplatePackage $Package

# Map the resources from the imported template to the resources in
# the target environment.

$Mapping = $PackageMapping | where { $_.PackageID -eq "Domain RAA" }
$NewResource = Get-SCRunAsAccount -Name "DomainAdminRAA"
Set-SCPackageMapping -PackageMapping $Mapping -TargetObject $NewResource

$Mapping = $PackageMapping | where { $_.PackageID -eq "LogicalNetwork01" }
$NewResource = Get-SCLogicalNetwork -Name "LogicalNetwork02"
Set-SCPackageMapping -PackageMapping $Mapping -TargetObject $NewResource

# Import the package to the dissimilar VMM management server.
Import-SCTemplate -VMMServer "VMMServer02.Contoso.com" -Name "New Service Template" -Release "1.0" -
TemplatePackage $Package -PackageMapping $PackageMapping -SettingsIncludePrivate