Поделиться через


Экспорт пакета с сервера VMM и импортировать его на сервере VMM разнородных, используя расширенные сопоставления (скрипт)

 

Применимо к:System Center 2012 R2 Virtual Machine Manager, System Center 2012 - Virtual Machine Manager

Можно совместно использовать шаблоны служб между разнородными серверами управления VMM, Экспорт шаблона с одного сервера управления VMM, создание сопоставления пакета, который перенаправляет ресурсы из импортированного шаблона к ресурсам в целевой среде и затем импортировать шаблон пакета.

System_CAPS_noteПримечание

Сценарий в этом разделе предполагается, что вы сохранили функцию из Создайте функцию, которая экспортирует пакет (сценарий) с именем 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