Управление объектами 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 командлета и параметр MemberType
параметр «свойство». Например для получения свойств для логическую сеть, получить объект логической сети и затем использовать конвейерный оператор (|) передает объект командлету 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 командлета и параметр 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