次の方法で共有


Update-SCService

VMM サービス インスタンスを更新します。

構文

Update-SCService
      [-VMMServer <ServerConnection>]
      [-Service] <Service>
      [-ShowActions]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]
Update-SCService
      [-VMMServer <ServerConnection>]
      [-Service] <Service>
      [-WhatIf]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

説明

Update-SCService コマンドレットは、Virtual Machine Manager (VMM) サービスのインスタンスを更新します。 使用できるサービスの種類は、従来のサービスとイメージ ベースのサービスの 2 つです。

従来のサービスでは、サービスを再デプロイすることなく、デプロイされた仮想マシンに更新プログラムが適用されます。 高速ですが、仮想ハード ディスクの変更、ネットワーク アダプターの削除、オペレーティング システムの設定の変更 (Windows Server の役割と機能を除く) は許可されません。

イメージ ベースのサービスでは、更新プログラムを使用して新しい仮想マシンがサービスにデプロイされます。 この種類のサービスは、プログラム ディスクにソフトウェア更新プログラムを適用するなど、階層の VHD を更新した後に最も頻繁に使用されます。

例 1: 従来のサービスを使用してサービスを更新する

PS C:\> $Service = Get-SCService -Name "Service01"
PS C:\> $SvcTemplate = Get-SCServiceTemplate -Name "ServiceTemplate01"
PS C:\> $PendingTemplate = New-SCServiceTemplate -ServiceTemplate $SvcTemplate -Name "ServiceTemplate01" -Release "RTM"
PS C:\> Set-SCService -Service $Service -PendingServiceTemplate $PendingTemplate
PS C:\> Update-SCService -Service $Service

最初のコマンドは、デプロイされたサービスである Service01 という名前のサービス オブジェクトを取得し、$Service変数にオブジェクトを格納します。

2 番目のコマンドは、ServiceTemplate01 という名前のサービス テンプレート オブジェクトを取得し、$SvcTemplate変数にオブジェクトを格納します。

3 番目のコマンドは、$SvcTemplateに格納されているサービス テンプレートの RTM リリースを作成します。

5 番目のコマンドは、サービス インスタンスの保留中のテンプレートを、$PendingTemplateに格納されている更新されたサービス テンプレートに設定します。

最後のコマンドは Service01 を更新します。

例 2: イメージ ベースのサービスを使用してサービスを更新する

PS C:\> $Service = Get-SCService -Name "Service02"
PS C:\> $SvcTemplate = Get-SCServiceTemplate -Name "ServiceTemplate02"
PS C:\> $PendingTemplate = New-SCServiceTemplate -ServiceTemplate $SvcTemplate -Name "ServiceTemplate02" -Release "RTM"
PS C:\> $WebTier = Get-SCComputerTierTemplate -ServiceTemplate $PendingTemplate -Name "Web Tier"
PS C:\> $WebTemplate = Get-SCVMTemplate -ComputerTierTemplate $WebTier | Set-SCVMTemplate -MemoryMB 2048
PS C:\> $BaseDisk2 = Get-SCVirtualHardDisk -Name "Win2k8R2BaseDisk_Patched.vhd"
PS C:\> $VHD = Get-SCVirtualDiskDrive -VMTemplate $WebTemplate 
PS C:\> Remove-SCVirtualDiskDrive -VirtualDiskDrive $VHD
PS C:\> New-SCVirtualDiskDrive -VirtualHardDisk $BaseDisk2 -VMTemplate $WebTemplate -BootVolume -SystemVolume -Bus 0 -LUN 0 -IDE -VolumeType BootAndSystem

PS C:\> Set-SCService -Service $Service -PendingServiceTemplate $PendingTemplate 
PS C:\> Update-SCService -Service $Service

最初のコマンドは、Service02 という名前のサービス オブジェクトを取得し、$Service変数にオブジェクトを格納します。

2 番目のコマンドは、ServiceTemplate02 という名前のサービス テンプレート オブジェクトを取得し、そのオブジェクトを $SvcTemplate 変数に格納します。

3 番目のコマンドは、$SvcTemplateに格納されているサービス テンプレートの新しいリリースを作成し、ServiceTemplate02 という名前を付け、RTM のリリースを提供し、テンプレートを$PendingTemplateに格納します。

4 番目のコマンドは、$PendingTemplateに格納されているサービス テンプレートの Web Tier という名前のコンピューター層オブジェクトを取得し、$WebTier変数にオブジェクトを格納します。

5 番目のコマンドは、$WebTierに格納されているコンピューター層の仮想マシン テンプレートにメモリを追加します。

6 番目のコマンドは、Win2k8R2BaseDisk_Patched.vhd という名前の仮想ハード ディスク オブジェクトを取得し、$BaseDisk 2 変数にオブジェクトを格納します。 この仮想ハード ディスクには、オペレーティング システムの更新バージョンが含まれています。

7 番目のコマンドは、$WebTemplateに格納されている仮想マシン テンプレート上の仮想ディスク ドライブ オブジェクトを取得し、そのオブジェクトを $VHD 変数に格納します。

8 番目のコマンドは、$VHDに格納されている仮想ディスク ドライブ オブジェクトを削除します。

9 番目のコマンドは、$BaseDisk 2 に格納されている仮想ハード ディスク オブジェクトを、$WebTemplateに格納されている仮想マシン テンプレート オブジェクトに追加します。

10 番目のコマンドは、サービス インスタンスの保留中のテンプレートを、$PendingTemplateに格納されている更新されたサービス テンプレートに設定します。

最後のコマンドは Service02 を更新します。

パラメーター

-JobVariable

ジョブの進行状況を追跡して、このパラメーターで示す名前の変数に保管するように指定します。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUser

ユーザー名を指定します。 このコマンドレットは、このパラメーターで指定されたユーザーに代わって動作します。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

ユーザー ロールを指定します。 ユーザー ロールを取得するには、 Get-SCUserRole コマンドレットを 使用します。 このコマンドレットは、このパラメーターが指定するユーザー ロールに代わって動作します。

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

このアクションをトリガーしたパフォーマンスとリソースの最適化のヒント (PRO ヒント) の ID を指定します。 このパラメーターを使用すると、PRO のヒントを監査できます。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

コントロールがコマンド シェルにすぐに戻るように、ジョブが非同期的に実行されることを示します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Service

VMM サービス オブジェクトを指定します。

Type:Service
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ShowActions

実行されるすべてのサービスおよびオーケストレーション アクションを表示します。 このパラメーターは、デバッグに役立ちます。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMMServer

VMM サーバー オブジェクトを指定します。

Type:ServerConnection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

出力

Service

このコマンドレットは 、Service オブジェクトを返します。

メモ

  • Get-SCService コマンドレットを使用して取得できる VMM サービス オブジェクトが必要です。