我从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的任何想法?
答案 0 :(得分:0)
事实证明问题与-NetworkName变量不完全匹配。必须准确,包括案例。 例如:我正在喂它“10.30.80.0/21(VL712)”但是在左括号之前应该有一个空格来匹配实际的网络名称。