我从https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Set-NetworkAdapter.html复制了这个示例(示例 5)并稍作修改以供我自己使用,但它抛出了一个错误:
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 得到一个 Adapter 对象:
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
我已从该 VM 的 vCenter 下拉列表中确认网络名称是正确的。我已经尝试了列表中的其他选择。
关于如何设置 NetworkAdapter 的任何想法?