管理 VMM 对象

 

适用于: System Center 2012 R2 Virtual Machine Manager,System Center 2012 - Virtual Machine Manager

Windows PowerShell 基于面向对象的编程和 Microsoft.NET Framework 类。 对象包含以下类型的数据︰ 对象的类型、 其方法和其属性。

VMM 对象

在处理时 System Center 2012 – Virtual Machine Manager (VMM) 对象,可以使用它们的属性和方法来操作数据并执行特定操作。 属性 包含有关对象状态的信息。 方法 是您可以对对象所表示的项执行的操作。 方法可以返回数据。 有关使用 Windows PowerShell 对象的详细信息,请参阅 about_Objects

属性

您可以通过使用对象的可用属性 Get-member cmdlet 并设置 MemberType 为"property"参数。 例如,若要获取的逻辑网络的属性,获取该逻辑网络对象,然后使用管道运算符 (|) 将对象发送到 Get-member。

PS C:\> Get-SCLogicalNetwork -Name "LogicalNetwork01" | Get-Member -MemberType property  
  
   TypeName: Microsoft.SystemCenter.VirtualMachineManager.LogicalNetwork  
  
Name              MemberType Definition  
----              ---------- ----------  
Description       Property   System.String Description {get;}  
ID                Property   System.Guid ID {get;}  
IsFullyCached     Property   System.Boolean IsFullyCached {get;}  
IsViewOnly        Property   System.Boolean IsViewOnly {get;}  
MarkedForDeletion Property   System.Boolean MarkedForDeletion {get;}  
Name              Property   System.String Name {get;}  
ObjectType        Property   Microsoft.VirtualManager.Utils.CarmineObjectType ObjectType {get;}  
ServerConnection  Property   Microsoft.SystemCenter.VirtualMachineManager.Remoting.ServerConnection Server...  

您可以通过使用点法来获取属性的值。 获取对该对象,例如包含的对象的变量的引用,或键入可获取该对象的命令。 然后,键入句点 (.) 后, 跟属性名称。 下面的示例获取为逻辑网络对象的 Name 属性的值。

PS C:\> $LogNet01 = Get-SCLogicalNetwork -Name "LogicalNetwork01"  
PS C:\> $LogNet01.Name  
LogicalNetwork01  

有关 Windows PowerShell 属性的详细信息,请参阅 about_Properties

方法

可以通过使用获取的对象的可用方法 Get-member cmdlet 并设置 MemberType "方法"的参数。 例如,若要获取的逻辑网络的方法,获取该逻辑网络对象,然后使用管道运算符 (|) 将对象发送至 Get-member

PS C:\> Get-SCLogicalNetwork -Name "LogicalNetwork01" | Get-Member -MemberType method  
  
   TypeName: Microsoft.SystemCenter.VirtualMachineManager.LogicalNetwork  
  
Name           MemberType Definition  
----           ---------- ----------  
CompareTo      Method     int CompareTo(System.Object obj)  
Equals         Method     bool Equals(System.Object obj)  
GetHashCode    Method     int GetHashCode()  
GetType        Method     type GetType()  
OnAddedToCache Method     System.Void OnAddedToCache()  
ToString       Method     string ToString()  

若要调用一种方法,键入对该对象,例如包含的对象的变量的引用,然后指定方法名称,用句点分隔的对象引用和方法。 若要将参数传递给该方法,请用直接在方法名称后面的括号括起来参数。 一组空的括号指示该方法需要任何参数;但是,参数的空集仍需要。 下面的示例使用 GetType 方法返回一个逻辑网络的基类型。

PS C:\> $LogNet01.GetType
()  
  
IsPublic IsSerial Name                                     BaseType  
-------- -------- ----                                     --------  
True     False    LogicalNetwork                           Microsoft.SystemCenter.VirtualMachineManager.Cl...  

有关 Windows PowerShell 方法的详细信息,请参阅 about_Methods

对象同步

VMM 使其对象同步。 也就是说,如果您创建两个变量,然后更改任一变量中存储的对象的属性,VMM 将在同步这两个变量中的对象属性。 下面的示例演示如何获取同步逻辑网络对象存储在两个变量的名称︰

# Get LogicalNetwork01 and store it in a variable.  
PS C:\> $LogNet01 = Get-SCLogicalNetwork -Name "LogicalNetwork01"  
# Take a look at the name of the logical network stored in $LogNet01.  
PS C:\> $LogNet01.Name  
LogicalNetwork01  
  
# Get LogicalNetwork01 and store it in a second variable.  
PS C:\> $LogNet02 = Get-SCLogicalNetwork -Name "LogicalNetwork01"  
# Take a look at the name of the logical network stored in $LogNet02.  
PS C:\> $LogNet02.Name  
LogicalNetwork01  
  
# Change the name of the logical network object stored in $LogNet02  
PS C:\> Set-SCLogicalNetwork -LogicalNetwork $LogNet02 -Name "Backend"  
# Take a look at the name of the logical network stored in $LogNet02.  
PS C:\> $LogNet02.Name  
Backend  
  
# Now take a look at the name of the logical network stored in $LogNet01.   
# Note how the name property has been synchronized with the name change   
# made to the object stored in $LogNet02.  
PS C:\> $LogNet01.Name  
Backend  

另请参阅

VMM Cmdlet 帮助主题