Я скопировал этот пример (пример 5) с https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Set-NetworkAdapter.html и немного изменен для моего собственного использования, но выдает ошибку:
Get-VM SDBNAPPQA03 | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName "10.30.88.0/21(VL712)" -Confirm:$false
Set-NetworkAdapter : 7/2/2013 8:07:05 AM Set-NetworkAdapter Object reference not set to an instance of an object.
At line:1 char:43
+ Get-VM SDBNAPPQA03 | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName "10.30 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-NetworkAdapter], VimException
+ FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.VirtualDevice.SetNetworkAdapter
Я получаю объект адаптера из Get-NetworkAdapter:
Get-VM SDBNAPPQA03 | Get-NetworkAdapter | Get-Member
TypeName: VMware.VimAutomation.ViCore.Impl.V1.VirtualDevice.NetworkAdapterImpl
Name MemberType Definition
---- ---------- ----------
ConvertToVersion Method T VersionedObjectInterop.ConvertToVersion[T]()
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
IsConvertableTo Method bool VersionedObjectInterop.IsConvertableTo(type type)
LockUpdates Method void ExtensionData.LockUpdates()
ToString Method string ToString()
UnlockUpdates Method void ExtensionData.UnlockUpdates()
Client Property VMware.VimAutomation.ViCore.Interop.V1.VIAutomation Client {get;}
ConnectionState Property VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.ConnectInfo ConnectionState {get;}
ExtensionData Property System.Object ExtensionData {get;}
Id Property string Id {get;}
MacAddress Property string MacAddress {get;}
Name Property string Name {get;}
NetworkName Property string NetworkName {get;}
Parent Property VMware.VimAutomation.Sdk.Types.V1.VIObject Parent {get;}
ParentId Property string ParentId {get;}
Type Property VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.VirtualNetworkAdapterType Type {get;}
Uid Property string Uid {get;}
WakeOnLanEnabled Property bool WakeOnLanEnabled {get;}
Я могу без проблем установить имя сети в консоли vCenter.
Я также попробовал следующую команду с тем же результатом:
(Get-VM SDBNAPPQA03).Guest.Nics.Device | Set-NetworkAdapter -NetworkName "10.30.88.0/21(VL712)" -Confirm:$False
Я подтвердил правильность имени сети в раскрывающемся списке vCenter для этой виртуальной машины. И я пробовал другие варианты из списка.
Любые идеи о том, как установить NetworkAdapter?