次の方法で共有


VMM のウィザードやプロパティ ページのからのスクリプトを作成します。

 

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

スクリプトの記述を開始する場合に役立つに System Center 2012 – Virtual Machine Manager (VMM) ウィザードまたは更新プログラムのプロパティを VMM コンソールで実行すると、スクリプトを生成することができます。 使用することができます、 スクリプトの表示 ボタンをクリックして、 概要 VMM コンソールでは、各ウィザードのページまたは プロパティ をクリックしたときに実行されるコマンドレットのセットを表示するページ [完了] ウィザードの最後にまたは [ok] プロパティを更新する場合。 必要に応じてコマンドを変更でき、Windows PowerShell スクリプトとして識別する、.ps1 拡張子を持つ、ファイルを保存することができます。

生成されるスクリプトを変更します。

最もの生成されたスクリプトでは、これには、操作を実行する特定のオブジェクトを識別するためにコマンドレットの ID パラメーターを使用します。 この ID は、そのオブジェクトに固有であるため、スクリプト パラメーターを受け取るかを使用できるようにすることがあります、 Get コマンドレットは、スクリプトを他のオブジェクトで使用するために使用可能にオブジェクトを取得します。

Get コマンドレットを生成されたスクリプトに追加します。

プロパティの値に変更を加えたときに、生成されるスクリプトを変更するのにオブジェクトを取得するのに ID を使用します。 たとえば、論理ネットワークの説明と名前を変更するときに、次のスクリプトが生成されます。

$logicalNetwork = Get-SCLogicalNetwork -ID "7a858ed4-b8d2-4ac8-9dbe-6e6a4388c1e7"
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork -RunAsynchronously

このスクリプトの他の環境で利便性を高めるには、where、ID パラメーターを置き換えることができます句。 たとえば、

$logicalNetwork = @(Get-SCLogicalNetwork | where { $_.Name -like "LogicalNet*" })
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork[0] -RunAsynchronously

これで、最初のコマンドには、"LogicalNet"で始まるし、配列に配置するための名前を持つすべての論理ネットワークを取得します。 2 番目のコマンドでは、「バックエンド」には、その名前を更新する、配列内の最初の論理ネットワークを変更します。

生成されるスクリプトにパラメーターの追加

生成されるスクリプトを使いやすくするために別の方法では、スクリプトにパラメーターを定義します。 スクリプトのパラメーターは、関数のパラメーターと同様に機能します。 パラメーターの値では、すべてのコマンドをスクリプトに使用できます。 スクリプトを実行するときに、スクリプトのユーザーは、スクリプト名の後に、パラメーターを入力します。

スクリプトには、パラメーターを追加するには、Param ステートメントを使用します。 Param ステートメントは、コメントを除く、スクリプトの最初のステートメントである必要があります。 次の例は上から生成されるスクリプトであり、変更されるように、既存の論理ネットワークの名前と、論理ネットワーク用の新しい名前を指定することができ、スクリプトを実行すると、説明を追加します。

Param(
   [parameter(Mandatory=$true)]
   [String] $LogicalNetwork = $(throw "A name for an existing logical network is required."),

   [parameter(Mandatory=$true)]
   [String] $NewName = $(throw "A new name for the logical network is required."),

   [parameter(Mandatory=$false)]
   [String] $Description
   )
Set-SCLogicalNetwork -Name $NewName -Description $Description -LogicalNetwork $LogicalNetwork -RunAsynchronously

このスクリプトを実行するときに、既存の論理ネットワークの名前と、論理ネットワーク用の新しい名前を入力する必要があります。 (省略可能) では説明を提供することです。 たとえば、コマンド プロンプトで、次を入力「UpdateLogicalNetworkName.ps1」として保存すると、このスクリプトの場合。.\UpdateLogicalNetworkName.ps1 -LogicalNetwork "LogicalNetwork01" -NewName "Backend" -Description "Backend logical network for Seattle." 値を指定しなかった場合 LogicalNetworkNewName, 、それらの求められます。

Windows PowerShell スクリプトの記述方法の詳細については、次を参照してください。 about_Scriptsです。